Lvm
擴展 lvm 時合適的可分配範圍不足
我有一個大約 127GB 可用空間的捲組 (vg)。我正在嘗試將邏輯卷擴展到 +50GB 但是我得到了
合適的可分配範圍不足
這很奇怪,因為 VG 上有足夠的空間來分配。您可以在下面找到有關我的 LV 設置的資訊:
root@server:~# df -h Filesystem Size Used Avail Use% Mounted on /dev/dm-0 19G 4.3G 15G 23% / udev 10M 0 10M 0% /dev tmpfs 19G 341M 19G 2% /run tmpfs 48G 0 48G 0% /dev/shm tmpfs 5.0M 0 5.0M 0% /run/lock tmpfs 48G 0 48G 0% /sys/fs/cgroup /dev/mapper/data-lvm1 158G 135G 24G 86% /srv/mongodb/lvm1 /dev/mapper/data-lvm2 543G 509G 35G 94% /srv/mongodb/lvm2 root@server:~# lvs LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert lvm1 data -wi-ao---- 160.00g lvm2 data -wi-ao---- 551.00g root local -wi-ao---- 19.31g swap local -wi-ao---- 11.18g root@server:~# vgs VG #PV #LV #SN Attr VSize VFree data 2 2 0 wz--l- 838.24g 127.24g local 1 2 0 wz--n- 136.70g 106.21g root@server:~# pvs PV VG Fmt Attr PSize PFree /dev/sda1 local lvm2 a-- 136.70g 106.21g /dev/sdb data lvm2 a-- 279.36g 119.36g /dev/sdc data lvm2 a-- 558.88g 7.88g root@server:~# lvextend -L +50G /dev/data/lvm2 Insufficient suitable allocatable extents for logical volume lvm2: 10783 more required root@server:~# vgscan Reading all physical volumes. This may take a while... Found volume group "data" using metadata type lvm2 Found volume group "local" using metadata type lvm2 root@server:~# pvscan PV /dev/sdb VG data lvm2 [279.36 GiB / 119.36 GiB free] PV /dev/sdc VG data lvm2 [558.88 GiB / 7.88 GiB free] PV /dev/sda1 VG local lvm2 [136.70 GiB / 106.21 GiB free] Total: 3 [974.94 GiB] / in use: 3 [974.94 GiB] / in no VG: 0 [0 ] root@server:~# lvscan ACTIVE '/dev/data/lvm1' [160.00 GiB] inherit ACTIVE '/dev/data/lvm2' [551.00 GiB] inherit ACTIVE '/dev/local/root' [19.31 GiB] inherit ACTIVE '/dev/local/swap' [11.18 GiB] inherit
數據 VG 中的 LV 使用“繼承”策略。VG 的策略是緊貼的,它試圖從同一個 PV 分配新的範圍。詳情請參閱
lvm(8)
。要覆蓋,您可以
lvextend
使用附加--alloc normal
選項執行命令,或者更改預設執行vgchange --alloc normal data
。
當我嘗試擴展我的一個 LV 時,我收到了相同的錯誤消息。該政策已設置為“正常”。就我而言,問題在於條帶化。我在兩個 PV 之上建構了 VG,並且 LV 在這兩個 PV 上進行了條帶化。當我再添加一個 PV 時,我無法再擴展 LV,因為它沒有兩個可用的 PV 來維持條帶化。
條帶設置的可用選項:
- 始終在組中添加 PV 以匹配條帶化(即,如果您有兩個條帶 LV,則添加兩個新 PV)。
- (如果上述方法不可行)使用禁用條帶擴展 LV (
lvextend -L+1G data -i1
)。這將創建另一個 #Str=1 段,在lvs --segments
輸出中可見。請注意,根據數據所在的段訪問數據時,可能會有一些性能差異。