Вопрос или проблема
Следующее предупреждение, с которым мы сталкиваемся, возникает из-за того, что lvcreate обнаружил подпись файловой системы XFS на логическом volume lv_rocket_lvm
, что означает, что она может уже содержать данные, отформатированные с помощью XFS. Команда lvcreate спрашивает, хотим ли мы стереть эту подпись, чтобы создать новый логический том.
Одно из решений — принудительно создать логический том и стереть любые существующие данные (включая подпись файловой системы), поэтому мы можем продолжить, ответив y (да), когда будет предложено. Однако поскольку мы выполняем эту команду в скрипте, мы хотим обойти подтверждение, поэтому используем флаг –yes, чтобы принудить его. (я все еще не тестировал это на своей ОС Linux)
Пример с нашего сервера RHEL 7.x
lvcreate -n lv_rocket_lvm --size 100g VGlinux
ПРЕДУПРЕЖДЕНИЕ: обнаружена подпись xfs на /dev/VGlinux/lv_rocket по смещению 0. Стереть ее? [y/n]:
Пример моего предложения
lvcreate -n lv_rocket_lvm --size 100G --yes /dev/VGlinux/lv_rocket
Другой вариант — отдельно стереть том, например
wipefs --all --force /dev/VGlinux/lv_rocket
А затем
lvcreate -n lv_rocket_lvm --size 100g VGlinux
Помимо моего решения, я хочу знать, есть ли другие варианты?
Примечание – lv_rocket_lvm
не отображается в lvdisplay
lvdisplay | grep "LV Path"
LV Path /dev/VGlinux/lvm_swap
LV Path /dev/VGlinux/lvm_var
LV Path /dev/VGlinux/lvm_root
Ответ или решение
Когда вы сталкиваетесь с предупреждением о том, что команда lvcreate
обнаружила подпись файловой системы XFS на логическом объеме lv_rocket_lvm
, это означает, что на данном томе уже имеется данные, отформатированные в формате XFS. Обычно это предостережение сигнализирует о том, что при попытке создания нового логического тома данные на нем могут быть перезаписаны.
Решение проблемы
Чтобы обойти это предупреждение и заставить команду lvcreate
удалить существующую файловую систему и ее подпись, существует несколько подходов:
-
Использование флага
--yes
:
По умолчаниюlvcreate
запрашивает подтверждение на перезапись. Добавление флага--yes
позволяет избежать этого запроса. Однако, стоит отметить, что данный флаг не всегда работает в зависимости от версии утилит LVM. Поэтому использование команды должно выглядеть так:lvcreate -n lv_rocket_lvm --size 100g --yes VGlinux
В данном случае на выходе должна появиться информация о создании логического тома без запроса подтверждения.
-
Элементарная очистка тома с помощью
wipefs
:
Другой подход заключается в предварительном удалении существующих подписей файловой системы с помощью командыwipefs
. Это позволяет гарантированно убрать все метаданные, связанные с предыдущими файловыми системами. Для этого выполните следующую команду:wipefs --all --force /dev/VGlinux/lv_rocket
После этого вы можете выполнить команду создания логического тома:
lvcreate -n lv_rocket_lvm --size 100g VGlinux
Другие варианты
Кроме вышеперечисленных методов, существует несколько альтернативных способов, которые могут быть полезны в вашей ситуации:
-
Форматирование логического тома:
Можно сразу отформатировать том в нужную файловую систему после его создания. Например, если вы хотите использовать файловую систему XFS, то после создания логического тома выполните:mkfs.xfs /dev/VGlinux/lv_rocket_lvm
Однако имейте в виду, что в этом случае начальные данные будут потеряны.
-
Проверка текущих томов:
Перед выполнением любых операций, желательно убедиться, что файлlv_rocket_lvm
не существует. Для этого используйте:lvdisplay
Если ваш логический объем не отображается в выводе, то вы можете безопасно продолжить с созданием нового.
Заключение
При работе с LVM важно соблюдать осторожность, поскольку многие из операций необратимы. Используйте вышеуказанные решения для создания нового логического тома без подтверждения ручного ввода. Однако всегда стоит быть внимательным к данным, которые могут быть потеряны при таких действиях.