У меня есть 3 RAID-массива на моем сервере, сопоставленные с 2 PV в моей настройке lvm2.
apollo:~# pvs 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 apollo:~# lvs LV VG Attr LSize Origin Snap% Move Log Copy% lvol0 apollo -wi-ao 4.77T ling-ling 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, но я бы предпочел не делать этого, поскольку это живой сервер.
Спасибо :)
Нет. VG потребляют PV целиком.
Если вы хотите разделить диск / LUN между VG, вам нужно будет создать два раздела и PV для каждого. У этого есть ряд недостатков, не последним из которых является то, что вам нужно будет уничтожить PV и переразбить, чтобы изменить макет!
Кроме перераспределения диска, нет чистого способа получить именно то, что вы хотели.
Быстрое и грязное решение - создать LV и использовать его как PV. Это не то, что часто используется и поэтому не тестировалось много, поэтому вы можете столкнуться с проблемами, например, с активацией при загрузке. Это может быть так просто:
vgextend apollo /dev/apollo1/ling-ling
Другая альтернатива - использовать vgmerge
и сделаем одиночный VG apollo:
vgmerge apollo apollo1
Вам следует обновить все ссылки в fstab (если вы используете имена устройств, а не LABEL / UUID)