自宅ファイルサーバを考えるとき RAID構成に悩む

前々から、自宅ファイルサーバを用意せんといかんなーと思いつつも、なかなか行動に移せなかったりするわけで(HPとMPのめんで)、そろそろメインPCもリプレイスしたいなー、そしたらまたあまりで1台組めるなーなんて思ってるわけです。

メインPCをリプレイスすると、そこで余るのがマザーボードとCPUとメモリなわけです。
現在のPCはLGA775のシステムなので、ぶっちゃけ追加投資とかしたくないわけです。
これらはそのまま流用するのが正しい、それが正義ということでこれを基本に考えていきたいと思うわけでございます。

現在使っているマザーボードにはSATAの口が6+2本ついております。さらにSATA拡張カードを挿せばケースの都合上12本のディスクを挿入することが可能なわけですが、そこはMPに響いてくるため基本6本構成で考えていきたいと思う次第でございます。

基本的にはファイルサーバでありますが、一般的なご家庭にFCなど使うわけにも行かず、必然的にLAN経由での利用となるわけで、1Gbps以上のファイル転送速度はどだい無理なおはなしでございます。またスループットの問題もあります故、ディスク性能とすればシーケンシャルで800Mbps程度の性能が出ていれば十分であろうと考えるわけでございます。

用途がファイルサーバでございますので、重要視したいのは”信頼性”と”拡張性”でございます。
拡張性のほうは最初は6本構成でありますが、最終的には12本構成にまで拡張を想定して物事を考えておかないといけません。しかしながら、6本の構成に1本追加してすこし容量を増やすというやり方はH/W RAIDだと現実的には難しいのでございます。予算の都合上もあり、S/W RAIDに頼らざるをえないわけでございます。

現時点で判明している最低容量は6TBほどであり、ディスク6本で6TBを確保することは、2TBのディスクを使えばなんら難しいことではございません。また選択肢も豊富にございます。それ故に、選択肢が豊富でどれが最適なのかという判断で悩んでいる次第でございます。

(長くなるのでMore)

例えば、RAID1+0である程度の信頼性と性能を確保するという事が考えられます。しかし、計12TB分のディスクを使って使用可能領域が半分の6TBというのは、保存データの保護の予算を使える企業ならまだしも、個人レベルでは少々億劫にならざるを得ません。同様の理由で、メインRAID1+別システムのバックアップにRAID1というのも馬鹿らしくなってしまうわけでございます。

そこで個人レベルの味方であるRAID5で考えてみることとします。6本まるまるRAID5で利用すると、5本分の10TBを使用可能領域として確保することが可能となります。しかし、ディスク1本の故障ならパフォーマンスは落ちてもデータは保護されており修復が可能でございます。しかしディスク2本ともなるとデータがすべてお亡くなりになるというのがRAID5でございます。それではさすがに怖いので、6本のうちひとつはスペアとして利用することを考えますと、4本文の8TBを使用可能領域として利用可能ということでございます。このあたりは現実的ではないかと思います。

もう少し信頼性を上げたい場合に考えられるのが、RAID6でございます。RAID6はダブルパリティでございますので、ディスク2本文をパリティデータに使用しますので、6本構成なら使用可能領域は8TBということになります。それでも万全ということはございませんので、1本をスペアとして利用するとなると、使用可能領域は半分の6TBとなりRAID1+0と同等となります。もちろん信頼性はRAID6のほうが高くなりますが、性能面で言えばRAID1+0のほうが有利になるのでございます。しかし個人レベルで使用可能領域が半分というのはなんとも切なく感じてしまうものでございます。

以上は、Linux上でmdを使ったS/W RAIDを想定した話でございました。
S/W RAIDをファイルシステムレベルで実現するというものもございます。それがZFSなるものでございます。ZFSは今は亡きSunによって開発されたファイルシステムではございますが、ZFSがとるライセンス形態が非常にLinuxが採用するGPLと相性が悪いため、NativeにはLinuxには採用されておりません。FUSEというシステムを使って経由してZFSを利用することも可能ではございますが、パフォーマンスが著しく劣ってしまうため、メリットよりもデメリットのほうが強調されやすい印象にございます。また開発元のSUNがお亡くなりになり、標準採用していたOpenSolarisの方向性が見えないなど、不安要素しかないSolaris界隈でございますが、しかしながら、来月あたりにNativeにZFSに対応したLinux Kernelが登場するというお話もございまして、ZFS自体はまだ生き残る可能性は十分にあるのではないかと密かに期待を寄せているのでございます。

ZFSはまだLinuxには標準採用されておりませんが、OpenSolarisは当然のことがなら、ライセンスに柔軟性を持つFreeBSDでは普通に移植され利用可能となっております。また最近では、FreeBSDベースのOpenNASというNAS向けOSがZFSに対応致しましたので、こちらでも利用可能でございます。

BSD系と言えば、近年ではLinuxに圧倒的な差をつけられ、”BSD?ああ、そんなの昔あったね。今使ってるやついるの?wwww”と吹聴されながらも、もしかすると徐々に息をふきかえしてくるのではないかと一瞬思ったわけですが、冷静に考えれば”そんなことはないだろう”と思うわけで、FreeBSDは細々と活動をしていくのではないかと思うわけです。
ここで、MACOSXはBSD系OSだ!と意を唱えられても、私はそこ意見に組みしません。そこにBSD系の哲学がないからでございます。

さて話がそれましたが、ZFSでございますが、非常に拡張性に優れ扱いやすいという触れ込みでございます。私も試験的に利用したことがございますが、確かに簡単にRAID5やらRAID6と同様の構成を取ることが可能でございます。しかしながら、別のところに問題がございまして、このファイルシステムは非常にCPUリソースとメモリリソースを消費することに難があるのでございます。特にメモリリソースは重要でメモリ4GBをあっちゅーまに使いきってしまったなんてお話も耳にします。OpenSolarisユーザー会でのプレゼンテーション資料を見る限り、パフォーマンスチューニングはCPUとメモリを増設しろというなんとも簡単に結論づけております。

時間がなくなってきましたので、ここいらでいったん方向性を結論づけたいと思います。

  1. ZFSの再調査が必要である
  2. メンテナンス性についての考察が必要である
  3. 要件をはっきりさせる

以上をもって、本日の考察は締めたいと思います。