Автоматическое развертывание систем с FreeBSD и PC-BSD
Рабочий день сисадмина Sai начинался вполне буднично. Надев любимый свитер с демоненком и заварив чашку свежего ароматного кофе, он по многолетней привычке начал день с изучения логов на серверах. Сервера привычно гудели кулерами и рапортовали об отменном здоровье и отсутствии происшествий. Идиллию прервал звонок от шефа, сообщившего о поставке трех новых серверов и 20 компьютеров, на которые незамедлительно требовалось установить правильную ОС. Поскольку перспектива многочасовой установки на такое количество компьютеров сисадмина не вдохновляла, было решено использовать PXE, о чем собственно и поведает наша статья.
В PC-BSD 9.x, установка системы проходит по сценарию, заданному установщиком pc-sysinstall, что дает нам возможность автоматизировать развертывание серверов на FreeBSD и десктопов на PC-BSD используя загрузку по PXE. В PC-BSD и FreeBSD 9.1 и выше, данная функциональность легко реализуется с использованием утилиты pc-thinclient. Загрузка по PXE позволяет вам загрузить систему, используя сетевой интерфейс как альтернативу традиционным способам, таким как DVD и USB. Для загрузки по PXE необходимо чтобы использовался PXE-совместимый сетевой адаптер. Начальная настройка PXE Для начала, у вас должна быть система под PC-BSD или FreeBSD 9.1 с двумя сетевыми адаптерами и все дерево портов в /usr/ports. Если не вы ставили коллекцию портов, то можете скачать ее, используя команду
от имени суперпользователя root. После, запустите терминал от root'a и введите команду pc-thinclient:
Ничтоже сумняшеся, жмем Y и видим следующее окошко:
Тут уже нам предлагают выбрать роль сервера, поскольку нам необходим сервер, с которого мы будет разворачивать системы по PXE, то наш выбор install server и смело жмем "i". Опция remote X desktop означает по сути терминальный сервер в данной статье не рассматривается. Получив указание, утилита pc-thinclient бодро начнет установку порта net/isc-dhcp42-server. Нам вполне подойдут установки по умолчанию, потому и соглашаемся со всеми опциями в процессе установки. После завершения, утилита запросит нас о выборе используемого PXE сетевого интерфейса:
Укажите требуемое имя вашей сетевой карточки с поддержкой PXE, после чего запустится DHCP-сервер (при этом следует учесть, что в сети не должно быть других DHCP-серверов) и радостно оповестит о завершении установки, выведя соответствующее сообщение:
Из которого следует, что для выбора различных типов установки системы соответствующие скрипты нужно поместить в /usr/home/thinclient/installscripts, а для "тихой" установки скрипты помещаются в /usr/home/thinclient/installscripts/ в виде unattended.cfg Теперь следует загрузить компьютер-клиент с поддержкой PXE, и в случае успешной загрузки по сети вы увидите следующее окно: Выбрав пункт "install" вам будет дана возможность установить базовую систему FreeBSD на примере тестового скрипта (ниже мы рассмотрим как использовать свои собственные скрипты). После выбора вам будет предложено подтвердить еще раз что вы хотите произвести установку с использованием данной конфигурации и начнется собственно установка. Кроме того, вам также будет доступен "emergency shell", то есть консоль восстановления, что бывает очень полезным в случае проблем с загрузкой системы либо для проведения операций с файловой системой. Настройка скриптов установки. Конечно, после настройки сервера PXE вам захочется создать свои собственные сценарии установки. Утилита pc-thinclient любезно предоставляет примеры установочных скриптов в папке /usr/home/thinclient/installscripts/ в которую и следует размещать свои скрипты. Все скрипты, размещенные в этой директории будут доступы в виде опций при загрузке клиента по PXE. Зная место расположение скриптов, давайте ознакомимся с конфигом, используя pc-sysinstall.example в качестве примера:
Большинство параметров в комментировании не нуждаются, но хотелось бы пояснить такие параметры как installMedium=local и localPath=/installarchive. Так как pc-sysinstall поддерживает ряд методов извлечения архивов для установки, мы можем использовать fbsd-release.txz в папке /usr/home/thinclient/installarchive для установки. Этот каталог для клиентов PXE будет выглядеть как /installarchive, позволяя вам использовать собственные архивы конфигураций FreeBSD/PC-BSD для ваших нужд. Совет! Если вы используете утилиту Warden (представляющая собой графический интерфейс для механизма виртуализации FreeBSD Jail), то можете использовать jail для настройки конфигурации на хост-машине. После того, как вы будете довольны результатом, нужно остановить jail и создать архив с помощью команды
После того, как вы определились с типом развертываемой системы, наверняка вы захотите разметить файловую систему. В примере приводится очень простая разметка, из которой следует, что используется диск ada0, он весь отводится под систему, включено Soft-Updates и журналирование, тип ФС - UFS, под /root отведен 1Gb, под swap 2 Gb, остальное отдано под /usr. pc-sysinstall также способен работать и с файловой системой ZFS по аналогичному сценарию: #Setup the disk label # All sizes are expressed in MB # Avail FS Types, UFS, UFS+S, UFS+J, ZFS, SWAP # Size 0 means use the rest of the slice size disk0-part=ZFS 0 /,/usr,/var,/root (mirror: ada1) commitDiskLabel Совет! Поскольку каждая установка производится по единому сценарию, неплохим способом будет экспериментирование с различными способами разметками ZFS, используя виртуализацию VirtualBox и PC-BSD. Произведя установку с DVD на виртуальную машину и пользуясь графическим интерфейсом, настройте разметку как вам необходимо и после завершения установки конфиг pc-sysinstall будет доступен в /root/pc-sysinstall.cfg Хотя этот пример достаточно упрощенный, могут быть созданы гораздо более сложные виды разметки с использованием ZFS, в том числе raidz, наборы данных и многое другое. Ну и напоследок рассмотрим использование с помощью pc-thinclient так называемой "тихой" установки, которая делает процесс полностью автоматизированным, то есть без участия пользователя. Для этого достаточно разместить сценарий настройки в виде файла unattended.cfg в каталоге /usr/home/thinclient/installscripts/. При первой загрузке PXE клиента будет произведена проверка на наличие файла unattended.cfg и в случае его наличия, он будет использован для установки системы. Данный способ следует использовать с осторожностью, так как в случае уже установленной системы и загрузки системы через PXE будет произведена полная переустановка. Рекомендуется использовать его для массовой установки. Вот так вкратце мы рассмотрели способ развертывания система PC-BSD и FreeBSD через PXE. Если вам стала интересна данная тема и вы хотели бы получить более глубокие познания в данной области, обратите внимание на wiki-ссылки на pcbsd.org, такие как • http://wiki.pcbsd.org/index.php/Thin_Client • http://wiki.pcbsd.org/index.php/Creating_an_Automated_Installation_with_pc-sysinstall а также на список рассылки и форум: • http://lists.pcbsd.org • http://forums.pcbsd.org/ KRIS MOORE Перевел и адаптировал synergix. При копирование материала индексируемая гиперссылка обязательна. Рейтинг статьи:
Нашли ошибку?
|
Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь. Мы рекомендуем Вам зарегистрироваться либо зайти на сайт под своим именем.