Сборка и развертывание образа бездискового клиента с корнем на nbd
nbd - это тип устройства, а также прикладной сетевой протокол в linux, который позволяет работать с блочными устройствами (либо файлами как блочными устройствами) по сети.
Ближайший аналог - iSCSI, но есть некоторые отличия. Например, nbd внутри значительно проще, протокол предусматривает набор команд для блочного устройства, например чтение, запись, указание смещения от начала устройства. iscsi же реализует внутри себя весь его (scsi) функционал - например определение типа устройства, копирование между устройствами, работа с несколькими устройствами по одному каналу, и т.д.
Ещё один аналог - AoE, но опять же есть отличия. AoE работает на одном уровне с ip, что уменьшает накладные расходы, но позволяет использовать его только в пределах одной подсети, т.к. он немаршрутизируемый. AoE не гарантирует целостность передаваемых данных и зависит от надежности оборудования.
Установка времени из initramfs
При работе на старом оборудовании может возникать ситуация, когда время в BIOS'е на рабочих станциях постоянно сбрасывается на заводское значение. При использовании корневой ФС семейства ext*, это может вызвать отказ в монтировании со следующей ошибкой: Superblock last mount time is in the future
.
Создание PXE загрузчика на любом носителе
Когда нет под рукой сетевой платы с загрузчиком PXE или нужно загрузиться по сети, а в BIOS не предусмотренно такой возможности на помощь приходит проект gPXE.
gPXE - это open source реализация сетевого загрузчика поддерживающая большое количество сетевых плат, без необходимости размещения загрузчика в ПЗУ. Т.е. для сетевой загрузки нам потребуется сетевая плата, дискета(USB flash, CD диск и т.п.) и образ загрузчика с сайта автоматического создания образов. Для любителей сбора образов из исходников смотреть тут.
!!! По умолчанию подключаются все известные модели сетевых плат, поэтому для уменьшения размера образа можно выбрать только используемую(мые) модели
Создание PXE загрузочной дискеты
Загрузить образ с сайта автоматического создания образов с расширением *.dsk*
или собрать из исходного кода командой make bin/gpxe.dsk
Записать образ на дискету dd if=bin/gpxe.dsk of=/dev/fd0
или cat bin/gpxe.dsk > /dev/fd0
Создание PXE загрузочного диска
Загрузить образ с сайта автоматического создания образов с расширением *.iso*
или собрать из исходного кода командой make bin/gpxe.iso
Записать образ на диск dd if=bin/gpxe.iso of=/dev/cdrom
или воспользоваться программой записи дисков.
Создание PXE загрузочной флешки
Загрузить образ с сайта автоматического создания образов с расширением *.usb
или собрать из исходного кода командой make bin/gpxe.usb
Записать образ на флешку dd if=bin/gpxe.usb of=/dev/sdX
Вместо /dev/sdX необходимо указать флешку и главное не спутать с жестким диском. :-)
!!! Путь bin/gpxe.x может отличаться истинного расположения, поэтому необходимо подставить свое местоположение образа
Статья подготовлена на основе вики-статьи с сайта etherboot.org