Partition

如何使用可用空間縮小 LVM 物理卷

  • March 10, 2021

我想縮小我的 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可以將空閒空間移動到另一個段,但老實說,我不知道如何使用它,而且我害怕破壞我的數據。

有人可以幫我嗎?謝謝!

pvmove 移動段,而不是可用空間。您需要將此範圍移動 /dev/sda2:97280-114339 以從段 59392 開始這些是 17061 段。

據此,應該:

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

然後調整 PV 大小,然後分區,然後享受你的空閒空間。雖然 LVM 試圖避免在自己的腳下開槍,但這是一項冒險的操作。如果您有任何數據失去後會給您帶來麻煩,請先備份它,因為您很可能會破壞它。此外,您可以創建一個 linux VM 並測試此命令,直到您對它有信心為止。

引用自:https://unix.stackexchange.com/questions/638465