読者です 読者をやめる 読者になる 読者になる

ytooyamaのブログ

サーバ構築とか、仕事で発見したこととか、趣味のこととかを書いています。

Ubuntu 16.04のZFS対応状況をちょっとだけ調べた

Ubuntu 16.04のZFS対応の件がいろいろ出ていますが、詳細がよくわからなかったのでちょっと調べてみました。

osdn.jp japan.zdnet.com

簡単にまとめると?

実際のところは、カーネルモジュールのzfs.koがUbuntuカーネルにデフォルトでバンドルされていて、あとはZFS関連のユーティリティなどを入れれば使えるよ!...という状態みたいです。ちなみにOSインストール時にファイルシステムの選択でZFSが使えるわけではないようです。デフォルトはこれまで通り、/bootとしてext2、/としてext4が使われます。ちなみにUbuntuの場合は/boot、/ともにXFSを使うこともできます。標準のインストールモードでファイルシステムを変更するには、ちょっとコツがいるんですけどね。

f:id:ytooyama:20160423131350p:plain

(上図: パーティションで使うことができるファイルシステムの一覧にはZFSはなし)

さらにUbuntu Server 16.04のインストールCDで別のシェルを開いてみると、zfs.koがバンドルされていることがわかります。 f:id:ytooyama:20160423131506p:plain

Ubuntu 16.04でのZFSの使い方

f:id:ytooyama:20160423000458p:plain 「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」みたいに実行するだけで容量を追加できます。 また、ZFSRAIDを組むこともできるのもメリットでしょうか。

ZFSを使うときの注意点は

これはZFSを使う上での常識らしいですが、メモリーがカツカツの状態で使うことのないようにしてください。少なくとも4GB以下のメモリーで使うのは大変危険です。メモリーは積めるだけ積むことをお勧めします。