У меня есть текущая рабочая установка PXELINUX с меню для другой версии ОС. Недавно я попытался добавить к нему установщик VMware. Это выглядело великолепно до момента, когда я не мог загрузить необходимые файлы. Сама VMware заявляет, что использование TFTP для загрузки всех файлов - не лучший вариант, особенно если у вас высоконагруженная сеть, и они рекомендуют для этого использовать HTTP / gPXE.
Итак, я искал внедрение gPXE. Но все мои несколько попыток до сих пор не работали, и я не уверен, в чем проблема на данный момент.
Для начала я изменил имя файла в конфигурации DHCP, чтобы указать на gpxelinux.0 вместо pxelinux.0. Система загружается, показывает gPXE, но не обрабатывает дальше. Он получает DHCP, а затем показывает
No filename or root path specified
Я также попытался загрузить gPXE по цепочке из конфигурации PXELINUX, которая вернулась с теми же ошибками.
Я читал некоторые документы относительно gPXE, и все они используют источник HTTP для имени файла в конфигурации DHCP. Я попробовал это дальше, но он уже показывает мне ошибки TFTP
PXE-T01: File not found
PXE-E3B: TFTP Error - File Not found
На данный момент я не знаю, что еще попробовать. Я уже скопировал весь TFTP на HTTP-сервер, попытался использовать скрипты gPXE, которые перепишут источник с использованием опции DHCP 209/210. Но все они терпят неудачу, потому что я не могу загрузить его в конфигурацию DHCP с помощью HTTP.
Может ли кто-нибудь дать мне несколько советов о том, где искать ошибки или как я могу преобразовать мой текущий PXELINUX в gPXE.
Любая помощь очень ценится.
ОБНОВИТЬ:
Я играл, и, наконец, он заработал. Была ошибка в конфиге DHCP. Вот что я сейчас использую:
class "pxeclients" {
match if substring(option vendor-class-identifier, 0, 9) = "PXEClient";
if exists user-class and option user-class = "gPXE" {
filename "http://10.140.160.203/boot.gpxe";
} else {
next-server 10.140.160.203;
filename "/gpxelinux.0";
}
}
И boot.gpxe по цепочке загружает мою конфигурацию pxelinux
#!gpxe
imgfree
chain http://10.140.160.203/vesamenu.c32 http://10.140.160.203/pxelinux.cfg/default
Это хороший подход или нужно еще кое-что знать?
Вам не нужно переходить на gPXE, поскольку lpxelinux.0 (Syslinux 6.03) поддерживает HTTP-передачу.
Также, если вы устанавливаете VMware VMvisor (например, VMware-VMvisor-Installer-6.0.0-2494585.x86_64.iso), вы можете сделать это просто с помощью обычного TFTP, если вы правильно настроили свою среду. т.е. если вы пытаетесь установить его, используя iso и мемдиск техника у вас обязательно не получится. вместо этого вы можете использовать mboot подходить; из Сервы сайт:
kernel = /NWA_PXE/$HEAD_DIR$/mboot.c32
append = -c /NWA_PXE/$HEAD_DIR$/BOOT.CFG