У нас есть несколько блейд-серверов HPE ProLiant Gen9, которые мы хотели бы загрузить по сети для установки CentOS.
Мы используем Cobbler для создания конфигурации.
Во время загрузки сервер запросит файл, названный в соответствии с его UUID, что не удастся. Затем он запрашивает MAC, что успешно. Он загружает GRUB из файла .efi, а GRUB может отображать меню загрузки.
Когда мы выбираем единственный вариант в меню загрузки, он переходит на пустой экран и. . . ничего не делает.
Просматривая журналы сервера Cobbler, я вижу, что сервер запрашивает vmlinuz и, насколько я могу судить, он полностью извлекает файл, но что я делаю не посмотрите, загружается ли он когда-нибудь initrd.img.
Я пробовал играть с конфигурацией GRUB, но пока не нашел нужной магии.
Кто-нибудь еще сталкивался с этой проблемой, и если да, можете ли вы рассказать, что вы сделали, чтобы ее решить?
Стоит отметить, что когда мы пытаемся использовать устаревшую загрузку BIOS, а не UEFI, она работает нормально. Я знаю, что для этого он извлекает другой набор файлов, но я хотел упомянуть об этом, потому что он указывает на то, что нет ничего плохого с целевым сервером, службой TFTP на сервере Cobbler или сетью между ними. Однако мы не хотим использовать это как обходной путь, потому что BIOS не будет существовать вечно.
Выигрышным решением стал переход на GRUB2 с GRUB Legacy (0.97).
Расстояние по прямой между DC, где находится загружаемый сервер, и DC, где расположен сервер TFTP / DHCP, составляет около 120 миль. Это обязательно вызывает некоторую задержку. Поскольку TFTP не является оконным протоколом, пакет должен быть подтвержден перед отправкой следующего. Более того, если пакеты больше, общая передача займет меньше времени, если все работает хорошо.
GRUB Legacy установил таймаут в пять минут и размер пакета 512 байт. GRUB2 использует размер пакета 1024 байта и время ожидания не истекло. Загрузка сервера заняла около 14 минут.
Загрузка в устаревшем режиме работала, потому что сервер тогда использует Syslinux, а не GRUB.
Обратной стороной является то, что конфигурация создается с помощью Cobbler. Ни одна из выпущенных в настоящее время версий Cobbler не поддерживает GRUB2, поэтому мне пришлось создать сценарий, который изменил бы файл dhcpd.conf после того, как Cobbler был завершен, а также создал подходящий файл grub.cfg-01 - $ {mac_address}.