Домашняя » как » Что такое сетевая загрузка (PXE) и как ее использовать?

    Что такое сетевая загрузка (PXE) и как ее использовать?

    Вам когда-нибудь приходилось устранять неполадки или диагностировать проблемный компьютер, и вы забыли, где находится компакт-диск с утилитой? Мы покажем вам, как использовать сетевую загрузку (PXE) с FOG, чтобы эта проблема ушла в прошлое.

    Изображение от h.koppdelaney

    Обзор PXE

    PXE (Pre eXecution Environment), ласково произносится Pixie (как в сказочной пыли), представляет собой метод загрузки конечного компьютера (клиента) с использованием только его сетевой карты. Этот метод загрузки был создан еще в 1999 году, и, пока компьютер подключен к сети (и поддерживает этот стандарт), можно обойти обычную процедуру загрузки (IE Power on -> BIOS -> HD / CD) и сделайте некоторые изящные вещи, начиная с поиска неисправностей, заканчивая использованием liveOS и даже перезаписывая компьютер…. но мы опережаем себя, давайте вернемся к началу.

    При использовании PXE процесс загрузки изменяется с обычного порядка на:

    Включение -> BIOS -> PXE-стек сетевой карты -> Программа сетевой загрузки (NBP), загруженная с помощью TFTP с сервера в оперативную память клиента -> Ответственность NBP за выполнение следующего шага (a.k.a. загрузка 2-го этапа).

    Используя NBP «PXElinux», можно настроить сервер для более чем одной загрузочной программы PXE для наших клиентов. В некотором смысле, это секретный компонент, который позволяет нам выполнять все вышеперечисленное, а затем и некоторые. Для более подробного объяснения всего процесса, его истории и некоторых параметров инфраструктуры, которые он и gPXE (который является более развитым кузеном), смотрите эту лекцию на YouTube от их разработчиков. Кроме того, ниже приведено видео установки 2008 года, в которой быстро рассматриваются некоторые возможности загрузки..


    Примечание. В этом видео устаревший проект UDA используется в качестве основы для сервера, а аннотации были направлены на то, чтобы объяснить другу (в то время) недавние добавления к нему.

    Цель

    Это руководство будет первым из серии руководств о PXEing. В этом руководстве мы заложим основы, на которых мы будем основываться в будущих статьях.

    Рекомендации, предположения и предпосылки

    • Клиентский компьютер, с которым вы тестируете, поддерживает PXE-загрузку, и вы знаете, как его включить.
    • Это руководство было написано и протестировано с использованием Debian Squeeze, Ubuntu server 9.10 и Linux Mint10. Поэтому предполагается, что у вас есть система на основе Debian для работы с.
    • Возможно, вы захотите взглянуть на «Как настроить программный RAID для простого файлового сервера» и «Как настроить агрегацию сетевых ссылок (802.3ad)», потому что требования к пропускной способности диска и сети для этого типа серверов могут быть очень высокими и очень быстрыми. Настоятельно рекомендуется строить на основе сервера с высокой отказоустойчивостью для его сетевой и дисковой подсистем..
    • Вы увидите, что я использую VIM в качестве программы-редактора, просто потому, что я к этому привык… вы можете использовать любой другой редактор, который вам нравится.

    Установка - Тяжелый подъем с помощью FOG

    FOG - это бесплатное решение для клонирования компьютеров с открытым исходным кодом, созданное * Chuck Syperski и Jian Zhang. FOG берет регулярно доступное программное обеспечение (например, Apache, MySQL и tftpd-hpa) и упаковывает их в бесплатное и производительное решение для управления жизненным циклом ПК (PCLM). Используя этот бесплатный PCLM, можно создавать резервные копии состояния компьютера, создавая его изображения, развертывать программы и настройки (IE Firefox, Office, принтеры и т. Д.) И политики конфигурации (параметры автоматического выхода из системы IE и заставки), а также несколько других, через один центральный веб-интерфейс.
    Заметка: Интервью с Чаком и Цзянем о FOG доступно в Tightwad Tech.

    Использование FOG в качестве основы для вашего PXE-сервера - отличный способ получить все необходимые компоненты, такие как TFTP и, при необходимости, DHCP на месте без необходимости устанавливать и настраивать их вручную, предоставляя вам все функциональные возможности FOG как бонус.

    Поскольку наша цель состоит в том, чтобы добавить функциональность в эту и без того великолепную систему, мы не будем подробно рассказывать о том, как использовать сам FOG, а также о процедуре его установки. Вики FOG, с их письменными и видео практическими рекомендациями, достаточно надежны, чтобы получить подробную информацию, если вы хотите разобраться с ней. Обобщенные шаги:

    • sudo mkdir -p / opt / fog-setup
      cd / opt / fog-setup

    • Загрузите последний пакет FOG из sourceforge в каталог, созданный на предыдущем шаге.
    • Распакуйте пакет и начните установку.

      sudo tar -xvzf туман *
      CD туман *
      CD bin
      sudo ./installfog.sh

    • Программа установки предложит вам несколько раз:
      1. Для какой версии Linux вы хотите запустить установку? - 2 (опять же, при условии, что используется система на основе Debian)
      2. Какой тип установки вы хотели бы сделать? [N] - введите
      3. Какой IP-адрес будет использоваться этим сервером FOG? [Сервер-IP-обнаружен-на-eth0] - Войти.
      4. Хотели бы вы настроить адрес маршрутизатора для DHCP-сервера? [Y / n] - введите.
      5. Хотели бы вы настроить DNS-адрес для DHCP-сервера и загрузочного образа клиента? [Y / n] - введите.
      6. Хотели бы вы изменить сетевой интерфейс по умолчанию с eth0? Если вы не уверены, выберите Нет. [Y / N] - Enter.
      7. Хотели бы вы использовать сервер FOG для службы dhcp? [Y / n] - * Enter
      8. Эта версия FOG имеет поддержку интернационализации, вы хотите установить дополнительные языковые пакеты? [Да / Нет] - Нет.
      9. Вы уверены, что хотите продолжить (Да / Нет) - Да.
      10. Подтвердите и следуйте инструкциям на экране для «MySQL«.
      11. Оставь MySQL пароль пуст для корневого аккаунта.
      12. Хотели бы вы уведомить группу FOG об этой установке? - Y (рекомендуется)

      Изображение из FOG вики.
    • Перейдите на адрес Fog в вашем браузере и следуйте инструкциям на экране.

    *Заметка: Если вы делаете НЕ есть другой DHCP или что он не настроен для обработки PXE. Если вы хотите настроить существующий DHCP, см. Настройка DHCP для PXE.

    Что касается установки FOG, то так и должно быть. Опять же, хотя FOG - отличная система, ее использование не является целью данного руководства, и мы рекомендуем вам перейти к ее вики, чтобы вы могли лучше понять возможности FOG и то, как она может помочь вам управлять своими клиентами. жизненный цикл.

    Если все в порядке, вы сможете запустить PXE на своей клиентской машине (обычно F12) и получить доступ к стандартному меню FOG..

    Изображение снято Hotfortech.

    В качестве быстрого «вкуса впереди» вы можете выбрать опцию «Запустить Memtest86 +» и поприветствовать программу Memtest, которую мы рассмотрели в нашем руководстве «Диагностика аппаратных проблем ПК с Ubuntu Live CD»..

    Структуры файлов и каталогов

    Как указывалось ранее, наша цель - расширить возможности FOG, и для этого нам потребуется добавить некоторые файлы и каталоги..

    Создайте структуру подкаталога:

    sudo mkdir -p / tftpboot / howtogeek / menus
    sudo mkdir -p / tftpboot / howtogeek / linux
    sudo mkdir -p / tftpboot / howtogeek / pics
    sudo mkdir -p / tftpboot / howtogeek / utils

    Эти подкаталоги будут служить шаблонами для всех изображений, программ и конфигураций, которые мы будем использовать для расширения FOG..

    Настройка файла конфигурации по умолчанию

    Мы создадим новое главное меню и поместим все функции FOG в свое подменю..

    Скопируйте файл конфигурации /tftpboot/pxelinux.cfg/default в файл howtogeek / menus / fog.cfg.

    sudo cp /tftpboot/pxelinux.cfg/default /tftpboot/howtogeek/menus/fog.cfg

    Теперь отредактируйте содержимое исходного файла «по умолчанию»:

    sudo vim /tftpboot/pxelinux.cfg/default

    Сделайте его содержимое похожим на это:

    ПО УМОЛЧАНИЮ vesamenu.c32
    НАЗВАНИЕ МЕНЮ ТУМАН 0.32 + Усовершенствования HowToGeek
    МЕНЮ ВКЛЮЧАЕТ /pxelinux.cfg/master.cfg
    название цвета меню 1; 36; 44 # ff8c00 # 00000000 std
    LABEL FOG
    ЭТИКЕТКА МЕНЮ
    МЕНЮ ПО УМОЛЧАНИЮ
    KERNEL vesamenu.c32
    ПРИЛОЖИТЬ howtogeek / menus / fog.cfg

    LABEL Utils MENU
    LABEL Utilities
    KERNEL vesamenu.c32
    ПРИЛОЖИТЬ howtogeek / menus / utils.cfg

    LABEL Linux
    МЕНЮ ЭТИКЕТКА Linux материал
    KERNEL vesamenu.c32
    ПРИЛОЖИТЬ howtogeek / menus / linux.cfg
    ЭТИКЕТКА
    localboot 0
    МЕНЮ LABEL Загрузка с жесткого диска
    ТЕКСТОВАЯ ПОМОЩЬ Загрузка с локального жесткого диска. Если вы не уверены, выберите эту опцию.
    ENDTEXT
    ПОДСКАЖИТЕ 0 ВРЕМЯ 300
    ONTIMEOUT fog.local

    Когда мы закончим, эта конфигурация предоставит вам 3 подменю: «Утилиты», «Ручная работа», «Linux».

    Создайте «главный» файл

    Мастер-файл позволяет нам вносить глобальные изменения во внешний вид меню, не вводя их повторно по отдельности снова и снова. Такие вещи, как фоновое изображение по умолчанию, стиль рамки, положение Etc ', все будут объединены в этом master.cfg файл.

    Создайте файл:

    sudo vim /tftpboot/pxelinux.cfg/master.cfg

    Сделать его содержимое похожим на:

    ФОН МЕНЮ fog / genie.png
    цветной экран меню 37; 40 # 80ffffff # 00000000 std
    цвет границы меню 30; 44 # 9370db # 00000000 std
    название цвета меню 1; 36; 44 # ff8c00 # 00000000 std
    цвет меню unsel 37; 44 #ffffffff # 00000000 std
    цвет меню горячая клавиша 1; 37; 44 #ffffffff # 00000000 std
    цвет меню sel 7; 37; 40 # 4eee94 # 9370db все
    цвет меню hotsel 1; 7; 37; 40 # e0400000 # 20ff8000 все
    Цвет меню отключен 1; 30; 44 # 60cccccc # 00000000 std
    цветная полоса прокрутки меню 30; 44 # 40000000 # 00000000 std
    цвет меню tabmsg 31; 40 # 90ffff00 # 00000000 std
    цвет меню cmdmark 1; 36; 40 # c000ffff # 00000000 std
    цвет меню cmdline 37; 40 # c0ffffff # 00000000 std
    цвет меню pwdborder 30; 47 # 80ffffff # 20ffffff std
    цвет меню pwdheader 31; 47 # 80ff8080 # 20ffffff std
    цвет меню pwdentry 30; 47 # 80ffffff # 20ffffff std
    цвет меню timeout_msg 37; 40 # 80ffffff # 00000000 std
    тайм-аут цвета меню 1; 37; 40 # c0ffffff # 00000000 std
    справка по цвету меню 37; 40 # c0ffffff # 00000000 std
    цвет меню msg07 37; 40 # 90ffffff # 00000000 std

    МЕНЮ МАРГИНА 0
    ПАРОЛЬ МЕНЮ МЕНЮ 3
    Строки меню 15
    MENU TABMSGROW 21
    МЕНЮ CMDLINEROW 20
    ПАРОЛЬ МЕНЮ 11
    ВРЕМЯ В МЕНЮ 20
    МЕНЮ HSHIFT 0
    МЕНЮ VSHIFT 0

    Приведенная выше конфигурация создаст фиолетовые границы и подсветку, если вы хотите изменить внешний вид, просто измените значения.
    Чтобы установить фоновое изображение, поместите изображение в/ tftprootКаталог и укажите «ФОН МЕНЮ”К относительному пути изображения (мы рекомендуем использовать изображения с разрешением 640 * 480). Например, полный путь для вышеупомянутой сконфигурированной картинки будет:/tftproot/fog/bg.png«.

    Подключите подменю FOG к главному меню

    Поскольку мы сделали простую копию исходного файла конфигурации в подкаталоге меню (сохраняя его цветовую схему, тайм-ауты и т. Д.), Если вы сейчас войдете в это подменю из загруженного клиента PXE, он будет работать, но вы будете не сможет вернуться в главное меню без перезагрузки машины.

    Так что отредактируйте /tftpboot/howtogeek/menus/fog.cfg файл:

    sudo vim /tftpboot/howtogeek/menus/fog.cfg

    Добавьте эту запись после записи «заголовок цвета меню» и перед функциями FOG:

    ЭТИКЕТКА назад
    МЕНЮ ЭТИКЕТКА…
    KERNEL vesamenu.c32
    ПРИЛОЖИТЬ pxelinux.cfg / default

    Создать скелеты подменю

    Мы создали 4 подменю, три из которых должны заполнить. Для этого давайте создадим шаблон, на котором мы будем строить.

    Создайте файл шаблона:

    sudo vim /tftpboot/howtogeek/menus/template.cfg

    Сделайте это своим содержанием:

     

    МЕНЮ ВКЛЮЧАЕТ /pxelinux.cfg/master.cfg
    #MENU BACKGROUND howtogeek / pics / fog-sub.jpg
    LABEL назад МЕНЮ LABEL…
    KERNEL vesamenu.c32
    ПРИЛОЖИТЬ pxelinux.cfg / default

    Позволяет установить основу для дополнительных подменю, которые будут рассмотрены в следующих руководствах:

     

    cd / tftpboot / howtogeek / menus /
    sudo cp template.cfg ./utils.cfg
    sudo cp template.cfg ./linux.cfg

    Вот и все, базовая схема уже готова, и теперь нам нужно только опираться на нее, что мы и сделаем в будущих руководствах. До тех пор, пока не появятся эти будущие руководства, вам рекомендуется ознакомиться с FOG, так как это захватывающая поездка на себя.

    Обновление: будущее здесь :)

    Как загрузить по сети (PXE) LiveCD Ubuntu
    Как загрузить сетевой диск BitDefender Rescue CD (PXE)
    Как настроить сетевые загрузочные диски с помощью PXE


    Иди сам