Вопрос или проблема
Как удалить PV из VG?
Вот что я пробовал:
# vgreduce vg_iscsi /dev/sdb1
Physical volume "/dev/sdb1" still in use
# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
root centos -wi-ao---- 6.67g
swap centos -wi-ao---- 820.00m
lvm02 vg2 -wi-a----- 800.00m
lv_iscsi_1 vg_iscsi -wi-ao---- 52.00m
Затем
# lvremove -f vg_iscsi/lv_iscsi_1
Logical volume vg_iscsi/lv_iscsi_1 in use.
Используя fuser
# fuser -kuc /dev/vg_iscsi/lv_iscsi_1
/dev/dm-3: 1558(root)
Я попробовал kill -9
это, но процесс, кажется, исчез к тому времени, когда я отправил сигнал kill
.
Однако теперь я получаю это:
# vgreduce vg_iscsi /dev/sdb1
Can't remove final physical volume "/dev/sdb1" from volume group "vg_iscsi"
Какие-нибудь идеи?
Команда vgreduce
верна, но вы не можете удалить физический том из группы томов, пока он не станет пустым. Это значит ошибка, которую вы получили.
Как говорится на странице руководства:
Чтобы переместить все физические экстенты, используемые простыми логическими томами на
/dev/sdb1 в свободные физические экстенты в другом месте группы томов, используйте:
pvmove /dev/sdb1
После того как PV станет пустым, вы можете повторить команду vgreduce
, чтобы удалить его.
согласно man lvremove
, для удаления, вы должны выполнить
lvremove -f vg00/lvol1
пожалуйста, обратите внимание, что параметр будет отличаться в вашем случае.
lvdisplay,
Смотри “VG Name”,
vgreduce “VG Name” /dev/sdb1
lvdisplay,
Смотри “LV Name”,
lvremove -f “LV Name”
lvdisplay,
Дисков больше нет “LV Name”.
Ответ или решение
Удаление физического тома (PV) из группы томов (VG) в Linux — это процесс, требующий определенной последовательности действий и понимания основных принципов работы с логическими томами. Основная цель — освободить PV от всех данных, чтобы его можно было успешно извлечь из VG. Давайте рассмотрим этот процесс подробнее, используя принцип TEA (Theory, Example, Application).
Теория
Физический том (PV) представляет собой отдельный раздел на диске, который включен в группу томов (VG). Группа томов — это объединение одного или нескольких физических томов, на основе которого создаются логические тома (LV). Чтобы удалить PV из VG, необходимо освободить его от всех данных, то есть переместить все логические тома, которые используют экстенты этого PV, на другие физические тома в пределах той же VG.
Шаги для удаления PV из VG:
- Идентификация используемых ресурсами логических томов (LV): Убедитесь, что ни один из LV не использует физический том, который вы собираетесь удалить.
- Перемещение данных: С помощью команды
pvmove
переместите данные с того PV, который вы хотите извлечь. - Удаление логических томов (если необходимо): Если LV использоваться больше не будут, их можно удалить с помощью команды
lvremove
. - Уменьшение группы томов: После очистки PV вы можете использовать команду
vgreduce
, чтобы удалить его из VG.
Пример
В вашем приведенном примере пошагово рассмотри, какие действия необходимо выполнить:
-
Проверка текущего состояния:
lvdisplay
Убедитесь, что вы понимаете, какие LV существуют и где они расположены.
-
Перемещение данных:
Перемещайте физические экстенты со/dev/sdb1
на другие PV внутриvg_iscsi
:pvmove /dev/sdb1
Это шаг крайне важен, так как без него вы не сможете освободить PV для удаления.
-
Повторная проверка и удаление LV (если необходимо):
Используйтеlvdisplay
чтобы убедиться, что больше ни один LV не использует/dev/sdb1
. Если обнаружены ненужные LV, удалите их с помощью:lvremove -f vg_iscsi/lv_iscsi_1
-
Удаление PV из VG:
После того как PV будет пуст, выполните:vgreduce vg_iscsi /dev/sdb1
Это команда окончательно удалит
/dev/sdb1
из группы томовvg_iscsi
.
Применение
Практическое применение описанной методики особенно актуально в случаях, когда вам необходимо реорганизовать или оптимизировать использование дискового пространства. Верно выполненные шаги позволят вам безопасно и эффективно управлять физическими ресурсами, исключая возможность потери данных и минимизируя простой системы.
При выполнении этих операций крайне важно соблюдать осторожность, особенно на стадиях удаления, поскольку ошибочные действия могут привести к потере данных. Рекомендуется предварительно создавать резервные копии и детально анализировать команды, которые вы собираетесь выполнить.
Применяя такой систематический подход, вы сможете успешно управлять ресурсами вашей системы, обеспечивая ее стабильную работу и эффективное использование доступных дисковых пространств.