
У меня есть одна группа томов (VG), состоящая из нескольких физических томов (PV), распределенных по разным дискам. Теперь я хочу переместить все PV, которые находятся на диске A, на новый диск B. Однако, поскольку у меня недостаточно слотов, чтобы просто добавить диск B, мне придется временно удалить третий диск C (который также содержит PV, относящиеся к той же VG) на время операции. Впоследствии, когда диск A больше не понадобится, снова появится место для диска C.
Теперь мой вопрос: повлияет ли факт отсутствия диска C на перемещение персональных компьютеров с диска A на диск B?
Конечно, я мог бы просто попробовать это в холостом режиме с кучей устройств обратной связи. Но даже если это сработает в холостом режиме, я не был бы уверен, что это действительноуказанныйработать (и, следовательно, не приведет к потере реальных данных).
решение1
Если логические тома на диске C находятся ТОЛЬКО на диске C, вы можетеvgsplit(8)диск C в новый VG, а затем извлеките диск C, сделайте то, что вам нужно (вероятно,pvmove(8)), а потомvgmerge(8):
vgsplit existingVG newVG PV
# ...do what you need here...
vgmerge existingVG newVG
Если логические тома находятся на диске C и другом диске, то после удаления диска C вы получите частичные логические тома, и хотя LVM позволяет активировать частичные устройства с --partial
опцией, но он не позволяет изменять такие VG (вам нужно будет запустить, vgreduce --removemissing VG
но это НЕ то, что вам нужно).
Вы можете сделать это офлайн, используя dd: загрузите Live CD и запустите dd if=/dev/OLDPV of=/dev/NEWPV bs=1M
. Возможно, вам придется изменить размер разделов, что не так просто. Но, по крайней мере, у вас есть "резервная копия" (если вы не измените аргументы на dd, конечно)