Итак, я вижу, что все включено. /dev/md125p2
и мы хотим уменьшить размер этого PV.
Ваш вывод из pvs -v --сегменты /dev/md125p
показать, что у вас очень много свободного места (Размер == 81947
) после твоего lv_mysql
и перед твоим lv_root
. Это достаточно большой дом lv_root
и все томов, которые следуют за ним в физическом макете.
Итак, первый набор цифр, который я бы предложил:
***# pvmove --alloc в любом месте /dev/md125p2:480745-488244 /dev/md125p2:384000+7499
то есть переместить всю lv_home
в свободное пространство, начинающееся сразу после lv_mysql
.
Затем повторно запустите pvs -v --сегменты /dev/md125p
чтобы увидеть измененные числа, и переместите следующий блок на оставшееся свободное место.
Это эффективно дефрагментирует ваш PV.
В настоящее время, пвмов
можно иметь путь больше вариантов, чем то, что я использую (может быть, указание PV вместо экстентов?), но то, с чем мне было удобно, это просто явно указывать блоки, поэтому все мои источники и цели имеют форму /dev/<dev>:<Начало>-<Конец>
или же /dev/<dev>:<Start>+<SSize-1>
.
Я подозреваю, что ваша проблема в основном заключалась в отсутствии экстентов вашей «исходной» спецификации.
Я видел несколько примеров их использования -конец
- Я не знаю, если это то, что предполагаемый работать, но возникнет вопрос "конец какие?». Поэтому я избегаю этого и использую явные номера блоков. Вам просто нужно помнить, что +
синтаксис плюс, и должно быть на единицу меньше, чем SSize.
Дополнительный
ОК, на стороне источника кажется, что вы можете сделать -имя lv_home /dev/md125p2
как сокращение для /dev/md125p2:480745-488244
- но учтите также, что это станет более сложным, если lh_home
был фрагментирован на несколько экстентов (значит ли это «все фрагменты?») — я думаю, что все еще предпочитаю подход с числами. Обратите внимание, что ваш пример в вопросе не включить имя LV, так что я не уверен, что пвмов
понял бы из того, что вы дали...