Я оказался в сложной ситуации, когда мне нужно выполнить удаленную установку QuantaStor (На основе Ubuntu - шипение) на оборудование с ограниченной функциональностью внеполосного доступа.
Целевая система - это Сервер HP ProLiant DL180 G6, который имеет полностью лицензированный Lights-Out LO100i удаленный KVM. Это большой шаг назад по сравнению с процессорами управления МОТ3 или МОТ4. Проблема с этим оборудованием заключается в том, что Функции виртуального носителя LO100i ненадежны. По мере развития выпусков Java эта МОТ стала менее полезной. Прямо сейчас я не могу загрузить систему с удаленного носителя, хотя эта функция хорошо работала в прошлом.
Итак, моим следующим шагом была попытка PXE-загрузки этого сервера с использованием ISO-образа QuantaStor. Как ни странно, существует ряд противоречивых отчетов о как можно PXE загружать образ ISO напрямую, без связывания загрузчиков и т. д. После некоторых экспериментов я обнаружил, что могу загрузить ISO, используя memdisk
через PXE-сервер. Я контролирую DNS и DHCP в этой среде, поэтому я пошел стандартным путем изменения /etc/dhcpd.conf
файл конфигурации, чтобы отразить:
# Begin temporary PXE boot
allow booting;
allow bootp;
option option-128 code 128 = string;
option option-129 code 129 = text;
next-server 172.30.27.5;
filename "/pxelinux.0";
# End temporary PXE boot
Для моей конфигурации PXE я установил /tftpboot/pxelinux.cfg/default
кому:
default menu.c32
prompt 0
timeout 300
ONTIMEOUT local
MENU TITLE PXE Menu
LABEL QuantaStor
MENU LABEL QuantaStor
KERNEL memdisk
APPEND iso initrd=images/osn_quantastor_v3.8.2.5441.iso raw
Вместе эти функции позволили мне заставить систему начать загрузку ISO. К сожалению, удаленная KVM-консоль выдавала следующий искаженный видеовыход:
Экран установки устройства должен выглядят так:
Несколько перезагрузок и после некоторых фундаментальных исследований я обнаружил, что удаленный KVM LO100 разделяет этот симптом фреймбуфера с некоторыми Платы Supermicro IPMI. Обходной путь - пройти vga16fb.modeset=0
к аргументам загрузки. Это уникально для Ubuntu (вздох).
Как я могу поместить этот оператор в строку аргументов ISO-образа, загружаемого с помощью PXE?
Куда мне добавить заявление?
Попытки сделать это в строке «ПРИЛОЖЕНИЕ» /tftpboot/pxelinux.cfg/default
похоже, не помогает. Подсказки Ubuntu предлагают добавить строку, нажав F6
на экране загрузки ISO. К этому моменту мой удаленный KVM испорчен, и я не могу добавить его вручную.
Любые идеи?
Обновить:
Я извлек ISO и изменил файл isolinux.cfg, чтобы изменить поддержку буфера кадра установщика в строке APPEND ядра. Система загружается, и программа установки работает ... за исключением того, что теперь я получаю сообщение об ошибке CDROM. Я предполагаю, что мой метод PXE неверен.
Как правильно использовать ISO поверх PXE в этом контексте?
Изменение append
с желаемыми параметрами определенно не поможет от PXELINUX в этой настройке, поскольку загрузочный диск имеет собственный ISOLINUX, обрабатывающий загрузку ядра.
Два способа исправить это.
Более простой вариант: извлечь ISO, изменить isolinux/isolinux.cfg
файл append
с необходимыми аргументами загрузки, повторно упакуйте ISO. Установите цепочку PXELINUX на измененный ISO.
Более сложный (но, возможно, лучший, поскольку он удаляет цепочку) вариант: вместо использования memdisk для загрузки в ISO, загрузитесь напрямую так же, как это делал бы ISOLINUX ISO.
Редактировать: более четкие шаги для загрузки ОС в ISO:
/tftpboot/quantastore
preseed/quantastor.seed
из извлеченного ISO в корневой каталог службы HTTP, работающей на вашем PXE-сервере, чтобы он был доступен по адресу http://172.30.27.5/quantastor.seed
Измените свой pxelinux.cfg/default
файл для загрузки непосредственно с извлеченным содержимым ISO. Удалить текущий LABEL QuantaStor
и заменить на:
LABEL QuantaStor
menu label QuantaStor
kernel quantastor/install/vmlinuz
append preseed/url=http://172.30.27.5/quantastor.seed locale=en_US.UTF-8 keyboard-configuration/layoutcode=us initrd=quantastor/install/initrd.gz ramdisk_size=16384 nodmraid acpi=off root=/dev/ram vga16fb.modeset=0 rw quiet
По большей части это должно обеспечить успешную установку, но команды, которые QuantaStor запускает в конце установки, завершатся ошибкой, поскольку они ищут непосредственно /cdrom
. Из quantastor.seed
файл:
d-i preseed/late_command string mkdir -p /target/lib/plymouth/themes/quantastor; \
chroot /target echo "creating package dirs, setting up splash screens" >> /var/log/qs_install.log; \
mkdir /target/qs-pkgs; \
mkdir -p /target/qs-pkgs/drivers; \
mkdir -p /target/opt/osnexus/quantastor/raid-tools; \
cp /cdrom/finisher/raid-tools/* /target/opt/osnexus/quantastor/raid-tools; \
cp /cdrom/finisher/deb/*.deb /target/qs-pkgs; \
cp /cdrom/finisher/qs_preseed.sh /target/qs-pkgs; \
cp /cdrom/finisher/drivers/* /target/qs-pkgs/drivers; \
cp /cdrom/finisher/splash/* /target/lib/plymouth/themes/quantastor; \
cp /cdrom/finisher/osnexus.gpg /target/qs-pkgs; \
cp /cdrom/finisher/osnexus.list /target/etc/apt/sources.list.d/osnexus.list; \
cp /cdrom/finisher/rc.local /target/etc/rc.local; \
cp /cdrom/finisher/qs_runonce.sh /target/etc/qs_runonce.sh; \
chroot /target /qs-pkgs/qs_preseed.sh
Вероятно, просто запустите это вручную после завершения установки в первый раз (удаление /target
stuff) - если он работает иначе, мы можем адаптировать эти команды, чтобы разместить их вещи, независимо от того, какой компакт-диск находится в приводе.
Типа это "слепой"?
Ударить Войти как только появляется (искаженный) выбор языка, поскольку он быстро истекает.
Затем нажмите F6, Esc, введите vga16fb.modeset=0
и нажмите Войти.
Вероятно, вам не хватало необходимости ударить Esc сразу после F6.