Diskless環境
DHCPサーバの作成
1. isc-dhcp3-serverのインストール
portsでインストール
2. DHCPサーバの設定(/usr/local/etc/dhcpd.confの編集)
# dhcpd.conf option domain-name-servers 192.168.1.1; default-lease-time 600; max-lease-time 7200; authoritative; ddns-update-style none; log-facility local7; subnet 192.168.1.0 netmask 255.255.255.0 { range 192.168.1.100 192.168.1.105; } subnet 192.168.1.0 netmask 255.255.255.0 { use-host-decl-names on; option subnet-mask 255.255.255.0; option broadcast-address 192.168.1.255; option routers 192.168.1.1; host dless-bsd { hardware ethernet xx:xx:xx:xx:xx:xx; fixed-address dless-bsd; next-server 192.168.1.213; filename "pxeboot"; option root-path "192.168.1.213:/data/misc/diskless"; } }
3. /etc/hostsの編集
192.168.1.211 dless-bsd
TFTPの設定
1. tftpサーバ用の領域作成
/tftpbootを作成
2. /etc/inetd.confの編集
tftp dgram udp wait root /usr/libexec/tftpd tftpd -l -s /tftpboot ←上の領域と合せる
3. pxebootのコピー
# cp /boot/pxeboot /tftpboot/ ※この後のmake installworld後のほうが良いかも?
4. inetdの再起動
NFSサーバの準備
1. ディレクトリの作成
/data/misc/disklessを作成。(今思うと、何でこの名前を使ったんだろう。サンプルそのままなんだけど)
2. /etc/rc.confの編集
nfs_server_enable="YES" mountd_flags="-r"
3. /etc/exportsの編集
/data/misc/diskless /usr/ports -maproot=0 192.168.1.211 #-maproot=0を入れないと起動後のログインができなかった(正しいパスワードを入力しても受付てくれず、かなりハマった)。
ディスクレス用ルートファイルシステムの作成
直近でとりあえず、make buildworld,buildkernlをやっていること前提で。
1. カーネルの設定
# setenv DESTDIR /data/misc/diskless # cd /usr/src # make installkernel
2. システムファイルの設定
# cd /usr/src # make installworld ※$DESTDIRを確認するしたうえで
3. /etc関係(あんまりよくわかってないけど)
# cd /usr/src/etc # make distribution ※$DESTDIRを確認したうえで
4. パスワード関係ファイルのコピー
# cp /etc/master.passwd /data/misc/diskless/etc/ # cp /etc/passwd /data/misc/diskless/etc/ # cp /etc/spwd.db /data/misc/diskless/etc/ # cp /etc/pwd.db /data/misc/diskless/etc/
5. /etc/fstabの編集
192.168.1.213:/data/misc/diskless / nfs rw 0 0 proc /proc procfs rw 0 0 #procはいらないかも。
スワップファイルの作成
1. スワップファイル作成
# dd if=/dev/zero of=/data/misc/diskless/swapf bs=1024k count=1 seek=192
2. /data/misc/diskless/etc/rc.confの編集
swapfile="/swapf"
注意
% passwd Changing local password for postteen Old Password: New Password: Retype New Password: passwd: could not lock the passwd file: : Operation not supported
参考
Diskless Operation
http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/network-diskless.html
PXEを使ってPCもディスクレスにしよう@謎の処理系 SunOS 4.1.4
http://www15.big.or.jp/~yamamori/sun/pxe/
FreeBSD diskless notes
http://akiba.to/diskless.html
FreeBSD Diskless Booting
http://www.nber.org/sys-admin/FreeBSD-diskless.html