FreeBSD 6.0 по сети на сервер без CDROM и Floppy


Устанавливаем FreeBSD 6.0 по сети на сервер без CDROM & Floppy [Май. 9, 2006|06:25 pm]

Казалось бы, зачем так извращаться? Однако, как показала практика, 1U-сервер не обладающий ни дисководом, ни CD-ROM, является суровой реальностью сегодняшнего дня.

Итак, для установки FreeBSD 6.0 по сети надо сделать следующее:

1) Соединить сетевым кабелем два компьютера: "сервер", откуда мы будем ставить систему и "клиент", на который будет ставиться система (предполагается, что сетевая карта "клиента" поддерживает загрузку по сети PXE boot).

2) Из программного обеспечения нам понадобятся: DHCP-сервер (необходим для того, что бы "клиент" мог получить IP-адрес), TFTP-сервер (он будет давать "клиенту" загрузчик и ядро), NFS-сервер (для передачи на клиент всего остального). Кроме того желательно наличие инсталляционного CD-ROM FreeBSD 6.0 :-)

3) Итак на "сервере" устанавливаем пакет "isc-dhcp3-server" (cd /usr/ports/net/isc-dhcp30-server; make install clean).

4) Настраиваем DHCP:

/usr/local/etc/dhcpd.conf:
authoritative;

subnet 192.168.0.0 netmask 255.255.255.0 {
}

host bsdserv {
# тут надо вставить MAC-адрес ВАШЕГО "клиента"
hardware ethernet 00:0C:29:C6:93:E1;
# IP-адрес "клиента"
fixed-address 192.168.0.64;
# IP-адрес "сервера"
next-server 192.168.0.8;
# путь к загрузчику
filename "boot/pxeboot";
# корень TFTP сервера
option root-path "/tftpboot"
}

5) Настраиваем TFTP, для этого нам надо раскомментировать одну строчку в файле /etc/inetd.conf:

tftp dgram udp wait root /usr/libexec/tftpd tftpd -l -s /tftpboot

6) Настраиваем сервер NFS. В файле /etc/exports пишем:

/tftpboot -network 192.168.0 -mask 255.255.255.0

7) Предпоследний штрих -- положим в нужные места нужные файлы. В CD-ROM загружаем установочный диск FreeBSD 6.0. И затем копируем его содержимое в /tftpboot:

mount /cdrom
mkdir /tftpboot
cp -Rp /cdrom /tftpboot

8) И наконец редактируем файл /tftpboot/boot/loader.conf, добавляя туда следующую строку:

vfs.root.mountfrom="ufs:/dev/md0c"

9) Все готово, осталось изменить /etc/rc.conf для автоматической загрузки необходимых демонов:

# Задаем IP-адрес на сетевой карте "сервера"
ifconfig_fxp0="inet 192.168.0.8 netmask 255.255.255.0"

# Запускаем DHCP
dhcpd_enable="YES"
dhcpd_conf="/usr/local/etc/dhcpd.conf"

# Запускаем NFS
rpcbind_enable="YES"
nfs_server_enable="YES"

# Запускаем inetd (для TFTP)
inetd_enable="YES"

10) Перезагружаемся

11) Загружаем "клиента" по сети с нашего "сервера" и устанавливаем на него систему. Когда инсталляционный скрипт спросит местонахождение дистрибутива, надо не забыть выбрать опцию "NFS" Install over NFS, и ввести соответствующий путь: 192.168.0.8:/tftpboot. После этого согласиться попробовать на сетевом интерфейсе DHCP.

12) Все.

P.S. Не экономьте на конфигурации сервера. Покупайте CD-ROM :-)

Обновлено: 12.03.2015