Ubuntu 20.04LTS Desktopで「ZFS on root」で構築してみた(その1)

Table of Content

はじめに

私の自宅環境のUbuntu 20.04LTS DesktopはルートパーティションにZFSを採用しました。
ZFSは主にオラクルのSolaris上で実装されているファイルシステム兼ボリュームマネージャです。ストレージの纏まりをプールとして定義し(LVM2で言うところのVolume Group)、そこからファイルシステムを切り出します(LVM2で言うところのLogical Volume)。LVM2と違ってファイルシステムの切り出しで容量を設定する必要がなく、プールに属するファイルシステム全体で、プールの容量を共有できます。なお、/etc/fstabの編集は不要です。
Ubuntuでは16.04から「ZFS on Linux」が標準で利用できるようになりました。このファイルシステムの柔軟性が気に入って、ZFSを使い続けています。
Ubuntuの19.10からZFSがGRUBからルートファイルシステムを簡単に選択できるようになりましので、ルートパーティションにZFSを採用しました。
※ただし、実験的な機能であり、環境や使い方によっては不安定になる可能性があります。

なぜデスクトップでZFSを採用したのか

やはり柔軟なファイルシステムが構築することが可能であることと、プールは複数のストレージをまとめて「ミラー(RAID1相当の機能)」「RAIDZ(RAID5相当の機能)」で構成することが可能です。「ストレージの故障=資産の喪失」と考えている私としては、最低限でもミラーを構築してデスクトップでも可用性を確保したいと考えたからです。
しかし、メモリーはかなり必要となりますので、最低限でもメモリーは16GB確保したいところです。

自宅環境はこのような構成にしています…

240GBのSSDを2台使ってブートディスクを構成しました。

ZFSパーティション構成

ZFSをブートディスクとして構成するには、ブートパーティションとルートパーティションを別に作成して、それぞれでプールを構成する必要があります。GRUBはZFSのバージョンが限定的です。従って、ブート用のプールは別にしないといけません。
Ubuntu 20.04LTS DesktopはインストーラでZFSを指定してインストールすることが出来ます。私は、ミラーの機能を使ってルートパーティションを構築したかったので、インストーラを使用せず、コマンドを使って構築しております。

インストール方法については長くなるので、次回記事にてご紹介したいと思います。