Partmgr
Каталоги локального хранилища и каталог журналов узла при необходимости возможно без приостановки работы системы перемещать на другое локальное блочное устройство или расширять с участием дополнительных локальных блочных устройств. Эта операция производится из CLI узла.
Предварительные условия:
- Каталог, требующий расширения или перемещения, должен представлять собой файловую систему на отдельном логическом томе (LV) на некоторой группе томов (VG). Это достигается, например, при стандартной процедуре разбивки дисков инсталлятора Space. Расширение и перемещение для файловых систем на простых разделах диска не поддерживается.
- при перемещении устройство назначения, на которое требуется переместить каталог, должно являться локальным блочным устройством (SCSI/SAS/SATA диск или логический диск локального RAID контроллера) и иметь объём, достаточный для размещения каталога целиком вне зависимости от объёма, занятого данными, плюс несколько Мбайт для разметки. То есть, например, если каталог имеет размер 80GB, а полезных данных там 100 МB, то устройство назначения должно быть не менее 80 GB.
- Следует учесть, что на данный момент доступно только расширение, но не сжатие. То есть если расширили каталог журналов с подключением дополнительного накопителя, то обратно отключить этот накопитель можно будет лишь скопировав весь расширенный каталог на ещё какой-то третий накопитель, а потом исключив первый дополнительный накопитель.
Просмотр состояния разделов и накопителей.
Производится командой CLI system partmgr info.
При этом выводится информация об именах LV, VG, на которых находятся разделы локального хранилища и журналов, занимаемых этими разделами PV, а также общая информация о размерах и свободном месте на VG и LV этих разделов.
Также выводятся сведения о свободных (неразмеченных) локальных накопителях и их размерах.
Для предварительной очистки накопителей при помощи CLI Space можно использовать команду CLI wipefs
.
Перенос раздела на другой накопитель.
Производится командой CLI system partmgr move -d <устройство_назначения> <раздел>
.
Раздел журналов обозначается как log, а локального хранилища как local.
Например, чтобы перенести на локальное устройство /dev/sdc раздел журнала, нужно выполнить команду
system partmgr move log -d /dev/sdc
При этом на весь объём устройства создаётся LVM PV, на которое расширяется VG, принадлежит LV требуемого раздела. Далее на это PV переносится LV с требуемым разделом. Размер раздела остаётся прежним, его можно при необходимости расширить (см.ниже).
Info
При стандартной процедуре разбивки диска инсталлятором Space создаётся VG sys_vg01, общая для раздела журнала, системы, свопа и локального хранилища. LV локального хранилища называется local_storage, LV раздела журналов -- log_storage.
Расширение раздела.
Производится командой CLI system partmgr expand -s <приращение размера, MiB> -d <дополнительное устройство> <раздел>
.
Разделы обозначаются, как и при перемещении.
Если размер не указан, тогда берётся весь доступный размер с учётом указанного устройства. Если не указано и устройство, тогда берётся весь доступный свободный размер системной VG. (или VG данного раздела, если при установке системные разделы зачем-то размещены на разных 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
и использовать для чего-то ещё.