
На моем сервере имеется 3 RAID-массива, сопоставленных с 2 физическими томами в моей настройке lvm2.
аполлон:~# пвс PV VG Fmt Attr PSize PFree /dev/sda1 apollo lvm2 a- 3.64T 0 /dev/sda2 apollo lvm2 a- 1.14T 0 /dev/sdb apollo1 lvm2 a- 2.05T 0 аполлон:~# лвс LV VG Attr LSize Origin Snap% Перемещение Log Копирование% lvol0 аполлон -wi-ao 4.77T линг-линг apollo1 -wi-ao 895.41G lvol0 apollo1 -wi-ao 1.17T lvol1 apollo1 -wi-a- 32.00M
Я хочу удалить LV "ling-ling", чтобы освободить немного места, однако я хочу расширить lvol0 за счет этого свободного пространства, которое находится на другой VG.
Есть ли способ в LVM выделить процент PV для разных VG без переразбиения? Единственное решение, которое я могу придумать, это переразбить /dev/sdb, но я бы предпочел этого не делать, так как это живой сервер.
Спасибо :)
решение1
Нет. VG потребляют PV целиком.
решение2
Если вы хотите разделить диск/LUN между VG, вам придется создать два раздела и PV на каждом. Это имеет ряд недостатков, не последним из которых является то, что вам придется уничтожить PV и переразбить их, чтобы изменить макет!
решение3
Кроме переразбиения диска на разделы, нет другого способа получить именно то, что вам нужно.
Быстрое и грязное решение — создать LV и использовать его как PV. Это не то, что часто используется и поэтому не было много протестировано, поэтому вы можете столкнуться с проблемами, например, с активацией при загрузке. Это может быть так просто, как:
vgextend apollo /dev/apollo1/ling-ling
Другой альтернативой является использование vgmerge
и создание одного VG Apollo:
vgmerge apollo apollo1
Вам следует обновить все ссылки в fstab (если используются имена устройств, а не LABEL/UUID)