GIGAだが、最近sata3(3本目のディスク)がさわってもいないのに取り外されてしまう問題が頻発していた。接点が痛んできたというような問題なのだろうが、RAID5で1本抜けてしまうのは致命的すぎる。そんな状態で数ヶ月我慢していたのだが、もう我慢の限界、自前でNASを作ることにした。このポストではその設計~結果について書こうと思う。容量は最近は1TBクラスのHDDが異常に安いのでそれを大量に使うことにして解決する。ファイルシステムは色々検討したのだが、Linux/RAID6よりはopensolarisにzfs(raidz2)のほうが安定しそうに思えたのでそれを使うことにした。使い慣れているFreeBSDにもzfsはポーティングされているのだが、過大な負荷を掛けるとpanicするという情報もあったため、泣く泣くopensolarisを選定している。ハードウェアRAIDをあえて選定していないのは、コストの面もあるがそれに加えて運用方法がハードウェアによって独特で、学習コストが無駄に高いことをきらってのこと。運用ツールがOSのバージョンにかなり依存しているケースもあって、そうなるとかなり面倒なことになってしまう。それに比べると最近の速いハードウェアにソフトウェアRAIDであれば、運用方法もわかるし、大きなトラブルでアレイごと他のコンピュータに移す必要が出たりというレアケースにも対応しうるということは、実はかなり大きい。HDDを大量につなぐとなると困るのはインタフェイスだ。調査したのだが、1枚の拡張ボードでSATAを8ポートとなると敷居が高く、製品がかなり絞り込まれてまい、殆どがエンタプライズ用途向けばかりになってしまう。話題をぶり返してしまいかねない。Sil3124を用いたSATA4ポートの素直なボードを2枚使うことにした(*)。SATA300は300MB/sec、PCI(32bit/33MHz)は133MB/secとHDDのインタフェイスの方が速いのだが、どうせファイルサーバであってGbE(=1000Mbps=125MB/sec)以上の速度は必要ないため、割り切ってしまうことにする。(*)この手のディスクインタフェイス系デバイスはBootROMが喧嘩することがある。そのため、同じモノであっても2枚を同時に使うことが出来るか不安だったのだが、これも「出来る」というレポートを見つけることが出来たので後は自己責任ということで買ってしまった。結果、少なくとも私の構成では2枚同時に問題なく認識させることが出来ている。当初atomプロセッサを使うことで解決しようと考えていたが、実はデスクトップボードに仕立ててあるatom搭載マザーボードは割と電気を食う(システム全体で40W以上という例もある様子)上、実は最近の45nmプロセスで製造されたプロセッサと、システム全体では激しく違うということもないということが友人M氏の指摘でわかった。PentiumE5200を使うこととした。騒音は、HDD自体がある程度うるさいものである以上どうしようもないのだが、それでも静かにしたい。いうことで前述の通り5400rpmのWD10EADSを選定したわけだがこれが大正解。ケースを開いたまま8本すべてがスピンアップしても殆どわからないくらいの音しかしない。アクセスがあったときのヘッド動作音は聞こえるので、そこだけは今後対処しなければと考えている。構築と結果あちこちのzfs情報を掲載しているサイトを巡りつつ、下記の通りpoolを初期化した。c6t3d0構築後の容量は下記の通り。T60/Core2Duo2.0GHz)からHDBENCH3.30でベンチマークを取ってみた。18,423kb/secと、家庭用NASとしては十二分に早いと言える数字が出た。(*)しかしながら、このいい数字は常にでるわけではなく、試しに2000MBのサイズで試したところ、Writeが20MB/sec程度にまで落ち込んだ。転送速度グラフをみるとピークは高いものの安定せず、時々転送速度がかなり落ち込むのが原因らしい。原因がどこにあるのかは追って調査中である。今後、無理矢理ディスクを抜いてみたりというトーチャーテストを行った上、問題がなさそうであればsamba等必要なパッケージ類を突っ込んで、新NASの出来上がりとなる。今のところ目下の課題は使っているケースへのHDD固定方法、ではあるのだが...。気づかれた方もいるかと思うが、新NASの名前はmelongenaにした。追記:read/writeの数字、そのときの実測ではあるのだが、iostatでHDDの速度を見ていると、ピークでも1発あたり10MB/sec程度しか出ていない。これを上限とする限り、ピークでも読み出しは(パリティは飛ばして読んでいるとしても)80MB/sec、書き込みはパリティ分実速度から落ちるので60MB/secが限界のはず。zfsはメモリに随分キャッシュするのでその関係でこういう速度が出ているのだろうと思う。WD10EADSのような最近の単体で速度がでる玉を使っておいて10MB/sec。33MHz32bitPCIに4つもSATAをぶら下げるだけのことはある、本当に、遅い。T60のHDDが時折普段と違う音を立てるようになってきたことと、SSDが安かったこともあり、換装することにした。MMDOE28G5MPP-0VA。オリオスペックで\28,800だった。前にOEM品でもっと安く出ていたらしいが致し方ない。CDから起動して、、と思ったのだがこれがうまくいかない。試した手順は、1)USBにSSDをつないでLiveCDから起動、2)SSDにHDDと同じサイズのD2D領域が残るようパーティションを分割、3)HDDのD2DからSSDのD2Dへ複製、4)IBM謹製のMBR書き換えユーティリティでMBRを書き戻す。これで駄目で、OSが見つからない旨のエラーが起きる。TrueImage10Homeの試用版をダウンロードしてきて、HDDクローニングすることで対応したが、正しい複製方法があるのであれば知りたいところ。出来ればFAT32領域を作ってDOSから起動してごちゃごちゃする類ではない方法で。HDD、必要な領域さえ複製すればどうにかなるはずなのだが・・・。移行した結果、まだ数日しか使っていないが大変快適になった。Windowsのアプリケーションによくある、瞬間的な(0.5秒とかそれ以下程度の)待ちがなくなり、どのアプリケーションもPCを買い換えたかのようにサクサク動く。本体を買い換えるより遙かに低いコストで延命が出来ることを考えたら安い買い物であった。機械があれば是非おためしあれ。2008またやってしまった。ThinkPadにパーソナルファイアウォール入りの製品をインストールしたあと、ローカルポートの通信を許可せずに再起動。Securityに締め出されてしまう。Securityのログインウインドウアプリが通信していて、それをパーソナルファイアウォールがブロックしてしまうからだと思う。これは、HDDをはずしてどうこうする、というようなアグレッシブな方法を除くとほとんど対処法がなくて、そのまま放置して待つしかない。寝て起きるとタイムアウトするらしく、通常のログインウインドウが出てきてくれる。インストールガイドなる資料にあたった。この資料にも、今回のようなケースでタイムアウトが何時間なのかについては触れられていない。タイムアウトしているということはこれまでの体験的にわかっていて、この中の下記の記述を見る限りは、おそらく4.7時間かそれに若干追加した程度なのだろうと推測する。TPMシステムでは、ユーザー・パスフレーズと管理者パスワードを区別していません。IBMエンベデッド・セキュリティー・サブシステムを使用する認証は、いずれも同じポリシーに従っています。最大タイムアウトは4.7時間です。TPMシステムは、4.7時間を越えて遅延することはありません。やらかしたのが今から2時間程度前。4.7時間=4時間42分までにはまだまだ遠い。翌日追記:がーん、ぜんぜんタイムアウトしない。ここ(T60とZoneAlarm)の情報によると5分程度でファイアウォールがあって使えない旨のエラーメッセージが出るらしいが、ぜんぜんでなかったぞ...。結局再度入れなおし中。うちのこのポストは間違っている虞がある。127.0.0.1:*の通信は無条件に許可しておいてもいいのかもしれない。Loginとtvttcsdの2つを許可すれば良いらしいのだが。