URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 89962
[ Назад ]

Исходное сообщение
"Freebsd бездисковые станции"

Отправлено xservices , 05-Окт-10 10:00 
Здравствуйте, помогите настроить без дисковые станции на основе вот этой статьи
http://mechanoid.narod.ru/unix/diskless2/index.html

Что сделанно:

Установил фрю.
Сделал
#mkdir /diskless/rootfs
#mkdir /diskless/nodes
#mkdir /diskless/home

Далее установил
isc-dhcp3-server

Конфиг
ddns-update-style none;
use-host-decl-names on;
option routers 192.168.1.1;
next-server 192.168.1.134;
filename "pxeboot";
option root-path "192.168.1.166:/diskless/rootfs";
#option swap-path code 128 = text;
subnet 192.168.1.0 netmask 255.255.255.0 {
}

host node4 {
hardware ethernet 00:13:77:03:5B:29;
fixed-address 192.168.1.166;
}


Далее создал
# mkdir /diskless/tftpboot
И раскоментировал tftp в inetd
добавил в syslog

Далее скопировал загрузчик в папку tftp
# cp /boot/pxeboot /diskless/tftpboot/

Потом соответственно добавил строки в rc.conf
rpcbind_enable="YES"
nfs_server_enable="YES"
nfs_server_flags="-u -n5"

И добавил в /etc/exports

/usr -ro -maproot=0 -network 192.168.1 -mask 255.255.255.0
/diskless/rootfs -maproot=0 -network 192.168.1 -mask 255.255.255.0
/diskless/home -mapall=0 -network 192.168.1 -mask 255.255.255.0
# work1
/diskless/nodes/192.168.1.166/var -mapall=0 192.168.1.166

далее запустил nfs
и mount -r

Далее выполнил команды скопировав файлы для работы из системмы и создал сивол линк на tmp
# mkdir -p /diskless/rootfs && cd /diskless/rootfs
# cp -r  /boot /bin /lib /libexec /sbin .
# mkdir -p dev home proc usr var etc conf/default
# ln -s tmp /var/tmp

Далее создал каталог для бездисковой станции
# cd /diskless/nodes
# mkdir -p 192.168.1.166/var

И создал файл подскачки так же 3 метра для теста
# dd if=/dev/zero of=/diskless/nodes/192.168.1.166/var/swap bs=1k count=64000

Далее создал ядро добавив в него опции

options BOOTP
options BOOTP_NFSROOT
options NFS_ROOT


# cd /usr/src/sys/i386/conf
# /usr/sbin/config DISKLESS
# cd /usr/src/sys/i386/compile/DISKLESS/
# make cleandepend depend all


И скопировал в каталог ядра для бездисковых

cp /usr/src/sys/i386/compile/DISKLESS/kernel /diskless/rootfs/boot/kernel/

Далее он там пишет

вариант - воспользоваться системными скриптом /etc/rc.initdiskless. Для начальной инициализация бездисковой станций необходимо чтобы в каталоге /diskless/rootfs/etc был следующий набор файлов, скопированных из /etc:

# ls /diskless/rootfs/etc
login.conf   rc   rc.initdiskless   rc.subr

Работает это следующим образом: скрипт rc запускает rc.initdiskless, который проверяет как смонтирован корень файловой системы. Если выясняется что корень это NFS то запускаются сценарии инициализации бездисковой станции, содержащиеся в каталоге /conf.

Скопировал получилось так же
# ls /diskless/rootfs/etc
login.conf   rc   rc.initdiskless   rc.subr


Далее
В /diskless/rootfs/conf создадим следующие подкаталоги[4]:

base     -     задает начальную структуру каталогов
defauts     -     настройки по умолчанию
ip     -     персональные настройки узлов


Создал эти каталоги

Вот далее он пишет

# В каталоге base создадим подкаталог etc, в котором создадим текстовый файл с именем md_size. Содержимое этого файла - число 6144.

Это значит, что при запуске в памяти без дисковой станции будет создан виртуальный диск размером 6144 блока (3MB), точка его монтирования - /etc.

# В каталог defauts положим копию /etc, это будут настройки системы по умолчанию. Там необходимо поправить файл fstab, заменив локальные диски на nfs, ну и всё прочее, что сочтёте для себя нужным изменить.

# В каталоге ip создадим подкаталог 192.168.21.4 и внутри него etc. Это будут персональные настройки без дисковой станции 192.168.21.4. Сюда можно положить файл X11/xorg.conf с настройками X-сервера, fstab с указанием персонального nfs-каталога /var, скрипт rc.d/swap2, который будет подключать swap-файл и др.


в base я сделал так.
в defaults/etc скопировал /etc
в ip создал etc каталог

Далее попробовал запустить без дискового клиента

Клиену dchp Ответил дал ип и сказал гед tftpd и сказал какой гатевей.
клиент начал загрузку pxeboot
В логах tfpd на сервере
Oct  5 01:29:44 test tftpd[817]: 192.168.1.166: read request for //pxeboot: success
тоесть pxeboot он скачал далее он должен монтировать системму.
Но на клиенте далее загораеться слеш
/
типа должен грузить ядро
но сначал слеш стоит не грузит
потом на клиенте пишет
NFS MOUNT RPC error:60
\
can't load 'kernel'
тоесть не может загрузить ядро...
Где я ошибся помогите, в логах tfpd Ничего нет.
тоесть не монтирует
первый раз настраиваю не пинать.


Содержание

Сообщения в этом обсуждении
"Freebsd бездисковые станции"
Отправлено xservices , 05-Окт-10 10:24 
Понял что что то не смонтировал в
Конфиг
ddns-update-style none;
use-host-decl-names on;
option routers 192.168.1.1;
next-server 192.168.1.134;
filename "pxeboot";
option root-path "192.168.1.166:/diskless/rootfs";
#option swap-path code 128 = text;
subnet 192.168.1.0 netmask 255.255.255.0 {
}

host node4 {
hardware ethernet 00:13:77:03:5B:29;
fixed-address 192.168.1.166;
}

Исправил так

Конфиг

option root-path "/diskless/rootfs";

На клиенте так же грузит pxeboot
потом начинает грузить ядро
Loading /boot/defaults/loader.conf
/boot/kernel/kernel text=0x20a498 -
И на этом встает

}


"Freebsd бездисковые станции"
Отправлено tonys , 05-Окт-10 16:34 
> Здравствуйте, помогите настроить без дисковые станции на основе вот этой статьи
> http://mechanoid.narod.ru/unix/diskless2/index.html

http://www.lissyara.su/articles/freebsd/tuning/diskless/