【NAS構築日記 vol.1】余ったPCとNAS専用OSで自宅内ファイルサーバーを構築する ~最適なOSはどれだ?!~

自宅内にファイルサーバがあると非常に便利ですよね。家族間での写真データの共有、一人暮らしで共有する相手がいなくても、ファイルのバックアップが捗ります。

最近のPCはSSDだけ搭載されているものも多く、大容量のHDDが欲しい場合にもファイルサーバが活躍します。

ファイルサーバは基本的に24時間起動しっぱなしなのでHDDは常に回り続けていますので、”止めなきゃ壊れない”というHDDの鉄則をかなえることができます。

https://hddbancho.co.jp/index.html

市販品を買ったほうがいいんじゃない?

最近はNASが各メーカーから販売されており、手軽に自宅内ファイルサーバを構築できますが、CPUの種類、RAMの容量、ストレージの容量によってコストが大幅に違いますし、自作NASに比べて非常に高価です。手間が省ける代わりに初期コストがかかります。

自作PCでNASを構築する場合、比較的安価に拡張性の高いストレージを得ることができるということがメリットだと思います。

また、選べるなら自由なソフトウェアを使いたいので、クローズドなものが多い市販品を選ぶのは自分の中ではナンセンスな選択となってしまいます。

NASが必要なワケ

COVID-19の影響でオンラインでの活動が多く、朝8時から夜22時くらいまでパソコンに張り付いている状況が4月から続いており、デジタル機器なしでは生活できない状態になってしまいました。私の環境ではメインのデスクトップパソコンや開発用のFedoraが入っているPC、Zoom専用のノートPCなど複数の端末が存在し、データを一か所にまとめ利用できる環境が必要となります。また、子供部屋おじさんですので、ほとんどを実家で過ごし、家族それぞれのデータの共有や写真のバックアップ用途にも利用したいという理由が挙げられます。

これまで

今まではバスパワー動作する4TBのWD Elementsにデータを入れて作業を行ってきましたが、複数の端末間でデータを共有するのに不便でした。

保存しているデータとしては検証用に利用する仮想マシンのディスクが利用するディスク容量は大きく、また、作業用BGMとして音楽データが大量にあります。また、最近は写真も撮るようになったので、1枚20MB程度のRAW画像をそのまま保存してあるのでかなりのディスク容量を使います。(仕訳はしているのだが…)

ディスク全体の容量を見ると、4TBのうち2.7TB程度を利用しています。

また、今年3月に近場のPC工房でWD Blue 6TBを購入し、ランサムウェア対策兼バックアップ用に定期的にデータをコピーし、クローゼットにしまっています。

なぜNAS専用OSをつかうのか?

NASのOSはファイルサーバとしての機能をもつ少し特殊なソフトウェアです。Windows、Mac間のファイル共有を可能にし、DLNA対応機器とつながりストリーミングができたりします。

ファイルサーバをたてるにはLinux系やBSD系のサーバ用OSを入れて、それにsambaをインストールし、設定すれば完成ですが、ちょっと面倒くさいです。市販品のNASキット並みに簡単に、豪華なWebGUI設定画面を使って操作することによって、ディスクの設定を間違えることを少なくし、パーミッションの設定をミスることも少なくなります。

また、NAS専用のOSを用いることによって安定したファイルサーバを構築することができます。

アドオンと呼ばれる追加機能もクリックだけでインストールすることができ、中にはNextcloudの機能を持たせ、クラウドサーバ的な使い方も簡単にできます。「nginxを入れて、、phpを入れて、、」とかやらなくても自分専用クラウドが出来上がります。

ぼくのほしい自作NASの機能

  • 3TB以上のデータを安全に保管できる
    • RAIDなどでディスクの冗長性を確保
    • 容易に拡張できること
    • OSによる違いを吸収し、別の端末間でデータを共有できること
  • オープンソースであり、ライセンスが緩いこと。
  • 将来的にUPSを導入した際に対応しているか否か
  • とにかく多機能であること!

利用を検討したNAS専用OSたち

ここではLinuxやBSDをベースにしたオープンソースのソフトウェアを紹介します。

TrueNAS(FreeNASが統合された)

最近のバージョンからFreeNASがTrueNASに統合されたようです。

TrueNASの前身であるFreeNASは昔から開発が進められており、最も人気のあるNAS用OSです。IT情報サイトなどでも取り上げられることが多く、名前だけは目にしたこともあるでしょう。

TrueNASはエンタープライズクラスの機能とオープンソースであり、BSDライセンスです。

TrueNASのメリットはデフォルトでZFSファイルシステムを備え、利用できることだと思っています。だた、RAMをキャッシュとして利用します。最低スペックでもRAMを8GB要求されますので、古いPCだと難しいかもしれません。

https://www.truenas.com

OpenMediaVault

最近はラズパイ用のイメージも配布されており、目にしたことがある方も多いと思いますが、よくできたソフトウェアです。

ZFSは使えないので従来のext4を利用するのですが、古いPCや低スペックPCで動かすにはちょうど良いものになっています。

ベースのOSはLinuxなので上記のBSDベースと比べると安定性にやや劣りますが、家庭内での利用ならば十分です。少なくとも、Windowsでのフォルダ共有よりは安定性が高いと思われます。

WebGUIも非常にわかりやすく、機能が絞られているからか操作しやすいと感じました。

https://www.openmediavault.org/

結論

今回、OpenMediaVaultはCore2Duoが搭載されたPCで動作させ、TrueNASは仮想マシンに8GBと3TBの仮想ディスクを2台ずつ、RAMを8GB割り当てて簡単な動作テストを行いました。

C2DマシンではWD Red 3TBを1台利用してNASを構築しました。また、TrueNASでは8GBと3GBそれぞれでミラーリングを行い、それに対してストライプする方法で11GBの容量を確保しました。

NASを大人数で使いたい場合はFreeNASなどのエンタープライズクラスのOSを利用することが望ましいですが、家庭や個人用途であればラズパイでも動作するOpenMediaVaultで十分だと感じました。

サーバは長期で利用することを考えると、アップデートが頻繁なソリューション、操作しやすいGUIを基準に選ぶと後々幸せになれるかもしれません。

ただ、ZFSはメリットが非常に多く、メモリを増設してでも使うべきであると考えます。まあ、最近はDDR4のRAMも安いので16GBを用意するもの簡単でしょう。

よって、自作NASに利用するOSとしては”TrueNAS”を選択することにします。

次回以降ハードウェアの選定などについて記そうと思います。

※2020年12月6日 ハードウェア選定編のリンクを追加しました。

※上級者向けの選択

海外のホームサーバー界隈を見ていると、ProxmoxというLinuxベースのハイパーバイザを用いてZFSを使ったファイルサーバを構築する人も多い印象を受けます。

ProxmoxではデフォルトでZFSを利用することができ、ハイパーバイザ側でRAIDZ等を組んで置き、ubuntu serverやCentOSにsambaをインストールして利用する方法も見つけました。

ただ、NAS管理画面にてグラフィカルな管理画面を使うことができませんし、仮想化することがメインとなってしまいますので余った非力なPCで行うにはツライものがあります。