
У меня есть новая версия CentOS 7, которая будет выступать в качестве хоста KVM.
Мне не нравится имя, присвоенное группе томов по умолчанию, и я хотел бы его изменить.
Я где-то читал, что переименование группы томов, содержащей логический том для /, может привести к тому, что система не загрузится после перезагрузки. Кстати, почему так?
Я видел несколько руководств, но хотел проверить здесь. Каковы шаги, чтобы убедиться, что система переживет перезагрузку после изменения имени группы томов?
Спасибо.
решение1
При использовании LVM генератор initramfs RHEL/CentOS 7, похоже, автоматически генерирует опцию root=
, которая указывает устройство, содержащее корневую файловую систему. И сгенерированная запись будет иметь форму root=/dev/mapper/VGname-LVname
.
Также есть один или два других параметра загрузки, которые будут указывать LV для активации в фазе initramfs: LV для корневой файловой системы и LV для первичного свопа (если у вас есть своп на LV). Эти параметры имеют форму rd.lvm.lv=VGname/LVname
.
Если вы переименуете VG, содержащую корневую файловую систему, во время работы ОС, вы столкнетесь с проблемой при grub2-mkconfig
обновлении конфигурации GRUB:
/usr/sbin/grub2-probe: error: failed to get canonical path of `/dev/mapper/oldVGname-rootLVname'
Несмотря на то, что VG была переименована, старые имена путей по-прежнему отображаются в /proc/mounts
, и grub2-mkconfig
новое имя устройства корневой файловой системы обнаружить не удастся.
Итак, при переименовании корневой VG в RHEL/CentOS 7 вам необходимо выполнить четыре задачи:
Измените параметры загрузки ядра, чтобы использовать новое имя (
rd.lvm.lv=
еслиroot=
оно существует)/etc/default/grub
, ноне бегиgrub2-mkconfig
Измените те же параметры загрузки ядра непосредственно в фактическом файле конфигурации GRUB (
/boot/grub2/grub.cfg
в системах с загрузкой в стиле BIOS/MBR;/boot/efi/EFI/redhat/grub.cfg
загрузка в собственном стиле UEFI). Будет несколько записей ядра для редактирования: будьте осторожны, изменяя их все.Обновите все
/etc/fstab
записи, ссылающиеся на VG по названию, чтобы использовать новое название.Используйте
vgrename
для переименования VG.
Порядок этих задач не важен, но все они должны быть выполнены (или отменены) до перезагрузки системы. И вам, вероятно, следует перезагрузиться довольно скоро после внесения этих изменений: оставшиеся ссылки на старое имя корневой VG в /proc/mounts
и т. д. могут сбить с толку некоторые системные инструменты.
решение2
Этого должно быть достаточно, если в командной строке загрузки (linux ...) используется UUID вместо /dev/sysvg/root_lv.