여유 공간이 있는 LVM 물리 볼륨을 축소하는 방법

여유 공간이 있는 LVM 물리 볼륨을 축소하는 방법

LVM 물리 볼륨을 축소하고 이 여유 공간을 사용하여 다른 운영 체제를 위한 또 다른 파티션을 생성하고 싶습니다.

다음을 사용하여 루트 및 기본 논리 볼륨의 크기를 조정했으며 lvresize이제 사용하려고 pvresize하지만 다음 오류가 발생합니다.

/dev/sda2: cannot resize to xxxxx extents as later ones are allocated.

이 PV의 여유 공간은 두 개의 논리 볼륨으로 나누어져 있기 때문에 파티션을 축소할 수 없는 것 같습니다.

출력은 pvs -v --segments /dev/sda2다음과 같습니다

PV         VG        Fmt  Attr PSize   PFree   Start SSize LV      Start Type   PE Ranges             
  /dev/sda2  volgroup0 lvm2 a--  446.64g 148.00g     0  7680 lv_root     0 linear /dev/sda2:0-7679      
  /dev/sda2  volgroup0 lvm2 a--  446.64g 148.00g  7680 51712 lv_home     0 linear /dev/sda2:7680-59391  
  /dev/sda2  volgroup0 lvm2 a--  446.64g 148.00g 59392 37888             0 free                         
  /dev/sda2  volgroup0 lvm2 a--  446.64g 148.00g 97280 17060 lv_root  7680 linear /dev/sda2:97280-114339

여유 공간은 세그먼트 59392와 97279 사이에 할당됩니다. 여유 공간을 다른 세그먼트로 옮기는 것이 가능한 것은 알지만 pmove, 솔직히 어떻게 사용하는지 모르겠고, 데이터가 손상될까봐 걱정됩니다.

누구든지 이 문제를 해결하도록 도와줄 수 있나요? 감사해요!

답변1

pvmove는 여유 공간이 아닌 세그먼트를 이동합니다. 17061 세그먼트인 세그먼트 59392에서 시작하려면 이 범위 /dev/sda2:97280-114339를 이동해야 합니다.

~에 따르면이것당신은:

# pvmove --alloc anywhere /dev/sda2:97280-114339 /dev/sda2:59392-76453

그런 다음 PV의 크기를 조정하고 파티션을 나누고 여유 공간을 즐기십시오. LVM이 자신의 발에 총을 쏘는 것을 피하려고 노력하는 동안 이는 위험한 작업입니다. 데이터가 손실되면 문제가 발생할 수 있습니다.파손될 가능성이 높으므로 먼저 백업하십시오.. 또는 Linux VM을 생성하고 확신이 들 때까지 이 명령을 테스트할 수 있습니다.

관련 정보