市販のNASとしては、QNAPやSynology、またTerastationなどが挙げられますが、そのような既成品の他に無料で利用できるNAS専用OSがあります。
FreeNASの特徴としては次のようなものがあげられます。
- ZFSによる高信頼ストレージ
- モダンなデザインに対応しており(11.2から)FreeのNAS用OSの中では一番UIがきれい
- データ領域とシステム領域を完全に分離するため、システムイメージが死んでもOSのみを新しくすることで復旧することが可能
- フォーラムも整備されているため情報も多い
- NASとしては非常に高いハードウェアスペックを要求 : (最低8GB/標準16GBのメモリ要求等)
最近(半年前)にFreeNASがアップデートされ、新UIが標準となりました。不具合はいくつか存在しますが、企業が後ろ盾としてついているため、メンテナンスのスピードは比較的早いです。
そんなFreeNASを小型サーバーHP Proliant MicroServer Gen8上で構築してみました。
Contents
HP Proliant MicroServer Gen8
NASを構築するためあたり、今回採用したものはMicroserver gen8です。
前面から
背面にはUSB3.0やiLO、Ethernetポートなどにアクセスできます。Pcie x16には後述の10GbEネットワークアダプタを取り付けています。
また、全面を開けるとHDDにアクセスできます。ホットプラグには対応していません。また、Service Toolでサーバーの分解は一通り可能です。このツールがあれば他のProliant Gen8の製品群も分解可能です。
さて、まともにRAIDを備えたNASを構築するにはHDDを4つは積みたいものですが、現実的には選択肢は思ったより少ないです。中古でもMicroserver シリーズもしくはAcer easystoreシリーズくらいしか簡単に入手できるものは存在しないようです。 その中でMicroserverを選んだ理由としては以下のものがあげられます。
iLO4によるリモート管理
iLOとはHPによるリモート管理機能integated lights outの略で、Proliant Gen8に搭載されているのはiLO4となります。OSに依存せず独立したコントローラーにより制御されるため、OSが起動していないときでもシステムの監視や遠隔操作が可能です。これを利用することでリモートでOSのインストールやメンテナンスが可能となり、保守性の向上に繋がります。このiLOが今回Microserver Gen8に決定した最大の理由です。
中央右側に見えるiLOと書かれたチップがiLOコントローラー。
アプリケーションをインストールすることでスマホからも操作可能です。
ECC付き大容量メモリの搭載
ZFSはメモリを大量に使用するファイルシステムのため、メモリは積められるだけ積むべきです。また、Microserver Gen8ではXeonの搭載に対応しているため、ECCの恩恵を受けることも可能です。Registeredメモリには対応していないため、事実上の最大メモリは8GBx2=16GBとなります。またFreeNASのハードウェア要件ではメモリ8GB以上となっています。ZFSはメモリが大好物です。
10GbEアダプターも用意できる
ロープロファイルのPCIeスロットが1つついており、イーサーネットアダプタやRAIDカードを拡張できます。今回利用するZFSでRAID-Z2を組むため、ハードウェアRAIDードは不要と考え、代わりに10GbEアダプタを搭載させることにしました。外部ストレージの拡張であればLSI SAS 9217-4i4eなども候補に上がるでしょう。ZFSでRAIDを組むため、ハードウェアRAIDカードは推奨されていません。HBAは問題ありません。
本体の中古が多く出回っており、HDDがあれば安く構築できる。
5年ほど前の製品のためリース上がりの中古がヤフオクなどに多く出回っています。価格は本体のみで2万円程度で5年前の製品にしては少し高いのではとの印象です。しかし、前述の通り4ベイ搭載可能なサーバー機はMicroserverのみのため、その唯一性から価格が落ちにくいのでしょう。また、Microserver Gen8はシリーズ中で唯一CPUが交換できるモデルでもあります。
かっこいい
ProliantシリーズはPowerEdgeやPrimergy、Express5800のサーバーと比べおしゃれです。PowerEdgeも武骨でかっこいいのですが、やはりProliantが数あるサーバ機の中で一番先端のデザインを行っています(と思ってます。)
FreeNAS構築方法
今回構築したNASのスペックは以下の通りです。
CPU | Intel Xeon E3-1265L V2 |
メモリ | PC3L-12800E 8GBx2 |
NIC | HP 530T |
ケース / マザーボード | HP Proliant Microserver Gen8 |
CPU換装
ソケットがLGA1155なので、第三世代のIntelCPUが対応しています。CPUファンは内蔵されていないため発熱による熱暴走を加味する必要があります
そのため、CPUパワーが必要な場合は低消費電力設計が行われてるXeon E3-1265L V2 もしくは E3-1220L V2のどちらかを必然的に選ぶことになります。前者は2C4T、後者は2C2Tといった違いがあります。もっとも、CPUパワーを必要としない場合はPentiumシリーズも候補に上がります。
交換方法はヒートシンクのネジを4つ外し、ソケットレバーを上げるだけです。
CPUは最も大きいヒートシンクに隠れてます。
CPUの大きさはLGA2011に比べるとだいぶ小さめです。
メモリ換装
Registeredメモリは使用することができません。起動時にProgressが90%まで行って再起動を永遠に繰り返します。そのため「PC3-12800E」もしくは「PC3L-12800E」と書かれたものを買うべきです。Smart memoryに対応していなくても問題ありません。iLOが文句言うくらいです。
システムディスク
FreeNASは起動時にOSイメージをメモリに書き込む(らしい)ので、OS専用に高価なHDDドライブを用意する必要はありません。https://www.reddit.com/r/homelab/comments/3i709u/why_is_installing_freenas_on_a_flash_drive_usb/
ESXiを下敷きにしようと考えている人はSSDをDVDドライブと交換することをおすすめします。ブートドライブにできるかは設定次第です。コントローラーがAHCIモードだとうまくいかないようです。
Microserver Gen8は内部にUSBメモリとSDカードを両方備えているため、どちらでもブートドライブにすることが可能です。今回はたまたまSDカードが余っていたため、そちらを使うことにしました。
インストール
インストールの大まかな手順はUSBメモリなどにFreeNASのイメージを焼き、OSをインストールする程度です。変わった手順は存在しませんが、不安な方は他のサイトを見ることをおすすめします。
RAIDはRAID-Z2で組みました。
パリティ計算が多くなると考えCPUも搭載可能な最も良いものを搭載しましたが、レポートによるとほぼ利用していないようです。複数のクライアントからのアクセスの場合はCPUの負荷が高まりますが、個人利用の場合はCeleronでも十分でしょう。
インストール後のSMBでマウントした際の読み書き速度の実測結果です。
シーケンシャルはR/Wともに1GbEの上限となっています。しかし、ランダムとなるとWriteが極端に落ちるとともに、ファイルサイズを増やしても速度が落ちることがわかります。
パラメータをいじることでパフォーマンスは上がりそうですが、とりあえずシーケンシャルに関してはファイルサイズを大きくしても問題内容なので及第点とします。
このときメモリはほぼすべて食い尽くしている状況です。FreeNASのメモリの喰い方がよく現れています。
また、ネットワーク帯域は1GbEならほぼすべて利用しているような状況です。
以上構築日記でした。