2010年10月10日日曜日

NetBSD5.0.2

もう5年も前になりますが、
客先の、1000BASE-SX対応のルータ兼サーバに NetBSDをいれてたのです。

この間不具合が出て、OSの古さにも問題があったので、Upgradeかけてました。
オンラインうpぐれで、切り抜けられると思いましたが甘かった。
OSを入れ替えることになりました(泣) でもNetBSDってBSDの正統派なので
きちんとユーザデータをパーティーション別にしておけば、何とか成るんですね。
3.0->5.0.2にあがったので当面の問題は回避。大満足でした。

今日は自宅でNetBSDの日でした。
10年前の古い日電のノートPC機材がありNetBSDの黒端末(GUIにしない)マシンに
なってました。活用しなくちゃいけないと思っていたので、NetBSD3.0から
アップグレードを計画しましたが、かなり面倒くさかったので書いておきます。
ほんとCD-ROM付いてないB5ノートの更新って厄介ですね。

1.DHCPサーバの設定

 このマシン、オンボのNICがintelという
すばらしい構成です。今時はどこでもカニが乗ってて
うんざりします。俺は磯で遊んでるんじゃない。
 USB-CDは認識できないのに、PXEはできるんです。 
なかなか良いさすが日電腐ってもB5ノートですね。
ゴミになるとのことでタダで引き取りましたが
購入時はかなり高かったのだとおもいます。
 
  PXEは、bootp もしくはDHCPサーバの設定が
 必要になりますが、DHCPが使えればかなり簡単です。

host hogera {
  hardware ethernet 00:00:4c:0e:xx:yy;
fixed-address 192.168.xxx.xx;
next-server 192.168.xxx.xxx;
option root-path "/usr/home/netbsd";
filename "pxeboot_ia32.bin";
}

これを書き足すだけでした。 まあ、root-pathは
/exports の方がかっこいいかな。

2. サーバ

 PXEブートをサーバが支えるには、、filename
で書いた奴を tftpプロトコルで渡す必要があるのですた。

 んで、OS標準のtftpサーバを確認したんですが、
inet経由でやる必要がある・・・?
 inetd排除している私のポリシーに反するから、 
こりゃ使いにくいなぁ・・・ということで。
 さくりと探したらtftp-hpaとかありました。 
単独でdaemon化(self-fork)するってんで、
楽だなつうことで、入れました。

tftpdなんてのは挙動が単純でも面倒なデーモンなので、
-s /dir 以下のファイルしか扱えないようにしておくのが
ベストで、 /tftpboot 以下に ブートファイルを配置。

 起動オプションはこんな感じで勝手に動いてます。

 /usr/local/libexec/in.tftpd -l -s /tftpboot

 ほんとは、daemontools/svcで監視したかったのですが、
fghackでもすり抜けちゃうし、どうにもなりそうにないので
放置しました。 勝手に起動してます。(セキュリティ大丈夫か?)




3. NFS設定。

 なんか NFSなんて10年設定してないので忘れてます。 
NFSv2頃から、v3までの知識あるけど、SunOSの教科書
舐めて実際にマウントしてその糞遅さにうんざりする
くらいマシンパワー不足だったので、もう過去のものになってます。

 昔のNFSはNIS運用が必須みたいな雰囲気でしたが、uid/gidの
問題を解決しておけば、何の問題も無いです。今時のNFSは、krb5/LDAP
使ってる場合でも動くんでしょうな。

SunOS時代の この手の設定は非常に手が込んでいました。 
Solaris2.6で手を焼いてから、もうやらないと決めてたんですが、
FreeBSD8.xでNFSを使うとは思ってなかった。

 で、設定したら案外簡単でした。 ロックデーモンとか気にしなければ
ブートくらいには使えるでしょう。 ブートだけできりゃ良いんです。

/etc/exports にちょちょっとかいて(manみて書いたので省略)、
nfsデーモン(カーネル側)と、mountd を立ち上げるだけでなんとか
なっちゃいました。 ま、共有フォルダ公開なんて話になると読み書きが
ありますんで、ユーザ権限の管理とかロックデーモンが必要になります。
そういう運用は今時は、sambaの方が細かいし窓クライアントばっかりだから
PC-NFSなんて選択肢は消えましたね。 終わりです。


さて、お膳立てが済みました
NetBSDをインストールできるようにするには、
 
1.  FTPサイトでpxeboot_ia32.bin(amd64.bin) を拾って /tftpbootに設置。

2. FTPサイトで、NetBSD-install.gz (カーネル+sysinst付き)を拾って
   NFSで公開するところに置く。

3.  サーバで、DHCPd/tftpd/NFSD/mountd を起動する。


ってことです。 あとはブートするまで待ちましょう。
ブートしたら、FTP使ってFTPサイトからダウンロードインストールすれば、
CD-ROMを焼く必要はありません。 はあ、楽になったもんだわ。



厄介とか書いといて、楽だったのかよとか突っ込みは :-P
おしまい。

0 件のコメント: