Назад | Перейти на главную страницу

Как расширить LVM PV до начала диска?

У меня есть сервер с диском 2 ТБ, который кто-то изначально разбил следующим образом:

Поскольку фактический размер файлов операционной системы оказался всего около 400 ГБ, позже он был перемещен на собственный логический том на LVM, поэтому этот раздел размером 300 ГБ в начале диска стал неиспользованным.

Итак, я удалил этот раздел и теперь хочу как-то переместить начальную позицию PV в начало диска, чтобы он использовал все дисковое пространство. Но я не могу найти для этого никаких инструментов - pvextend может расширять PV только до конца диска, но не до начала.

Да, я знаю, что могу просто добавить этот старый раздел в VG в качестве другого PV, но наличие нескольких PV на одном диске выглядит довольно странно.

Также я знаю, что могу скопировать разделы на какое-то внешнее устройство или облачное хранилище, а затем просто воссоздать разделение физического диска с нуля. Но я этого не хочу из-за длительного простоя сервера.

Итак, есть ли способ просто быстро расширить PV до начала диска?

Если ваш существующий PV имеет <300 ГБ данных

Если ваш существующий PV содержит менее 300 ГБ данных, вы можете просто переместить эти данные на переднюю часть диска, а затем использовать pvresize. Сначала создайте новый pv:

pvcreate /dev/sda1

Перенести данные с существующего ПВ на новый ПВ:

pvmove /dev/sda2 /dev/sda1

Снимаем старый пв:

vgreduce myvg /dev/sda2

Теперь используйте parted или fdisk или что угодно, чтобы изменить размер /dev/sda1 чтобы покрыть весь диск, а затем используйте pvresize удлинить ПВ, чтобы перекрыть перегородку.

Использование внешнего устройства без простоев

Ты можешь использовать pvmove чтобы переместить ваши данные на другое устройство без любой простой сервера. Вы бы создали новый pv:

pvcreate /dev/sdb

Добавьте его в свой vg:

vgextend myvg /dev/sdb

Перенесите данные с вашего существующего ПВ на новый ПВ:

pvmove /dev/sda2 /dev/sdb

Удалите ваш существующий pv из тома:

pvremove /dev/myvg /dev/sda2

Теперь переразбейте / dev / sda, создайте новый pv и отмените описанный выше процесс.