Ubuntu 16.04のZFS対応の件がいろいろ出ていますが、詳細がよくわからなかったのでちょっと調べてみました。
簡単にまとめると?
実際のところは、カーネルモジュールのzfs.koがUbuntuのカーネルにデフォルトでバンドルされていて、あとはZFS関連のユーティリティなどを入れれば使えるよ!...という状態みたいです。ちなみにOSインストール時にファイルシステムの選択でZFSが使えるわけではないようです。デフォルトはこれまで通り、/bootとしてext2、/としてext4が使われます。ちなみにUbuntuの場合は/boot、/ともにXFSを使うこともできます。標準のインストールモードでファイルシステムを変更するには、ちょっとコツがいるんですけどね。
(上図: パーティションで使うことができるファイルシステムの一覧にはZFSはなし)
さらにUbuntu Server 16.04のインストールCDで別のシェルを開いてみると、zfs.koがバンドルされていることがわかります。
Ubuntu 16.04でのZFSの使い方
「modprobe zfs」コマンドを実行するとzfsモジュールを有効化できますし、/etc/modulesにzfsと書いておけば常時ZFSが使える状態になります。あとはZFSを制御するためのユーティリティを入れて、ストレージを追加するだけで利用可能になります。つまり、Ubuntu 16.04でZFSを使うには次のように実行するだけになります。
# modprobe zfs # echo "zfs" >> /etc/modules # apt update && apt install zfsutils-linux
Ubuntu 14.04およびそれ以前でもubuntu-zfsなどをインストールすればZFSは利用できましたが、ただでさえUbuntuはアップデートが多く、Linux Kernelも例外ではないため、Linux Kernelのアップデート→zfs.koのビルドとモジュールとしての組み込みが行われるのでZFSを有効化したUbuntuシステムではアップデートに時間を要するようになるという弊害がありました。
Ubuntu 16.04の標準ではモジュールが有効化されていないとはいえ、4つのコマンドでZFSが使えるようになるのでUbuntuにおいてZFSを使う敷居は大分低くなったと思います。
UbuntuでのZFSの使い道
データがどんどん増えていくようなサービスには適していると思います。ファイル共有サーバーだったりNFSだったり、イメージ置き場などのストレージとして便利だと思います。容量が足りなくなったらPCを一旦シャットダウンして新しいストレージを接続して既存のプール(例えばvol0)にそのデバイスを追加するだけ、つまり「zpool add vol0 /dev/sdX」みたいに実行するだけで容量を追加できます。 また、ZFSでRAIDを組むこともできるのもメリットでしょうか。
ZFSを使うときの注意点は
これはZFSを使う上での常識らしいですが、メモリーがカツカツの状態で使うことのないようにしてください。少なくとも4GB以下のメモリーで使うのは大変危険です。メモリーは積めるだけ積むことをお勧めします。