Назад | Перейти на главную страницу

PXE-загрузка Linux - что куда?

У меня есть машина x86-64, которая может загружаться через PXE, и я хочу загрузить живую Fedora 17. Я не хочу ее устанавливать, я просто хочу работать, как если бы загружался live CD.

Для сервера у меня есть (читай: я застрял) хост с Windows XP SP 3 с DHCP и TFTP-сервером на нем. Не оптимально. Я уже упоминал, что застрял с этим?

В Google получено слишком много информации о установка по сети или настраивая на базе Linux серверов, чтобы я мог найти нужный мне сигнал в шуме.

Мне просто нужно знать (1) какие файлы поместить в каталог TFTP-сервера и (2) что назвать загрузочным файлом в DHCP.

У меня под рукой есть live CD iso, а также записанный образ. Если некоторые файлы компакт-диска нужно немного настроить, чтобы система смотрела на сеть, а не на компакт-диск, мне нужен способ сделать это из Windows (или ссылка на предварительно настроенные файлы), если это возможно.

Хорошо, сначала давайте проясним несколько заблуждений:

Как указал MailQ, для большинства конфигураций бездисковых серверов требуется NFS (поскольку вы упомянули ubuntu в комментариях, ознакомьтесь с их инструкциями). Это не ИМЕТЬ быть NFS (сетевая файловая система от Sun), но она должна быть А Сеть Файловая система - вы не можете PXE загружать весь образ ОС по сети1, а TFTP нужен только для того, чтобы дать вам ядро, которое может загружаться.
Затем ваше ядро ​​обращается к сети в поисках необходимых ему ресурсов (например, корневой файловой системы, обычно монтируемой через NFS). Согласно бессмертному лозунгу Sun, пионера бездисковых рабочих станций, The Network is The Computer, или, говоря современным языком Your data is in the cloud - в этом случае ваше локальное облако Ethernet ...

LiveCD напротив - это совсем другое животное - вы загружаетесь с компакт-дискане по сети, и у вас есть Файловая система компакт-диска для хранения вашей ОС (в наши дни обычно в магическом формате "squashFS"). Это от 600 МБ до 4 ГБ пространства - значительно больше, чем вы хотели бы раскладывать по сети Ethernet.

Как вы отметили, для Windows доступны серверы NFS (Сервисы для Unix / Подсистема для приложений Unix он есть, он вполне адекватен и прост в настройке. У Technet есть более подробная информация). Если вы хотите настроить это в производственной среде, вам потребуется установка Windows на сервере с установленными и правильно настроенными SFU / SUA.

Если предположить, что приведенные выше требования вас не обескуражили, У сотрудников Fedora есть руководство по настройке бездисковых систем Fedora.. Перевод UNIXизмов в их эквивалентные детали конфигурации на серверах Windows TFTP и NFS оставлен в качестве упражнения для читателя.


1 - Технически ты наверное жестяная банка PXE загружает весь образ диска ОС, но вы обязательно не должен: Объем трафика был бы сплошным безумием, вы не сможете нигде постоянно сохранять данные, а я никогда не видел такого зверя в дикой природе.

Для загрузки ISO-образа из сети вам потребуется:

  • DHCP-сервер настроен для направления ваших PXE-клиентов на TFTP-сервер и загрузки IPXE.
  • TFTP-сервер, на котором есть папка с IPXE (или IPXE + pxelinux) и memdisk
  • Сервер HTTP / FTP / NFS / iSCSI, который будет совместно использовать ISO

Смотрите также: http://www.syslinux.org/wiki/index.php/MEMDISK и http://forum.ipxe.org/showthread.php?tid=1123

По крайней мере, половина ответа выглядит следующим образом.

PXE загружает программу сетевой загрузки (NBP) на клиент, и именно NBP определяет, что будет дальше. Не уверен, сколько их и какие из них могут быть лучшими, но по крайней мере один пример - это «SYSLINUX», который содержит «PXELINUX».

PXELINUX принимает форму pxelinux.0 и должен находиться в базовом каталоге TFTP-сервера и должен быть тем, что DHCP вызывает для программы загрузки. Когда клиент PXE получает PXELINUX, PXELINUX читает файл конфигурации (очевидно, используя службу TFTP), который определяет, что будет дальше.

Осталось (мне кажется, открыть для себя самостоятельно), как правильно развернуть ядро ​​Fedora в каталог TFTP. Я заставил PXELINUX развернуть и запустить vmlinuz0 и initrd0, но они явно ожидали найти дополнительные файлы с компакт-диска.