Устройства LVM не отображаются в initrd, но работают при загрузке

Устройства LVM не отображаются в initrd, но работают при загрузке

В настоящее время я работаю над пользовательским initrd на основе ядра CentOS 6.7 (2.6) сследующие модулизагружен.

Initrd предназначен для резервного копирования файлов старой системы RHEL в память, размонтирования диска, очистки диска и, наконец, записи ddна диск предварительно собранной системы CentOS.

Система CentOS была создана на базе VMware, затем vmdk был экспортирован и преобразован в формат raw с расширением qemu-img.

После тестирования весь процесс работает отлично, и после его ddзавершения систему можно перезагрузить и запустить нормально.

Текущая проблема заключается в том, что после ddзавершения операции я не могу смонтировать диск LVM, чтобы скопировать файлы обратно.

Как вы можете видеть в списке модулей, драйверы LVM есть и загружены, если я запускаю, fisk -lон отображается sda1как загрузочный раздел (не LVM) и sda2как раздел LVM. При запуске pvscan -vvvон видит, /dev/sda2но говорит No label detected.

решение1

Поскольку вы очищаете диск, работающее ядро ​​не будет знать о доступных разделах.

Вы можете запустить partprobe(как и в partedутилите разбиения на разделы), чтобы перезагрузить правильную информацию о разбиении на разделы в работающем ядре.

Если у вас нет partprobe(не нужны маленькие диски parted?), вы можете использовать, hdparm -z /dev/yourdriveкак указано@ko-dos

Связанный контент