среда, 8 июня 2011 г.

Перемещение раздела LVM на отдельный физический диск

Понадобилось один из разделов, размещённых на LVM, перенести на отдельный диск (точнее, созданный на дисках RAID — /dev/mdN), и для полной независимости, вынести в отдельный volume group.

Поскольку я слишком долго изучал документацию, приведу подробные шаги.
Исходный расклад такой:
* существующая volume group — old
* планируемая к созданию volume group — new
* подопытный logical volume — ftp
* новый отдельный диск — /dev/md2

Напишу, кстати, что после создания RAID командой
# mdadm --create /dev/md2 --level=1 --raid-devices=2 /dev/sd[ab]2

Пришлось ещё вписать
строку вида
ARRAY /dev/md2 metadata=1.2 UUID=6587c8f8:1e685045:ce913c14:3680e8fe
в файл /etc/mdadm.conf, потому что с новым форматом (используется по умолчанию) суперблока (1.2) устройства не собираются ядром самостоятельно.
Строка получена командой
# mdadm --examine --scan --config=mdadm.conf

А можно было добавить параметр -e 0.90, чтобы получить старый формат (ограничен 2Тб)

Также неплохо включить использование битовой карты, чтобы после развала RAID от неожиданного выключения синхронизировать только кусок, а не всё устройство:
# mdadm --grow --bitmap=internal --bitmap-chunk=131072 /dev/md2

Но это снижает быстродействие при записи.


Так вот, искомая операция выполняется так:

Перемещаем раздел ftp на новое устройство (самая длительная операция, но счастье в том, что её можно выполнять на ходу):
# pvmove -n ftp /dev/md0 /dev/md2
(Обратите внимание, указывается, с _какого_ устройства на какое переносить.)

Перестаём использовать раздел
# umount /dev/old/ftp
Делаем его неактивным (убирается из /dev/):
# lvchange -an /dev/old/ftp
Выделяем в отдельную volume group разделы, расположенные на устройстве /dev/md2
# vgsplit old new /dev/md2
Делаем раздел опять активным:
# lvchange -ay /dev/new/ftp
Монтируем уже с нового адреса:
# mount /dev/new/ftp

Замечательное описание всех особенностей работы с LVM: Logical Volume Manager

Комментариев нет: