半年近く書く書く詐欺していたものの、前回エントリの通りこれ先に書いとかないと次の話が書けないので手短に・・しようとしたけど、案の定まとまらなかった。以下本文。
リプレースの背景
オリオスペックで2017年頃に組んだファンレスPCにLogitecの外部ストレージ(HDD4本)を繋いで自宅サーバとして使用していた。1FreeBSDでRAIDZを組んでNASとして使いつつ、NextCloud、RoonServer、Plex、Hugoなど必要な機能をJailやbhyveを使用して構成。スペックもCore i7-7700でメモリ32GBと使い方からすれば十二分で、後に10ggbpsNICやZFSキャッシュ用SSDを増設するなど日常使いでは全然問題なかった。
去年まで運用中のトラブルは少なかったものの、去年の1月あたりから外部ストレージとの接続でI/Oエラーが出て、外部ストレージを正常に認識しなくなる事象が発生するように。再起動すれば正常に外部ストレージを認識する&ZFSのデータ整合性も問題なしだったものの、同事象の頻度が徐々に増えてきたためリプレースを真剣に検討することに。
最初はLogitecのUSB外部ストレージを別のものに買い換えれば最小のコストで解決するのでは?と思ったもののログからはその確証がなく、仮に改善しなかった場合は無駄な買い物になりかねない。それならいっそのことこの機会に自作してみようと思い色々と調べてみたものの・・
- 昨今の事情でPCパーツの価格が全体的に上昇傾向
- 初のPC自作としては制約の多い構成となり、心理的/時間的なハードルが高かった
- リプレースに伴う再構築や稼働中の運用がそこそこ面倒
- 特に10gbpsLANカード用のドライバ(Aquantic)がプレビュー版のままでFreeBSDのバージョンアップに追随せず、pkg経由で入らなくなったばかりか直近ではソースコードからビルドしてもOS側でNICを認識しなくなってしまった。よってFreeBSDのバージョンを上げられず難儀していたのだが、リプレース後も同じLANカードを使用する予定だったのでこの問題に悩まされるのではという懸念があった。
という理由から二の足を踏んでいたところ、ふと既製品のNASキットを買えば良いのでは?という発想に至った。
10年以上前にBUFFALOのTerastationを使っていた時はあまりの使いづらさ&性能の低さに我慢ならず自宅サーバ(を使用したNAS)にリプレースした過去もありつつ、あれから10年以上経って製品も成熟しており高機能化も著しいので今のユースケース(NAS+α)なら必要十分なのではないかと。最近はNAS上でDockerが動くらしい情報も得ており、それさえあればどうとでもなるであろうと判断してこの方針に決定。
メーカはQNAPかSynologyの2択だったが、10gbpsNICを増設する予定だったので購入時点でAmazonに在庫があったQNAPをチョイス。
構成
NAS本体
カテゴリ | 詳細 |
---|---|
機種 | QNAP TS-464-8G |
CPU | Intel Celeron N5095 |
メモリ | 32GB(16GB * 2) |
HDD | WDC WD60EFPX * 4(6TB * 4/RAID5構成) |
SSDキャッシュ | WDC Red SN700 * 2(500GB/Mirror構成) |
PCIeスロット | QXG-10G1T(10GbpsNIC(RJ45)) |
当初は8台積めるTS-873A、もしくは4台版のTS-473A-8Gあたりを考えたものの、お値段が1.5-2倍以上になってしまい予算オーバーとなったため妥協。Amazon直販モデルの場合はメモリがオンボード実装で交換できないという噂を聞いてヨドバシカメラで調達したが、無事にmicron製のメモリに交換できた。製品ロットによってはCPUはN5195が載っている可能性もあるらしいが、こちらは仕様通りだった。
HDDも最初は1本あたり8GB-10GB程度の容量で考えていたものの、REDで考えると大分パンチのある値段になってしまう&リプレース前のNAS(3TB * 4/RAIDZ構成)がまだ容量枯渇には至っていなかったため、現行の容量倍あれば何とかなるだろうということでこちらも妥協。REDをやめることも考えたが、これまで自宅サーバで運用してきたWD30EFRXが10年以上故障なしで稼働した実績は代えがたかった。その分(?)高速化に期待してSSDキャッシュもREDで合わせて追加。
外部ストレージ(USB接続)
カテゴリ | 詳細 |
---|---|
HDDケース | QNAP TR-004 |
HDD | WD30EFRX * 4(3TB * 4/RAID5構成/自宅サーバより転用) |
NAS本体での8台構成を諦めた妥協案としてQNAPのUSB外部ストレージを追加。HDDは外部ストレージで使用したものをそのまま流用。元々8台構成でフルに使用するというより、ストレージプールを分けてNAS本体で取得したスナップショットのバックアップ(バックアップボールト構成)で使用する目的だったので妥協した。最初は外部ストレージ(HDDケース)もそのまま流用するつもりだったが、外部ストレージのステータス監視や構成管理ができなかったため断念。まあこちらも10年弱使ってきたので買い換えが妥当だったかな。
使用感
ひとまず箇条書きで。
- SSDキャッシュの効果もあるのか想定より性能が良い。
- 特にAcronisでフルバックアップを取得した際のスループットは圧縮込みでも平均1Gbps~最大2.5Gbps程度出ており、明らかに性能が向上した。
- メモリ32GBはリソースの使用率を見てもちょっとやり過ぎだったかも。もちろんキャッシュとして使用してくれるが。
- NAS本体の 6TB * 4 (RAID5) 構成は純粋な未使用領域という観点だと早くも枯渇気味になっているのが少々頭の痛い所。
- ストレージプール自体には空きがあるので喫緊の課題とはならないが、10TBとは言わずとも8TBくらいは頑張るべきだったかも。
- 全力でI/O負荷をかけるとファンも全力でブン回るのでかなりうるさい。ただ普段使いではそのような局面はほぼなし。
- ファイルシステムがext4なのにちょっとびっくりした。ZFSではなかろうとは思っていたけども。
- 管理画面の使い勝手は機能により良し悪しが分かれるところがあるが、GUIで構成~運用管理まで一通りできるというのはやはり楽。
- 管理画面のレスポンス自体も概ね良好。もっさり感皆無という程ではないが十分に許容範囲。
- 管理用アプリ(画面)もおおよそ機能単位で分割されているので直感的に使える。 ただコントロールパネルは例外。
- 特に権限管理など、共有ファイルシステムの一部機能がコントロールパネルとFileStationのどちらで制御できるのか大変分かりづらいのは何とかして欲しい。他にもサーバ機能のON/OFFとかはアプリ(画面)として分割してしまった方が分かりやすいと思われる。
- 中小企業向け想定だからか、監視/通知機能が充実しているのもありがたい。自宅サーバではどうしても多少の作り込みが必要となるだけに。
- 自宅サーバで実装していた機能(アプリ)の内、NextCloudはQFile Proで代替できた。RoonやPlexはそもそも使わなくなったがQNAP上で動作するアプリが用意されている。
- 先般の通りHugoのみDockerでビルドデプロイ環境を構成した。
ちなみに性能はこんな感じ。自宅サーバ&メインPCを10gbps化した時のベンチマークよりやや性能落ちているところはあるが、体感的にはほとんど差を感じない。むしろ安定性は増している気がする。一方QNAPはソフトウェアRAIDらしく、同じソフトウェアRAIDのZFSを採用していた旧自宅サーバとはCPUの性能差が出ている部分があるのかなとは思った。4
所感
総評としては必要十分な選択だったと思うし、当初想定していたより性能・使い勝手も良く満足している。
ただ、一度自作経験を積んだ今となっては自作の方が安く組めたかもしれないというのが正直なところ。自分の性格的にマザーボードやCPUのスペックを多少盛ったとは思うものの、NAS本体+外部ストレージ+QNAP用10gbpsNICで約16万円かかっていることを考えるとそれをくぐるのは難しくなさそう。もちろん先述の通り、組み上げ後の再構築の工数も考えるとやや足が出るくらいで収まっているとは思うが。
後、自作と比較した既製品NASキットの最大の利点は筐体の小ささから来る省スペース性かもしれないと思った。4台積みにすればより小さなケースを見繕うことはできるだろうけど、最終的にマザーボードのサイズが制約となる以上、既製品NASキット並みの容積に抑えるのは難しそうなので。
-
詳細は過去に書いたエントリを参照のこと ↩︎
-
Logitecの外部ストレージもホットスワップ対応はeSATA接続のみで、USB接続で使用していた以上同じ条件だったが、せっかくなので理想を追求したかった ↩︎
-
10gbpsNIC増設前はSATAカードを増設してeSATA接続していたが、ASRockのマザーボードとSATAカードのチップセット(ASMedia/Marvell)の相性問題に悩まされた。上記と同じく詳細は過去に書いたエントリを参照のこと ↩︎
-
このベンチマークはメインPCもリプレースした後に計測しているため、同条件での比較ではない ↩︎