물리적 하드웨어에 물리적 Redhat RHEL 6.10 시스템이 있고 이를 vmware로 가상화하려고 합니다. 가상화를 위한 백업에는 dd를 사용합니다. 이제 문제는 가상 머신이 여전히 전체 146GB의 SAS 디스크 데이터 공간(원시)을 차지하지만 실제 데이터는 27GB의 디스크 공간만 차지한다는 것입니다.
resize2fs 및 lvreduce 명령을 사용하여 /dev/mapper/vg_sb00681-lv_root 및 /dev/mapper/vg_sb00681-lv_home 파티션의 논리 볼륨 크기를 조정했습니다(아래 설명 참조).https://www.linuxtechi.com/reduce-size-lvm-partition/) 루트 파티션은 20GB이고 메인 파티션은 5GB입니다. 보시다시피 파티션이 축소되었습니다. 여전히 문제 없습니다.
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg_sb00681-lv_root 20G 9.8G 8.9G 53% /
tmpfs 931M 0 931M 0% /dev/shm
/dev/sda1 477M 105M 347M 24% /boot
/dev/mapper/vg_sb00681-lv_home 4.8G 1.5G 3.2G 32% home
이제 GParted를 사용하면 LVM 파티션의 여유 공간을 확보할 수 없습니다.
파티션을 축소/이동하려고 하면 GParted가 발생하고 오류가 발생합니다. 에러 메시지:
shrink file system
lvm pvresize -v --yes --setphysicalvolumesize 34433024K '/dev/sda2'
0 physical volume(s) resized or updated / 1 physical volume(s) not resized
Archiving volume group "vg_sb00681" metadata (seqno 32).
WARNING: /dev/sda2: Pretending size is 68866048 not 285650944 sectors.
Resizing volume "/dev/sda2" to 68866048 sectors.
Resizing physical volume /dev/sda2 from 34869 to 8406 extents.
/dev/sda2: cannot resize to 8406 extents as later ones are allocated.
그래서 물리 확장 영역을 물리 볼륨 끝으로 이동하기 위해 pvmove를 사용해 보았습니다. 물리 볼륨 사이에 여유 디스크 공간을 제공하지만 여유 공간을 끝까지 채울 수는 없습니다. 다음 단계가 무엇인지, 디스크 공간을 절약하기 위해 가상 머신의 파티션을 줄일 수 있는지 모르겠습니다.
ubuntu@ubuntu:-$ sudo pvs -v --segments /dev/sda2
PV VG Fmt Attr PSize PFree Start SSize LV Stat Type PE Ranges
/dev/sda2 vg_sb00681 lvm2 a-- <136.21g 103.37g 0 2006 lv_swap 0 linear /dev/sda2:0-2005
/dev/sda2 vg_sb00681 lvm2 a-- <136.21g 103.37g 2006 16812 0 free
/dev/sda2 vg_sb00681 lvm2 a-- <136.21g 103.37g 18818 5120 lv_root 0 linear /dev/sda2:18818-23937
/dev/sda2 vg_sb00681 lvm2 a-- <136.21g 103.37g 23938 1280 lv_home 0 linear /dev/sda2:23938-25217
/dev/sda2 vg_sb00681 lvm2 a-- <136.21g 103.37g 25218 9651 0 free
누군가 나에게 어떤 아이디어나 조언을 줄 수 있나요?
답변1
pvmove
범위를 이동 해야 합니다 . 원본과 대상이 동일한 디스크에 있으므로 다음 --alloc anywhere
옵션이 필요합니다.
pvmove --alloc anywhere /dev/sda2:18818-23937 /dev/sda2:2006-7125 # lv_root
pvmove --alloc anywhere /dev/sda2:23938-25217 /dev/sda2:7126-8405 # lv_home
LV가 마운트되어 사용 중인 동안에도 이 작업을 수행할 수 있지만, 시스템 디스크 I/O 부하가 높을 때는 이 작업을 수행하지 마십시오.
이러한 명령 이후 첫 번째 여유 물리적 범위는 8406번이어야 하며 해당 물리적 범위부터 PV 끝까지의 모든 항목이 비어 있어야 하므로 이제 PV를 줄일 수 있습니다.