我试图增加我的/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 (home
、var
、swap
)已经激活。你能建议我怎么解决这个问题吗?
非常感谢您的时间!
编辑1:
启动消息:
来自journalctl
的系统日志
在进行任何更改之前,文件系统:
后(从救援模式):
EDIT2:解决方案步骤如下:在救援模式下,使用fdisk
来调整(d,n,t) /dev/sda3
的大小。然后用vgscan -ay /dev/sda3
激活LVs (root
、var
、swap
、home
)。然后使用lvscan
检查所有LV是否被正确激活。上一次root
没有被激活是因为我没有做fdisk
。最后,exit
救援模式,正常启动系统,并正常启动。现在,df -Th
为LV显示了相同的大小。因此,我使用lvextend -L+99G /dev/mapper/rhel-root -r
(我想为root
添加99 So )来扩展和调整root
的大小。别忘了-r
选项,因为这给我带来了很多麻烦。
前后:
[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
发布于 2020-12-31 19:44:09
有两个问题:
/dev/sda3
分区的大小,只调整其上的物理卷“格式”。您需要使用parted
或fdisk
调整分区的大小,然后使用pvresize
将LVM格式调整为使用pvresize /dev/sda3
的分区大小(没有--setphysicalvolumesize
,这只会将PV的大小调整为分区的大小)。在此之后,您应该能够激活rhel/root
逻辑卷。root
逻辑卷上调整文件系统的大小。使用resize2fs /dev/mapper/rhel-root
将文件系统大小调整为root
LV的大小(用适合于rhel/root
上的文件系统的工具替换resize2fs
)。发布于 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
。配置存档文件是文本文件。查找最近的归档文件,该文件在开头有一行如下所示:
description = "Created *before* executing 'pvresize --setphysicalvolumesize 1.8TB /dev/sda3'"
将其复制到救援环境的/tmp
(或/mnt/sysimage
以外的任何地方)。然后卸载问题文件系统:umount /mnt/sysimage
。
关闭恢复VG:lvm vgchange -an root
然后将LVM配置恢复到错误之前的状态:
lvm vgcfgrestore --file /tmp/<backupfile>.vg rhel
现在,您应该能够重新启动并回到您开始的位置。
正确的扩展方式是: A)首先扩展包含PV的分区,或者B)如果磁盘上的空闲空间不是紧接在sda3
分区之后,将空闲空间放入新分区,将该分区设置为LVM (pvcreate /dev/sdaX
其中X是新分区),然后将新的PV添加到现有的VG:vgextend rhel /dev/sdaX
中。之后,您应该能够扩展根LV,然后扩展其中的文件系统。
https://unix.stackexchange.com/questions/626931
复制相似问题