ハードウェア(QNAP TVS-682)

まずはハードウェア面から。

スペック
CPUIntel Core i3-7100(2コア3.9 GHz)
RAM24GB
3.5inch HDDWD Red Pro 8TBx4
M.2 SSDWD Blue 500GBx2
2.5inch SSDCrucial MX500 500GBx1
2.5inch SSDKingston SSDNow V300 120GBx1
PCIeMellanox MCX311A-XCAT
PCIeアースソフト PT3

CPUの世代は古いけど、スペックは盛ってます。
PCIeで、10G NICとチューナーカードを増設してます。

QTS

QNAPのNAS用のOSとして、QTSというLinuxベースのOSが搭載されています。
Virtualization StationやContainer StationなどのアプリでVMやコンテナが使えます。

今まで自宅のファイルサーバはホストOSにUbuntuを用いていたけど、なんだかんだでGUIで操作できるって気軽ですね。

Qtier

QNAPのNASにはQtierという仕組みがあって、頻繁にアクセスするファイルをSSDに、あまりアクセスしないファイルをHDDに自動配置することで、読み書きを効率化してくれます。

WD Red Proは今まで1本あったので、3本追加購入してます。
WD BlueはNAS本体におまけとして付属、MX500は前にPS4で使ってたけどPS4は売却して余ってたので流用しました。

HDD4本のRAID 5で24TBと、SSD3本(WD BlueとMX500)のRAID 5で1TBにして、SSDとHDDのRAIDグループでQtierを構成してます。

SSDキャッシュ

120GBのSSDはリプレイスしたサーバのOS用に使ってたけど余ったので流用して、とりあえず組み込んで作業用の一時ファイル置き場として使おうと思ったけど、容量が少なすぎてストレージプールが作成できず。
今のところ、読み込み時のキャッシュディスクとして使用してます。ファイル読み込みが多少は速くなっている…のかな。

ベンチマーク

macからNASへアクセスした際のベンチマークです。 macとスイッチ間は2.5Gbps、NASとスイッチ間は10Gbpsです。 個人的には、十分な速度が出てます。

Virtualization Station

録画マシン(Mirakurun + EPGStation)

VMとして、Ubuntu 22.04をインストールしてます。
NAS本体に接続しているPCIeチューナーカードのPT3をPCIパススルーして、カードリーダーもUSBパススルーしてVMから認識できるようにしてます。
Dockerで、MirakurunとEPGStationのコンテナをインストールして録画マシンとして稼働させてます。

地上波テレビの録画もリアルタイム視聴も問題なく動作してます。
が、NAS本体を再起動するとPCIパススルーの設定が消えてしまうため、都度都度手作業で書き換えしているところが若干面倒くさいところ。頻繁に再起動しないとはいえ、後々改善が必要かな。

Container Station

Homebridge

Docker Hubからコンテナをインストールしてます。
自宅にある家電をiPhone、Mac、Homepodで操作するためのブリッジとして必要です。Homebridgeを使って、Homekitに対応していないエアコンや照明を音声操作できます。 HomeAssistantもあるけど、いまいち使いこなせてないので、追々。

Dashy

Docker Hubからコンテナをインストールしてます。
自宅内の各デバイスにアクセスする際のダッシュボードを管理できます。

まとめ

常時稼働が必要なサーバ群を、常時起動しているNAS上に集約できたのでよし。
まだ、リソースはあるので、検証マシンもあと数台は稼働できそう。