Привет, друзья! Всё никак не могу прийти к решению, что же лучше использовать в работе для загрузки, флешку или сеть. Надеюсь, вы сможете помочь определиться с выбором.
Плюсы PXE:
* Оркестрация. Не надо вставать со стула, просто подсунул образ и следующая железка, которую ты включаешь (тоже удалённо по iLO), его загрузит.
* Загрузка в BIOS и UEFI режимах работает одинаково хорошо на всех устройствах! Это просто чудо какое-то! Сколько я пердолил свою booty, допиливал, когда в моём распоряжении появлялась новая железка, на которой не работает загрузка с флешки.
Прикол в том, что мне не удалось при помощи GRUB2 загружать серверы HP Gen8, Gen9 в BIOS (Legacy) режиме. Поэтому пришлось вкорячивать аж отдельный syslinux (isolinux) загрузчик туда. На рабочих станциях, на HP Gen10 такой проблемы не было никогда, вот впервые столкнулся только на HP Gen8, Gen9.
Повторюсь, что с использованием PXE всё заработало реально с первого раза: создал бридж, потестировал в QEMU загрузку — работает, в бридж засунул сетевую карточку, к этой же сетевой карточке подключил серверы и всё, всё работает, и BIOS, и UEFI, это конечно круто.
Минусы PXE:
* Скорость загрузки; и я сейчас не общую скорость сети, а дело в том, что пока сетевая карточка находится в состоянии «без нормального драйвера операционной системы, которая ещё не загружена», её скорость будет реальные 10мбит/сек.
Частично эту проблему я могу решить путём загрузки минимального образа vmlinuz, initramfs с kexec-tools, общим весом в пару мегабайт, а затем wget'ом подтягивать уже нормальный образ с локального http-сервера и kexec'аться туда. Чем ждать, пока сразу нужный образ, весом 200мб, загрузится по PXE, — просто ждать придётся реально долго.
Вроде как iPXE решает эту проблему, через него скорость сети сразу нормальная, но нужно проводить эксперименты, точно не скажу.
Плюсы USB-флешки:
Скорость! Не сравнима ни с какой с сетью, а железо при необходимости обращаться сразу же к любому «участку», к любым данным на этой флешке. Буквально две-три секунды и образ весом 200 метров уже загружается.
Минусы USB-флешки:
При малейших изменениях приходится перезаписывать весь образ целиком на флешку, систему нужно держать в актуальном состоянии, особенно когда ты только занимаешься разработкой, постоянно бегать с флешкой ну такое себе.
----
Для загрузки по PXE нужен vmlinuz + initramfs, для загрузки с флешки нужен ISO, — разницы что то, что это, никакой. Всё делается одной командой booty build. Сложности создания образов нет, хочется только определиться, что лучше в перспективе использовать для работы.
На серверах могут быть отключены сетевые интерфейсы, либо может быть отключена загрузка с них, такое бывает редко, но бывает. Но с другой стороны, сетевые интерфейсы в любом случае надо включить, поэтому не будем считать это каким-то недостатком использования PXE. Просто при использовании флешки, сервер бы сразу загрузился и проделал всю работу (обновление делается через iLO), а тут лишние движения прост, заходить в биос, отвлекаться.