首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何修复/dev/mapper/在启动时不存在的问题?

如何修复/dev/mapper/在启动时不存在的问题?
EN

Unix & Linux用户
提问于 2020-12-31 07:18:07
回答 2查看 9.4K关注 0票数 2

我试图增加我的/dev/mapper/rhel-root大小。我有136 of的空闲空间。为了进行测试,在GNOME磁盘图形界面上,我安装了ext4,2GB,然后卸载它。我使用pvresize --setphysicalvolumesize 1.8TB /dev/sda3命令将/dev/sda3从1.7TB增加到1.8TB。我有/dev/mapper/rhel-root/dev/mapper/rhel-home/dev/mapper/rhel-var/dev/mapper/rhel-swap/dev/sda3下面。之后,我使用lvextend -L+1G /dev/mapper/rhel-root将根目录从100 to增加到101 to。此时,当系统被冻结时,我重新启动系统。现在,当在启动时启动PC时,它会抱怨/dev/mapper/rhel-root不存在。我尝试登录到救援模式并激活sda3文件系统,但是我无法激活根目录,但其他3 (homevarswap)已经激活。你能建议我怎么解决这个问题吗?

非常感谢您的时间!

编辑1:

启动消息:

来自journalctl的系统日志

在进行任何更改之前,文件系统:

后(从救援模式):

EDIT2:解决方案步骤如下:在救援模式下,使用fdisk来调整(d,n,t) /dev/sda3的大小。然后用vgscan -ay /dev/sda3激活LVs (rootvarswaphome)。然后使用lvscan检查所有LV是否被正确激活。上一次root没有被激活是因为我没有做fdisk。最后,exit救援模式,正常启动系统,并正常启动。现在,df -Th为LV显示了相同的大小。因此,我使用lvextend -L+99G /dev/mapper/rhel-root -r (我想为root添加99 So )来扩展和调整root的大小。别忘了-r选项,因为这给我带来了很多麻烦。

前后:

代码语言:javascript
运行
复制
[root@ldo etc]# lvscan
  ACTIVE            '/dev/rhel/home' [1.46 TiB] inherit
  ACTIVE            '/dev/rhel/var' [20.00 GiB] inherit
  ACTIVE            '/dev/rhel/root' [101.00 GiB] inherit
  ACTIVE            '/dev/rhel/swap' [96.00 GiB] inherit
[root@ldo ~]# df -Th
Filesystem            Type      Size  Used Avail Use% Mounted on
devtmpfs              devtmpfs   32G     0   32G   0% /dev
tmpfs                 tmpfs      32G   47M   32G   1% /dev/shm
tmpfs                 tmpfs      32G   12M   32G   1% /run
tmpfs                 tmpfs      32G     0   32G   0% /sys/fs/cgroup
/dev/mapper/rhel-root xfs       100G   76G   25G  76% /
/dev/sda2             xfs        10G  226M  9.8G   3% /boot
/dev/sda1             vfat       10G   11M   10G   1% /boot/efi
/dev/mapper/rhel-home xfs       1.5T  130G  1.4T   9% /home
/dev/mapper/rhel-var  xfs        20G  3.9G   17G  20% /var
tmpfs                 tmpfs     6.3G   56K  6.3G   1% /run/user/0
/dev/sdb1             vfat       30G  4.5G   25G  16% /run/media/root/RHEL-7_8 SE
tmpfs                 tmpfs     6.3G   40K  6.3G   1% /run/user/1000
[root@ldo ~]# lvextend -L+99G /dev/mapper/rhel-root -r
  Size of logical volume rhel/root changed from 101.00 GiB (25856 extents) to 200.00 GiB (51200 extents).
  Logical volume rhel/root successfully resized.
