Сервер мережевого завантаження (pxe) на freebsd ч

Продовжимо тему мережевого завантаження операційних систем, в попередній частині ми зробили початкові налаштування і розглянули запуск деяких утиліт. У цій частині ми розглянемо мережеву установку Unix-like систем на прикладі Ubuntu, OpenSuse і FreeBSD.

Для реалізації даного завдання, крім описаних установок попередньої глави, ще нам знадобитися NFS сервер і rsync, приступимо до налаштування.

За замовчуванням підтримка NFS під FreeBSD включена і якщо Ви не відключали опцію NFSSERVER в ядрі, то все повинно працювати.


Створюємо файл / etc / exports і додаємо в нього нашу папку.
ee / etc / exports
/ Usr / tftpboot -alldirs, ro -mapall = nobody: nobody -network 192.168.1.0/24


Далі додаємо в файл /etc/hosts.allow дозволу для доступу з нашої мережі (Додаємо перед рядком rpcbind. ALL. Deny)
rpcbind. 192.168.1.0/24. allow


У rc.conf додаємо
rpcbind_enable = "YES"
nfs_server_enable = "YES"
mountd_flags = "- r -n"


І запускаємо NFS Server (або перезавантажується)
/etc/rc.d/rpcbind start
/etc/rc.d/nfsd start


Перевіряємо нашу кулі -
showmount -e
Якщо все добре, то отримаємо -
Exports list on localhost:
/ Usr / tftpboot 192.168.1.0


ставимо rsync
cd / usr / ports / net / rsync /
make install clean
rehash


Завантаження Ubuntu мережі.


mkdir / usr / tftpboot / images / ubuntu
wget h ttp: //mirror.yandex.ru/ubuntu-releases/11.10/ubuntu-11.10-desktop-i386.iso
mount -t cd9660 / dev / `mdconfig -f ubuntu-11.10-desktop-i386.iso` / mnt
rsync -a / mnt / / usr / tftpboot / images / ubuntu /
umount / mnt
mdconfig -d -u 0


У файл /usr/tftpboot/pxelinux.cfg/default додаємо -
label kubuntu
menu label ^ Ubuntu
kernel images / kubuntu / casper / vmlinuz
append boot = casper netboot = nfs nfsroot = 192.168.1.1: / usr / tftpboot / images / kubuntu
initrd images / kubuntu / casper / initrd.lz

Завантажуємося по мережі і бачимо звичайний убунтовскій LiveCD c можливістю установки.

Сервер мережевого завантаження (pxe) на freebsd ч

Для автоматичної установки необхідно використовувати файли відповідей, їх приклад Ви можете подивитися в папці дистрибутива / preseed, в межах цієї частини статті я їх розбирати не буду.

Створюємо папку -
mkdir / usr / tftpboot / images / opensuse

Розміщуємо їх в папку / usr / tftpboot / images / opensuse. туди ж копіюємо дистрибутив і прописуємо в файл конфігурації мережевої завантаження (default) -

label openSUSE
menu label ^ OpenSuSe
kernel images / opensuse / linux
append initrd = images / opensuse / initrd install = nfs: //192.168.1.1: / usr / tftpboot / images / opensuse /

Також цікаво:

C установкою FreeBSD вийшла деяка накладка через використання вендового DHCP, але про все по порядку.

Створюємо папку, монтуємо і копіюємо -

mkdir / usr / tftpboot / images / freebsd
mount -t cd9660 / dev / `mdconfig -f FreeBSD-8.2-RELEASE-i386-disc1.iso` / mnt
rsync -a / mnt / / usr / tftpboot / images / freebsd /
umount / mnt
mdconfig -d -u 0

В default додаємо -

label freebsd
menu label FreeBSD LiveFS
pxe images / freebsd / boot / pxeboot

В DHCP (вендовий) додаємо кореневої шлях (пункт 017 - Кореневий шлях)
/ Usr / tftpboot / images / freebsd і.

Сервер мережевого завантаження (pxe) на freebsd ч

Скільки я не бився, але передати root path через вендовий dhcp у мене так і не вийшло, все одно приймає /. Якщо хто поділиться секретом (без колупання початкових кодів pxe) буду щиро вдячний.

В якості тимчасового рішення (навіть не тимчасового, а для тесту), заглушив вендовий DHCP і поставив на ФРЮ.

Налаштування DHCP сервера тут я не розглядаю, наведу тільки опис області -

додаємо в файл /usr/tftpboot/images/freebsd/boot/loader.conf -

І пробуємо завантажитися, з'являється вікно sysinstall, де ми після всіх налаштувань вибираємо з чого встановлюватися, відповідно - Install over NFS і вводимо шлях до нашої кулі з дистрибутивом.

Також можна автоматизувати процес установки, створивши файл install.cfg. який надалі повинен бути переміщений всередину mfsroot.gz

cd / usr / tftpboot / images / freebsd
gzip -d boot / mfsroot.gz
mdconfig -a -t vnode -f boot / mfsroot -u 9
mount / dev / md9 / mnt / tmp
cp install.cfg / mnt / tmp
umount / mnt / tmp
mdconfig -d -u 9
gzip boot / mfsroot

Як я вже говорив, автоматичну установку в цій частині статті ми не розглядаємо
Приклад файлу автоматичної установки можна подивитися тут

Надалі я постараюся розглянути установку Windows систем, автоматичну установку ОС, можливо ще створення і використання різних LiveCD, соотвественно в розрізі мережевий завантаження.

День добрий, зробив все як описано, до слів "Завантажуємося по мережі і бачимо звичайний убунтовскій LiveCD c можливістю установки" але процес завантаження далі не пішов. видає NFS over TCP not available from 192.168.1.2.
freebsd теж завмирає але з іншим повідомленням спочатку mounting from ufs: / dev / md0 failed with error 19
потім відразу йде спроба монтування nfs і тут вже завмирає з повідомленням
NFS ROOT: 192.168.1.2:/pxe/freebsd
re0: link state changed to UP
ос freebsd9.0

Схожі статті