논리 볼륨을 /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(/)의 데이터를 잃고 싶지 않습니다. 다른 논리 볼륨을 건드리지 않고 하나의 논리 볼륨만 확장할 수 있는 방법이 있습니까? 이것이 불가능하고 파티션을 삭제한 다음 추가된 공간으로 다시 만들어야 하는 경우 /root 및 /home의 모든 파일을 백업하는 것으로 충분합니까? 파티션을 다시 생성한 다음 lvs를 다시 생성하고 파일을 lvs에 다시 복사할 수 있습니까? 서버를 그대로 시작합니까? 안전 해요?
다른 볼륨을 건드리지 않고 Windows에서 논리 볼륨을 확장하는 것이 가능하다는 것을 알고 있지만 Linux에서 편리한지는 잘 모르겠습니다. 시스템은 Centos 7입니다.
답변1
가이드가 있습니다여기두 가지 옵션을 설명하십시오.
누구나
- 기존
pv
with 을 확장gparted
하고vg
with 크기를 조정vgextend /dev/xda2
한 다음lv
.
또는
pv
xda의 사용되지 않는 공간에 새 볼륨(xda3)을 생성하여 새 파티션을 추가하고vg
, 여기에 새 파티션을 추가한 후lv
새 공간으로 확장합니다.
두 경우 모두 용량을 사용할 수 있도록 파일 시스템의 크기를 조정해야 하지만 lvextend -r
크기를 조정하면서 이를 사용할 수 있습니다.
파티션 스키마를 보면 여유 공간은 xda2에 인접하고 두 옵션 중 하나가 가능하지만 옵션 1이 미적으로 더 좋습니다(위 링크의 @Patrick 게시물 참조).
실제로 (논리적) 파티션을 건드리지 않기 때문에 root
라이브 시스템에서 이 작업을 수행할 수 있어야 합니다. 그렇지 않은 경우 라이브 USB가 필요합니다.