Partmgr
Общие сведения
Каталоги локального хранилища и каталог журналов узла при необходимости возможно без приостановки работы системы перемещать на другое локальное блочное устройство или расширять с участием дополнительных локальных блочных устройств. Эта операция производится из CLI узла.
Предварительные условия
-
Каталог, требующий расширения или перемещения, должен представлять собой файловую систему на отдельном логическом томе (LV) на некоторой группе томов (VG).
Расширение и перемещение для файловых систем на простых разделах диска не поддерживается.
-
При перемещении устройство, на которое требуется переместить каталог, должно являться локальным блочным устройством (SCSI/SAS/SATA-диск или логический диск локального RAID-контроллера) и иметь объем, достаточный для размещения каталога целиком вне зависимости от объема, занятого данными.
Например, если каталог имеет размер 80GB, а полезных данных в нем 100 МB, то устройство назначения должно быть не менее 80 GB.
-
Необходимо учесть, что доступно только расширение, но не сжатие.
При расширении каталога журналов с подключением дополнительного накопителя, отключить этот накопитель можно лишь скопировав весь расширенный каталог на еще один дополнительный накопитель.
Просмотр состояния разделов и накопителей
Для просмотра состояния разделов и накопителей необходимо воспользоваться командой CLI:
system partmgr info
При этом выводится информация об именах LV, VG, на которых находятся разделы локального хранилища и журналов, занимаемых этими разделами PV, а также общая информация о размерах и свободном месте на VG и LV этих разделов. Также выводятся сведения о свободных (неразмеченных) локальных накопителях и их размерах.
Для предварительной очистки накопителей необходимо использовать команду CLI:
wipefs
Перенос раздела на другой накопитель
Для переноса раздела на другой накопитель необходимо воспользоваться командой CLI:
system partmgr move -d <устройство_назначения> <раздел>
Раздел журналов обозначается
log
, а локального хранилища -local
.
Пример переноса /dev/sdc
Чтобы перенести на локальное устройство /dev/sdc
раздел журнала, необходимо выполнить команду:
system partmgr move log -d /dev/sdc
При этом на весь объем устройства создается LVM PV, на которое расширяется VG, принадлежит LV требуемого раздела. Далее на это PV переносится LV с требуемым разделом.
Примечание
При стандартной процедуре разбивки диска установщиком Space создается VG sys_vg01
, общая для раздела журнала, системы,
swap и локального хранилища. LV локального хранилища называется local_storage
, LV раздела журналов - log_storage
.
Расширение раздела
Для расширение раздела необходимо воспользоваться командой CLI:
system partmgr expand -s <приращение размера, MiB> -d <дополнительное устройство> <раздел>
Если размер не указан, будет использован весь доступный размер с учетом указанного устройства.
Если не указано и устройство, будет использован весь доступный свободный размер системной VG.
Пример увеличения раздела локального хранилища на 2TiB с применением устройства /dev/sdd
system partmgr expand local -d /dev/sdd -s 2048
Если на существующей VG, которой принадлежит LV, достаточно места для заданного приращения размера, происходит растяжение соответствующей LV с изменением размера файловой системы.
Если места недостаточно, то подключается указанное устройство, на котором создается PV. После этого системная VG расширяется на все устройство, после чего необходимо растяжение нужной LV с разделом.
Отключение неиспользуемых PV от системных VG
В результате перемещений разделов возможна ситуация, когда системная VG будет находиться на нескольких PV, часть из которых свободна. В данном случае их отключение приведет к ошибкам в работе системы.
Для информации о занятости PV необходимо выполнить команду CLI:
pvs -o name,vg_name,lv_name
PV с пустым lv_name
можно исключить из VG, для этого необходимо выполнить команду CLI:
system partmgr reduce
Сообщения вида Removed "/dev/vdg1" from volume group "sys_vg01"
говорят о том, что соответствующее устройство можно изъять или очистить командой wipefs
, после чего их можно использовать для других целей.