시작 시 /dev/mapper/rhel-root가 존재하지 않는 문제를 해결하는 방법은 무엇입니까?

시작 시 /dev/mapper/rhel-root가 존재하지 않는 문제를 해결하는 방법은 무엇입니까?

나는 몸집을 키워보려고 노력했다 /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/sda3lvextend -L+1G /dev/mapper/rhel-root/dev/mapper/rhel-rootsda3homevarswap

시간을 내주셔서 정말 감사합니다!

편집 1: 구조 모드 출력

시작 메시지: 시작하다

시스템 로그 출처:journalctl 로그 1

로그 2

변경하기 전 파일 시스템: 앞으로

이후(구조 모드에서): 뒤쪽에

편집 2: [해결책] 단계는 다음과 같습니다. 복구 모드에서 fdiskresize(d, n, t)를 사용하십시오 /dev/sda3. 그런 다음 vgscan -ay /dev/sda3LV( root, var, swap, )를 활성화하는 데 사용됩니다 home. 그런 다음 이를 사용하여 lvscan모든 LV가 정상적으로 활성화되었는지 확인합니다. 지난번 root에는 제가 하지 않아서 활성화가 되지 않았습니다 fdisk. 마지막으로 exit복구 모드에 진입하여 시스템을 정상적으로 시작하면 정상적으로 시작됩니다. 이제 df -ThLV는 동일한 크기로 표시됩니다 . 그래서 파일을 확장하고 lvextend -L+99G /dev/mapper/rhel-root -r(파일에 99GB를 추가하고 싶습니다 ) 을 사용하여 크기를 조정했습니다 . 이것이 나에게 많은 어려움을 안겨주었기 때문에 옵션을 잊지 마세요 .rootroot-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

두 가지 질문이 있습니다:

  1. /dev/sda3파티션 크기를 조정하는 것이 아니라 물리적 볼륨의 "형식"만 조정하는 것입니다. parted파티션을 사용 하거나 크기를 조정한 fdisk다음 pvresizeLVM PV 형식을 파티션 크기에 맞게 크기 조정을 사용해야 합니다 pvresize /dev/sda3( --setphysicalvolumesize이렇지 않으면 PV는 파티션 크기에 맞게 크기가 조정됩니다). rhel/root그런 다음 논리 볼륨을 활성화할 수 있어야 합니다 .

  2. 논리 볼륨의 파일 시스템 크기를 조정하지 않았습니다 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와 그 안에 있는 파일 시스템을 확장할 수 있어야 합니다.

관련 정보