03.03.2013 Views

LXFDVD - Журнал Linux Format

LXFDVD - Журнал Linux Format

LXFDVD - Журнал Linux Format

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Сетевая загрузка Учебник<br />

без винчестера<br />

1 Код PXE в сетевой карте или в BIOS компьютера рассылает по сети<br />

расширенный DHCP-запрос.<br />

2 Должным образом сконфигурированный сервер возвращает информацию<br />

о настройках DHCP, а также адрес сервера загрузки, код сетевого<br />

загрузчика и загрузочное меню, подобное обычному меню загрузки<br />

Grub или Lilo.<br />

3 Когда пользователь выбирает пункт меню (или истекает время ожидания),<br />

загрузчик PXE загружает ядро с указанного сервера загрузки,<br />

определяя расположение корневого раздела и другие параметры.<br />

4 Ядро монтирует корневой раздел с помощью NFS и запускает процесс<br />

/sbin/init, который загружает все остальное.<br />

Во всем этом участвуют три сервера: сервер DHCP, отвечающий<br />

на начальный запрос, возвращая информацию о настройках, сервер<br />

загрузки, содержащий ядро, и сервер NFS, содержащий корневую файловую<br />

систему, которая будет монтироваться при загрузке компьютера<br />

клиента. Они могут располагаться как на одном компьютере, так и на<br />

разных – выбор за вами – хотя проще располагать их вместе, особенно<br />

сервер DHCP и серверы загрузки.<br />

Предупреждение о перегрузке аббревиатурами: здесь вы встретите<br />

множество ТБС и РТБС. Мы уже использовали PXE, BIOS, DHCP и NFS,<br />

а будут и новые. Запомните их, так как чуть позже вас ждут тесты.<br />

Установка системы<br />

Во-первых, нам потребуется установленная система на сервере, с<br />

которого мы будем загружаться. Использовать ту систему, которая на<br />

нем уже стоит, нельзя: даже если аппаратная часть компьютеров полностью<br />

идентична, некоторые детали (особенно настройки системы в<br />

/etc) могут различаться. Для каждого клиента нужно установить ОС в<br />

отдельный каталог; обычно это /diskless/IPaddress, что позволяет вам<br />

хранить все установленные ОС клиентов в одном месте и без конфликтов,<br />

потому что два компьютера не могут иметь одинаковые IP-адреса.<br />

Простейший способ выполнить начальную установку системы – это<br />

подключить к будущему бездисковому компьютеру винчестер и привод<br />

CD/DVD и установить систему обычным образом. Если вы будете<br />

настраивать загрузку по сети в существующей системе, то этот этап<br />

уже пройден. Потом содержимое диска можно скопировать в соответствующий<br />

каталог на сервере – либо физически подключив диск, либо<br />

скопировав файлы через сеть. Поскольку вам когда-нибудь придется<br />

открывать сетевой доступ к каталогу сервера, сделаем это сейчас и<br />

скопируем файлы. В этом примере адрес сервера 192.168.2.10, а адрес<br />

клиента 192.168.2.50. Все команды необходимо выполнять с привилегиями<br />

администратора.<br />

На сервере добавьте строки<br />

/diskless/192.168.2.50 192.168.2.0/255.255.255.0(rw,sync,no_root_<br />

squash,no_all_squash,no_subtree_check,rw)<br />

в файл /etc/exports, запустите<br />

mkdir -p /diskless/192.168.2.50<br />

exportfs -a<br />

exportfs<br />

и убедитесь, что в выводе последней команды есть новый каталог. На<br />

клиенте запустите<br />

mkdir -p /mnt/remoteroot<br />

mount -t nfs /mnt/remoteroot 192.168.2.10:/diskless/192.168.2.50<br />

Хороший способ наблюдать за загрузкой в реальном времени - просматривать содержимое<br />

файлов журналов с помощью tail -f.<br />

rsync -ax / /mnt/remoteroot<br />

rsync -ax /home/ /mnt/remoteroot/home/<br />

rsync -ax /boot/ /mnt/remoteroot/boot/<br />

Две последних строки в этом примере нужны только в том случае,<br />

когда домашний каталог (home) и каталог загрузки (boot) находятся в<br />

различных разделах. Проще установить все в один раздел.<br />

А что делать, если жесткий диск к клиенту подключить нельзя?<br />

Тогда установите систему на сервер в раздел, который позже смон-<br />

«Диск не подключить к клиенту?<br />

Убедитесь, что настройки<br />

подходят к его аппаратной части.»<br />

тируете как /diskless. Проверьте, чтобы все настройки, задаваемые в<br />

процессе этой установки, были совместимы с аппаратной частью клиентской<br />

машины. Не устанавливайте загрузчик, и после перезагрузки<br />

сервер загрузится, как обычно. Теперь смонтируйте новый раздел как<br />

/diskless, создайте в нем каталог IPaddress и переместите остальное<br />

содержимое в этот каталог. Пользователям Gentoo сделать это проще,<br />

так как они могут установить систему вручную в каталог /diskless/<br />

IPaddress (просто используйте этот каталог при обычной установке<br />

вместо /mnt/gentoo).<br />

Удаленная установка системы отличается от обычной установки на<br />

локальный диск. Прежде всего, может потребоваться перекомпиляция<br />

ядра. На это есть две причины. Первая – ради возможности смонтировать<br />

корневой раздел по сети вы должны установить опцию ROOT_<br />

NFS=y. Вторая – в большинстве дистрибутивов для загрузки модулей,<br />

необходимых для работы оборудования, используется initrd (началь-<br />

Январь 2008 <strong>Linux</strong> <strong>Format</strong> 79

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!