파티션 내 다른 lv의 데이터 손실 없이 lv를 확장하는 방법

파티션 내 다른 lv의 데이터 손실 없이 lv를 확장하는 방법

/home에 마운트된 논리 볼륨을 확장하고 싶습니다.

lsblk
NAME                     MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sr0                       11:0    1 1024M  0 rom
xvda                     202:0    0  125G  0 disk
├─xvda1                  202:1    0  500M  0 part /boot
└─xvda2                  202:2    0 74.5G  0 part
  ├─centos_jenslv05-root 253:0    0   48G  0 lvm  /
  ├─centos_jenslv05-swap 253:1    0    3G  0 lvm  [SWAP]
  └─centos_jenslv05-home 253:2    0 23.5G  0 lvm  /home

보시다시피 xvda는 125GB이고 xvda1 + xvda2는 합쳐서 75GB에 불과합니다. 추가 50GB는 centos_jenslv05-home 논리 볼륨에 추가하고 싶은 것입니다.

베트남 후 증후군

pvs
  PV         VG              Fmt  Attr PSize  PFree
  /dev/xvda2 centos_jenslv05 lvm2 a--  74.51g    0

VGS

vgs
  VG              #PV #LV #SN Attr   VSize  VFree
  centos_jenslv05   1   3   0 wz--n- 74.51g    0

LVS

lvs
  LV   VG              Attr       LSize  Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  home centos_jenslv05 -wi-ao---- 23.45g
  root centos_jenslv05 -wi-ao---- 48.04g
  swap centos_jenslv05 -wi-ao----  3.02g

따라서 기본적으로 dev/xvda2 파티션을 확장하여 PV에 추가하고 VG에 추가한 다음 홈에 마운트된 LVM에 추가해야 합니다.

그러나 홈 lv(/home)와 동일한 파티션에 있는 루트 lv(/)의 데이터를 잃고 싶지 않습니다. 다른 LV를 건드리지 않고 하나의 논리 볼륨만 확장할 수 있는 방법이 있습니까? 불가능하고 파티션을 삭제한 다음 추가 공간으로 다시 만들어야 하는 경우 /root 및 /home의 모든 파일을 백업하는 것으로 충분합니까? 파티션을 다시 생성한 다음 lvs를 다시 생성하고 파일을 다시 lvs에 복사하면 서버가 원래대로 시작됩니까? 안전 해요?

Windows에서는 다른 볼륨을 건드리지 않고 논리 볼륨을 확장하는 것이 가능하다는 것을 알고 있지만 Linux에서도 편리한지는 확실하지 않습니다. 시스템은 Centos 7입니다.

답변1

가이드가 있습니다여기2가지 옵션을 설명합니다.

어느 하나

  1. 기존을 확장 pv하고 gparted, vg크기를 조정한 vgextend /dev/xda2다음 를 확장하세요 lv.

또는

  1. pvxda의 사용되지 않은 공간에 새 볼륨(xda3)을 생성하여 새로 추가하고 , 새 파티션을 추가한 vg다음 lv새 공간으로 확장합니다.

두 경우 모두 용량을 사용할 수 있도록 파일 시스템의 크기를 조정해야 하지만 lvextend -r크기를 조정할 때 를 사용하여 이 작업을 수행할 수 있습니다.

파티션 스키마를 살펴보면 여유 공간이 xda2와 연속되어 있으며 두 옵션 중 하나가 실행 가능하지만 옵션 1이 미학적으로 더 좋습니다(위 링크의 @Patrick 게시물 참조).

실제로 (논리적) 파티션을 건드리지 않기 때문에 root라이브 시스템에서 이 작업을 수행할 수 있어야 합니다. 그렇지 않다면 라이브 USB가 필요합니다.

관련 정보