いやあ,とうとう10連勝ですね。笑みがこぼれて仕方がありません。負ける要素がないから,これは全勝優勝するんじゃないかなんて思っている今日この頃です(<それじゃ相撲だって)。打線は実力以上に結果を出しているようですが,増強戦力の武田投手が2連続完封という投手陣の力は去年にも増して本物なので,今後どんなにこけても間違いなく優勝でしょう。あとは川上投手に早く1勝が出ればいうことなしです。よかったよかった。(この段落,誰に向けて書いているのか不明ですね,同感でない方,申し訳ありません)
さて,今日の本題は,EWS4800/330にハードディスクを増設したという話である。詳しくは一緒に奮闘してくれた萩原君がそのうち書くかもしれないが,もともとEWS4800/330には/varの空きが7 MBしかなかったので,最近のメール添付ファイルの増加のせいで,頻繁にlow on spaceというメッセージが出てメールを受け取れない事態が発生するようになってしまったのが問題の発端である。しばらくはsv1のディレクトリをNFSマウントするなどしてしのいでいたが,sv1のパフォーマンスも低下するし,もういけないということになり,最近Windowsマシンから外して余っていたLogitecの2 GBのSCSI-HDD(中身はIBMのDORS-32160)を接続したわけである。資料が乏しいので大分試行錯誤を要したが,何とか成功したので報告する,というわけである。「ファイルシステム管理の手引」も参考にはなったけれど,あれだけでは普通の人にはできないと思う。
ハードウェア的には簡単で,shutdownしてから,テープドライブにささっているターミネータを外し,そこから50 pinハーフピッチ,面タイプのSCSIケーブルでHDDをつなぎ,HDDにさっき外したターミネータを付ければ完了…と思ったのだが微妙にターミネータの端がひっかかるので,もともとHDDについていたターミネータをそのまま使うことにした。SCSI-IDは内蔵HDDが0,テープドライブが6だったので,1にした。電源投入後,起動画面を見ていたらちゃんと認識されたようで,disk010として接続したという意味のメッセージが表示された。接続の確認は,rootでログインしてscadmと打ち,デバイスとして表示されればOKである(以下全部rootで作業する)。
続いてこのHDDをフォーマットするのだが,内蔵HDDがdisk000という名前で参照できるのと同様に,disk010という名前で参照できるようにしておく(デバイス管理データベースに登録する)。すなわち,putdev -a disk010 bdevice=/dev/sd/c0t1d0s6 cdevice=/dev/rsd/c0t1d0s6 desc="External HDD" type=diskとする。c0は標準SCSI接続という意味で,t1はSCSI-ID 1のデバイスという意味である。devattr -v disk000とすると,内蔵HDDに行われた諸設定がわかるのだが,中にfmtcmdというのがあったので,それを参考に/usr/sbin/sdformat -v -f /dev/rsd/c0t1d0s6として物理フォーマットし,次いで/usr/sbin/fmthardを使ってパーティションを切る(EWS-UXでは「VTOCを書き込む」と表現する)。2台目のHDDなのでmanページの説明通り,/usr/sbin/fmthard -c 2 /dev/rsd/c0t1d0s6とする。後はmkfsでファイルシステムを作ればよいのだが,どういうパーティションができたのかがわからないと何番のスライスにファイルシステムを作れるのかがわからない。ここでだいぶ試行錯誤したが,やはりdevattr -v disk000の出力を参考にして,/usr/sadm/sysadm/bin/dispdisk disk010としたら,2番と8番とa番(10番)のスライスが使えることがわかったので,mkfs -F ufs /dev/rsd/c0t1d0s2などとして(これがWindowsなどでいうフォーマットにあたる),最後にマウントポイントを作ってから/etc/vfstabを書き換えて再起動すればできあがりである。
ディスクの割り当てを考える際に/varのファイルを分散せねばならず,/tmpは起動の度にクリアされることに気づかずにシンボリックリンクを張ったりしたために,いろいろな問題は起こったが,それについてはきっと萩原君が書いてくれることであろう。現在はすべて問題は解決し,懸案であったgccのインストールに取り組んでいるところである。gccがないとsendmailなどの基本的なソフトのバージョンアップについていけなくてセキュリティ上まずいことになる可能性があるからである。gccのインストールもなかなか大変なのだが,その話は稿を改めて書くことにしよう。
ついでに,sv2号にtcshをインストールした。/usr/portsにあったのが6.07だったのでftp.freebsd.orgから新しいportsをダウンロードしてきて(本当はCVSを使った方が簡単な筈だが,やり方を忘れたのでftpで個々のディレクトリに入ってはmgetした),suしてmake一発でコンパイルが終了し,make installで/usr/local/binにインストールができる。ところが,chpassでログインシェルを変えようとしたら,chpass: /usr/local/bin/tcsh: non-standard shellとかいうメッセージが出て変えられないのだ。rootになって強引にvipwしたら変えられたが,そうするとftpログインができなくなってしまう。ftpdのmanページを見たら,/etc/shellsに登録しなくてはいけないことがわかり,すべて解決した。やはりFreeBSDは簡単だなぁ。