bash.im ithappens.me zadolba.li
11744

Видит око, а vi неймёт

20 декабря 2013, 07:15

Дано: виртуальная машина с вариацией на тему старого RHEL (уйти на новый нельзя от слова «совсем») в VMware Workstation. Требуется запустить эту виртуалку под KVM в CentOS 6.5.

Привыкнув к тому, что с ВМ на OpenBSD проблем нет, просто импортирую через virt- из VMDK, запускаю… и получаю kernel panic по случаю невозможности найти init. Это у нас сюрприз номер раз — так, для разминки.

«Ага! — сказали суровые сибирские лесорубы. — А контроллер-то какой? Небось, IDE?» И правда, IDE. Ну, тут просто: RHEL старый, virtio не работает — вот он и впилил отлаженное. Ладно, SCSI ж в нашей виртуализованной ОС поддерживается — сейчас лёгким движением превратим диск в сидящий на SCSI-контроллере… И это уже сюрприз номер два: KVM в RHEL 6 не поддерживает ничего, кроме virtio и IDE.

Что ж, поменяем заранее записи в /etc/fstab (знающие линуксоиды тут улыбнутся, поэтому они могут перейти сразу к следующему абзацу), зальём и сконвертируем машину снова… и поймаем тот же самый kernel panic.

Начинаю ковыряния. Заливаю на всякий случай ВМ заново. Всё повторяется. И тут до меня доходит, что в линуксе не всё так просто: загрузчик (LILO в данном случае) передаёт ядру при запуске некие волшебные параметры, в которых при ближайшем рассмотрении (для которого понадобился звонок другу) и находятся волшебные ссылочки на /dev/sda3 и /dev/sda. Tab, имя ядра, root=/dev/hda3 boot=/dev/hda, Enter. Грузимся, грузимся… Есть! Ура!.. Упс. ВМ-то залита заново, /etc/fstab не подправлен, поэтому монтирование обламывается.

Ну, тут-то уже проблем не предвидится. Достаточно ручками подмонтировать / в rw (а, уже готово) и запустить vi /etc/fstab… А вот фигушки: «File is read-only». Чего-чего?! Вывод команды mount гласит, что / примонтирована. В режиме чтения-записи. С раздела /dev/sda3.

Ещё раз: корневая ФС смонтирована в режиме чтения-записи на разделе диска, которого нет. Отмонтировать нельзя. Записать нельзя. Можно только смотреть на установленную, но недоступную систему.

Я отказываюсь понимать эту логику. Ей-богу, куда проще понять обычного юзера, у которого «всё сломалось и ничего не работает». ВМ пришлось просить сделать заново, изначально сделав диск подключённым по IDE — это оказалось быстрее, чем продираться через ошибки на пустом месте.

Выговорился. Ушёл обратно в «Опёнок». Всем терпения и хороших знаний.