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

LVM: перемещайте физические тома между дисками, когда другие физические тома отсутствуют

У меня есть одна группа томов (VG), которая состоит из нескольких физических томов (PV), распределенных по различным дискам. Теперь я хочу переместить все PV, которые находятся на диске A, на новый диск B. Однако, поскольку у меня недостаточно слотов, чтобы просто добавить диск B, я должен временно удалить третий диск C (который также содержит PV, относящиеся к к тому же ВГ) на время операции. Впоследствии, когда диск A больше не нужен, снова будет место для диска C.

Теперь мой вопрос: повлияет ли факт отсутствия диска C на перемещение PV с диска A на диск B?

Конечно, я мог бы просто попробовать это в пробном режиме с кучей устройств с обратной связью. Но даже если это сработает для пробного прогона, я не уверен, что это действительно указан работать (и, следовательно, не приведет к потере данных с реальными данными).

Если LV на диске C находятся ТОЛЬКО на диске C, вы можете vgsplit (8) диск C в новый VG, а затем извлеките диск C, сделайте то, что вам нужно (вероятно pvmove (8)), а потом vgmerge (8):

vgsplit existingVG newVG PV
# ...do what you need here...
vgmerge existingVG newVG

Если LV находятся на диске C и другом диске, вы получите частичные LV после удаления диска C, и хотя LVM действительно позволяет активировать частичные устройства с помощью --partial вариант, но он не позволяет изменять такой VG (вам нужно будет запустить vgreduce --removemissing VG но это НЕ то, что вы хотите.)

Вы можете сделать это в автономном режиме, используя dd: загрузите live CD и запустите dd if=/dev/OLDPV of=/dev/NEWPV bs=1M. Возможно, вам впоследствии понадобится изменить размер разделов, что непросто. Но хотя бы у вас есть "бэкап" (если, конечно, вы не переключите аргументы на dd)