LVM을 병합하는 방법

LVM을 병합하는 방법

내 동료가 정확히 무엇을 했는지는 모르지만 그가 LVM 크기를 늘리려고 했다는 것은 알고 있습니다. 이제 명령을 실행하면 다음과 같은 출력을 볼 수 있습니다 lsblk.

NAME          MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
fd0             2:0    1    4K  0 disk
sda             8:0    0  100G  0 disk
├─sda1          8:1    0    1G  0 part /boot
├─sda2          8:2    0   39G  0 part
│ ├─rhel-root 253:0    0   95G  0 lvm  /
│ └─rhel-swap 253:1    0    4G  0 lvm  [SWAP]
└─sda3          8:3    0   60G  0 part
  └─rhel-root 253:0    0   95G  0 lvm  /

보시다시피 rhel-root및 아래에 동일한 이름이 두 개 있으며 둘 다 루트 디렉터리에 마운트되어 있습니다.sda2sda3/

그러나 출력은 다음과 df -h같습니다.

Filesystem             Size  Used Avail Use% Mounted on
devtmpfs               3.9G     0  3.9G   0% /dev
tmpfs                  3.9G     0  3.9G   0% /dev/shm
tmpfs                  3.9G  9.6M  3.9G   1% /run
tmpfs                  3.9G     0  3.9G   0% /sys/fs/cgroup
/dev/mapper/rhel-root   35G   28G  7.3G  80% /
/dev/sda1             1014M  285M  730M  29% /boot
tmpfs                  783M  8.0K  783M   1% /run/user/42
tmpfs                  783M     0  783M   0% /run/user/1001

크기는 /여전히 35G인 것으로 보이며, 이는 확장이 없음을 의미합니다.

병합해야 할 것 같은데 sda3sda2문제를 해결하는 방법을 모르겠습니다.

출력 lvs:

  LV   VG   Attr       LSize  Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  root rhel -wi-ao---- 94.99g
  swap rhel -wi-ao----  4.00g

출력 vgs:

  VG   #PV #LV #SN Attr   VSize  VFree
  rhel   2   2   0 wz--n- 98.99g    0

출력 pvs:

  PV         VG   Fmt  Attr PSize   PFree
  /dev/sda2  rhel lvm2 a--  <39.00g    0
  /dev/sda3  rhel lvm2 a--  <60.00g    0

출력 vgdisplay:

  --- Volume group ---
  VG Name               rhel
  System ID
  Format                lvm2
  Metadata Areas        2
  Metadata Sequence No  9
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                2
  Open LV               2
  Max PV                0
  Cur PV                2
  Act PV                2
  VG Size               98.99 GiB
  PE Size               4.00 MiB
  Total PE              25342
  Alloc PE / Size       25342 / 98.99 GiB
  Free  PE / Size       0 / 0
  VG UUID               tPY1JO-AwK2-ULra-Matz-5VVy-lxWK-CL60ng

답변1

rhel-root귀하의 동료가 LV를 성공적으로 확장했으므로 lvextend이제 LV의 일부가 열려 sda2있고 다른 부분도 열려 있습니다 sda3. 그러나 LV 내의 파일 시스템은 아직 확장되지 않았습니다.

rhel-rootLV 는 하나만 있지만 lsblk여기에 표시되는 방식은 약간 혼란스러울 수 있습니다. LV의 전체 크기를 각 개별 부분에 상대적으로 표시합니다.

sda2PV는 VG sda3에 병합되었으므로 rhel해당 VG 내의 LV는 단일 PV의 한계를 넘어 성장할 수 있습니다. 분명히 동료는 루트 파일 시스템이 포함된 파티션을 동적으로 편집하는 것과 관련된 위험을 피하고 새 공간으로 새 파티션을 만들고 이를 기존 VG에 새 PV로 추가하기를 원했습니다. 제 생각에는 이것이 부팅 가능한 디스크에서 VG를 확장하는 가장 안전한 방법입니다. PV로 여러 파티션이 남게 되어 깔끔함이 손상될 수 있지만 실제로는 다른 중요한 영향은 없습니다.


이 시점에서도 원하는 경우 삭제 sda3하고 확장 할 수 있습니다 sda2. 절차는 다음과 같습니다.

먼저 lvreduceLV를 root원래 모양으로 매우 조심스럽게 축소합니다. LVM 백업 파일을 사용하여 /etc/lvm/archive정확한 크기를 알아내거나 lvdisplay -m /dev/mapper/rhel-rootPV에 있는 익스텐트 수를 확인 sda2하고 해당 값을 사용할 수 있습니다.이 작업을 수행하기로 선택한 경우 LV를 그 안에 있는 파일 시스템의 현재 크기보다 작게 축소하지 않도록 매우 주의해야 합니다.파일 시스템의 꼬리 부분을 조금이라도 잘라내고 싶지는 않을 것입니다.

sda3그런 다음 VG를 확장하여 새 공간을 차지하기 위해 VGrhelvgreduce rhel /dev/sda3sda3sda2partprobe /dev/sdapartprobepvresize /dev/sda2rhelsda2lvextend -l +100%FREE /dev/mapper/rhel-rootroot

이제 당신은 동료와 같은 상황에 있지만 미학적 불쾌감은 없습니다 sda3.


동료가 놓친 마지막 단계는 실제로 LV의 증가된 용량을 활용하기 위해 파일 시스템을 확장하는 것이었습니다. 출력 /rundf -hVG 이름이 있는 것으로 볼 때 rhel시스템이 RHEL 7 이상이라고 가정합니다. 따라서 기본 파일 시스템 유형은 XFS입니다. 즉, 파일 시스템을 확장하는 명령은 다음과 같습니다.

fsadm resize /dev/mapper/rhel-root

또는

xfs_growfs /

참고: 이 작업을 수행하기 전에 신중하게 생각하십시오.현재 XFS 파일 시스템을 온라인이나 오프라인으로 축소하기 위한 프로덕션 품질 도구는 없습니다.따라서 파일 시스템을 확장한 후에는 더 작은 크기로 축소할 수 없습니다.

sda3이 명령은 삭제 및 확장을 선택하든 , 동료의 작업을 그대로 유지하든 sda2동일합니다 .

관련 정보