序章(読み飛ばしてもOKです)

自宅にファイルサーバが欲しくなりましたが、市販のNASは高いので、余ったPCで作ることにします。

私は貧乏学生ですので、Windowsを購入するお金などなく、無料で利用できるLinuxやBSDベースのOSから選びます。

ファイルサーバが必要なワケ

アクティブなデータを1箇所にまとめる事によって、いつでもどの端末からでもファイルにアクセスできるようにしたいから。 バックアップの手間を省きたいから。

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

安定しているから。

これまでの環境

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

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

バックアップ

ランサムウェア対策兼バックアップ用にWD Blue 6TBを購入し、定期的にデータをコピーし、クローゼットにしまっています。

作りたいファイルサーバ

堅牢性を考慮してファイルシステムには、 ZFSファイルシステム を用いることを考えています。

ZFSはPCのスペックを若干必要としますので、CPUが弱かったりRAMが8GB以上でなければ、ZFSファイルシステムを利用することはおすすめできません。


触ってみてよかったファイルサーバ用OS

1. TrueNAS

TrueNAS WebUI

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

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

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

私は2020年11月から21年4月までTrueNASを利用していました。 ファイルサーバ用に建てたPCを別の用途で利用することになったので、TrueNASはそれ以降やめてしまいました。 管理画面も非常にグラフィカルで操作しやすく、嫌な点はあまりなかった思い出があります。

2. Proxmox + ZFS + Samba ←ずっと使っている

Proxmox WebUI

海外の自宅サーバ掲示板で見かけた構成をみて、魅力を感じたので使ってみました。 結局この構成に落ち着いています。

Proxmoxとは、Linuxベースのハイパーバイザ仮想化のためのOSで、デフォルトでZFSファイルシステムを利用することができます。 ハイパーバイザ仮想化用ですので、WebGUIも作り込まれており、HDDをかんたんにセットアップすることができます。 この点についてはTrueNASよりも操作しやすい印象がありました。

Sambaの設定やユーザ登録などはコマンド動作が必須ですので、全体的な操作のしやすさで評価するとTrueNASになってしまいます。 ZFS関連のコマンドは非常にシンプルですので、マニュアルを見ながらだとかんたんです。

2022年3月現在もこの構成のファイルサーバを利用しており、困ったことはありません。

私がずっとこの構成を使いづつける理由として、仮想化やコンテナを動かすことができるからです。 なにかの動作確認を行いたいときに、仮想マシンをよく利用するのですが、サーバ上のコンテナで動かせばどの端末でもアクセスすることができるので、検証作業がラクになりました。


ここで、あまりよくなかった構成を紹介します。

ラズパイ4 + openmediavault +外付けHDD

TrueNASをやめた後、ラズパイ4にopenmediavaultを入れて、USB接続のHDDを用いて簡易的なファイルサーバを利用していましたが、USB接続のHDDがどんな設定を行っても、待機モードになってしまい、ラズパイがHDDを見失うという状態になってしまいましたので、2週間くらいでやめました。

TrueNASを利用する前にCore2Duo搭載マシンでopenmediavaultを利用していたときは良かったので、ラズパイと外付けHDDがあわないのが原因でしょうね… openmediavault自体は非常に洗練されたシステムです。


気になっているOS

3. Alpine Linux + ZFS + Samba

最近は Apline Linux という小型なものにハマっています。 これは組み込み向けLinuxで利用されるものを用いて実装されているため、MB単位の容量しかありません。

小さくなることによって、ムダな機能がなくなり、安定性やセキュリティ向上にも繋がります。

Alpine Linux自体にはZFSファイルシステムは搭載されていないのですが、 公式wiki には ZFSファイルシステムを利用する方法 が記述されています。

4. Ubuntuとかの普通のLinux + Samba

最近のUbuntuはファイルシステムの選択でZFSが利用でき、その他のLinuxでも ZFS on Linux で利用できるため、ファイルサーバ専用のOSなんか探さなくてもいいんじゃないかと思っています。 しかし、UbuntuのZFSは試験的な実装と記述されていますし、安定性を求めるファイルサーバに利用するのはいかがなものかと思ってしまいます。 やはり、デフォルトでZFSファイルシステムを利用できるOSが安定している印象です。

そうなると、「Alpine LinuxにZFSを追加で入れるものダメだろ」と聞こえてきそうですが、Alpine Linuxはもとが最小限ですので、安定性は高いと考えています。

2023年10月22日 追記

現在はUbuntuにOpenZFSを導入してSambaで共有しています。

この環境で1年半程度運用していますが、問題は発生しておりません。

Webベースの設定画面は無いのでLinuxコマンドで操作できる方にはおすすめです。

次回、 ハードウェア選定編