나는 몸집을 키워보려고 노력했다 /dev/mapper/rhel-root
. 136GB의 여유 공간이 있습니다. 테스트를 위해 GNOME Disk GUI에서 ext4, 2GB를 설치한 다음 제거했습니다. pvresize --setphysicalvolumesize 1.8TB /dev/sda3
명령을 사용하여 /dev/sda3
용량을 1.7TB에서 1.8TB로 늘렸습니다. ,,,다운이 있어요 /dev/mapper/rhel-root
. /dev/mapper/rhel-home
그 후 루트를 100GB에서 101GB로 늘렸습니다. 이때 시스템이 정지되어 시스템을 재부팅했습니다. 이제 컴퓨터를 부팅하면 존재하지 않는다고 불평합니다. 복구 모드로 로그인하여 파일 시스템 활성화를 시도했는데 루트는 활성화되지 않았으나 나머지 3개(,,)는 활성화되었습니다. 이 문제를 해결하는 방법을 제안해 주실 수 있나요?/dev/mapper/rhel-var
/dev/mapper/rhel-swap
/dev/sda3
lvextend -L+1G /dev/mapper/rhel-root
/dev/mapper/rhel-root
sda3
home
var
swap
시간을 내주셔서 정말 감사합니다!
편집 2: [해결책] 단계는 다음과 같습니다. 복구 모드에서 fdisk
resize(d, n, t)를 사용하십시오 /dev/sda3
. 그런 다음 vgscan -ay /dev/sda3
LV( root
, var
, swap
, )를 활성화하는 데 사용됩니다 home
. 그런 다음 이를 사용하여 lvscan
모든 LV가 정상적으로 활성화되었는지 확인합니다. 지난번 root
에는 제가 하지 않아서 활성화가 되지 않았습니다 fdisk
. 마지막으로 exit
복구 모드에 진입하여 시스템을 정상적으로 시작하면 정상적으로 시작됩니다. 이제 df -Th
LV는 동일한 크기로 표시됩니다 . 그래서 파일을 확장하고 lvextend -L+99G /dev/mapper/rhel-root -r
(파일에 99GB를 추가하고 싶습니다 ) 을 사용하여 크기를 조정했습니다 . 이것이 나에게 많은 어려움을 안겨주었기 때문에 옵션을 잊지 마세요 .root
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
답변1
두 가지 질문이 있습니다:
/dev/sda3
파티션 크기를 조정하는 것이 아니라 물리적 볼륨의 "형식"만 조정하는 것입니다.parted
파티션을 사용 하거나 크기를 조정한fdisk
다음pvresize
LVM PV 형식을 파티션 크기에 맞게 크기 조정을 사용해야 합니다pvresize /dev/sda3
(--setphysicalvolumesize
이렇지 않으면 PV는 파티션 크기에 맞게 크기가 조정됩니다).rhel/root
그런 다음 논리 볼륨을 활성화할 수 있어야 합니다 .논리 볼륨의 파일 시스템 크기를 조정하지 않았습니다
root
.resize2fs /dev/mapper/rhel-root
파일 시스템의 크기를 LV 크기로 조정하는 데 사용됩니다root
(resize2fs
파일 시스템에 적합한 도구로 대체rhel/root
).
답변2
Vojtech Trefny가 이미 설명했듯이 PV의 크기를 실제로 수용할 수 있는 파티션보다 더 크게 조정하는 것은 좋지 않습니다.
다행스럽게도 아직 파일 시스템의 크기를 조정하지 않았습니다. 이렇게 하면 되돌리기가 더 쉬워집니다.
lvm vgchange -ay --partial --activationmode degraded
구조 모드에서는 표시하는 데 사용해야 합니다 /dev/mapper/rhel-root
. (이러한 추가 옵션을 사용하면 분명히 누락된 부품이 있는 LV를 활성화할 수 있는데, LVM은 특별히 요청하지 않는 한 이를 원하지 않습니다.)
그런 다음 수동으로 설치해야 합니다 mount /dev/mapper/rhel-root /mnt/sysimage
.
그 후에는 에 있는 LVM 구성 아카이브에 액세스할 수 있습니다 /etc/lvm/archive
. 이제 루트 파일 시스템이 에 마운트되었으므로 /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 PV( pvcreate /dev/sdaX
여기서 X는 새 파티션)에 넣은 다음 새 파티션을 추가합니다. PV를 기존 VG로 분할: vgextend rhel /dev/sdaX
. 그런 다음 루트 LV와 그 안에 있는 파일 시스템을 확장할 수 있어야 합니다.