meta-data=/dev/mapper/rhel-root  isize=512    agcount=4, agsize=6553600 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0 spinodes=0
data     =                       bsize=4096   blocks=26214400, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal               bsize=4096   blocks=12800, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
data blocks changed from 26214400 to 52428800
[root@ldo ~]# df -Th
Filesystem            Type      Size  Used Avail Use% Mounted on
devtmpfs              devtmpfs   32G     0   32G   0% /dev
tmpfs                 tmpfs      32G   46M   32G   1% /dev/shm
tmpfs                 tmpfs      32G   12M   32G   1% /run
tmpfs                 tmpfs      32G     0   32G   0% /sys/fs/cgroup
/dev/mapper/rhel-root xfs       200G   76G  125G  38% /
/dev/sda2             xfs        10G  226M  9.8G   3% /boot
/dev/sda1             vfat       10G   11M   10G   1% /boot/efi
/dev/mapper/rhel-home xfs       1.5T  130G  1.4T   9% /home
/dev/mapper/rhel-var  xfs        20G  3.9G   17G  20% /var
tmpfs                 tmpfs     6.3G   56K  6.3G   1% /run/user/0
/dev/sdb1             vfat       30G  4.5G   25G  16% /run/media/root/RHEL-7_8 SE
tmpfs                 tmpfs     6.3G   40K  6.3G   1% /run/user/1000
[root@ldo ~]# lvscan
  ACTIVE            '/dev/rhel/home' [1.46 TiB] inherit
  ACTIVE            '/dev/rhel/var' [20.00 GiB] inherit
  ACTIVE            '/dev/rhel/root' [200.00 GiB] inherit
  ACTIVE            '/dev/rhel/swap' [96.00 GiB] inherit
EN

回答 2

Unix & Linux用户

发布于 2020-12-31 19:44:09

有两个问题:

  1. 您没有调整/dev/sda3分区的大小,只调整其上的物理卷“格式”。您需要使用partedfdisk调整分区的大小,然后使用pvresize将LVM格式调整为使用pvresize /dev/sda3的分区大小(没有--setphysicalvolumesize,这只会将PV的大小调整为分区的大小)。在此之后,您应该能够激活rhel/root逻辑卷。
  2. 您没有在root逻辑卷上调整文件系统的大小。使用resize2fs /dev/mapper/rhel-root将文件系统大小调整为root LV的大小(用适合于rhel/root上的文件系统的工具替换resize2fs )。
票数 1
EN

Unix & Linux用户

发布于 2020-12-31 19:59:46

调整PV的大小,使其大小大于它实际所在的分区,这是一件错误的事情,正如Vojtech Trefny已经解释过的那样。

幸运的是,您还没有调整文件系统的大小:这使得这更容易逆转。

在救援模式下,您需要使用lvm vgchange -ay --partial --activationmode degraded来显示/dev/mapper/rhel-root。(这些额外的选项允许激活明显缺少部件的LVM,LVM不希望这样做,除非有特殊要求。)

然后您需要手动挂载它:mount /dev/mapper/rhel-root /mnt/sysimage

之后,您将可以访问位于/etc/lvm/archive的LVM配置存档。由于根文件系统现在在/mnt/sysimage上挂载,实际路径将是/mnt/sysimage/etc/lvm/archive。配置存档文件是文本文件。查找最近的归档文件,该文件在开头有一行如下所示:

代码语言:javascript
运行
复制
description = "Created *before* executing 'pvresize --setphysicalvolumesize 1.8TB /dev/sda3'"

将其复制到救援环境的/tmp (或/mnt/sysimage以外的任何地方)。然后卸载问题文件系统:umount /mnt/sysimage

关闭恢复VG:lvm vgchange -an root

然后将LVM配置恢复到错误之前的状态:

代码语言:javascript
运行
复制
lvm vgcfgrestore --file /tmp/<backupfile>.vg rhel

现在,您应该能够重新启动并回到您开始的位置。

正确的扩展方式是: A)首先扩展包含PV的分区,或者B)如果磁盘上的空闲空间不是紧接在sda3分区之后,将空闲空间放入新分区,将该分区设置为LVM (pvcreate /dev/sdaX其中X是新分区),然后将新的PV添加到现有的VG:vgextend rhel /dev/sdaX中。之后,您应该能够扩展根LV,然后扩展其中的文件系统。

票数 1
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/626931

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档