kledgeb UbuntuやLinuxの最新情報を紹介

Ubuntu 19.10 その26 - インストーラーからZFS on rootの構築が可能に

インストーラーからZFS on rootの構築が可能に

「Ubuntu 19.10」では、「Ubuntu Desktop 19.10」のインストーラーから「ZFS on root」の構築が可能になりました。
つまり「Ubuntu Desktop」を「ZFS」上に簡単にインストールできるということです。


  • Ubuntu ZFS support in 19.10: ZFS on root

ZFS on rootが意味するもの

「ZFS on root」により、「Ubuntu(システム)」の大部分が「ZFS」上にインストールされるようになります。

ZFS On Linux 0.8.1 + バックポート

「ZFS On Linux」は「ZFS」の構築やメンテナンスなど「Linux」上で「ZFS」を利用するために必要なソフトウェアです。
「Ubuntu 19.10」では「ZFS On Linux 0.8.1」を採用しており、ネイティブ暗号化やトリミング、チェックポイント、Raw encrypted zfs transmissionと言った機能を利用でき、またパフォーマンスが改善されています。

  • zfs-linux source package in Eoan

アップストリームの「ZFS On Linux 0.8.1」は、2019年6月15日にリリースされました。

  • zfs-0.8.1

アップストリームでは現時点で最新版の「ZFS On Linux 0.8.2」を2019年9月27日にリリースしていますが、残念ながら「ZFS On Linux 0.8.2」は「Ubuntu 19.10」のリリースに間に合いませんでした。

  • zfs-0.8.2

しかし「Ubuntu」の開発チームは、「ZFS On Linux 0.8.1」以降のリリースで行われた新しい「Linux kernel」との互換性向上などの修正を、ユーザーに最善のUXそして安定性を提供するためバックポートし、「Ubuntu」で提供する「ZFS On Linux」に反映しています。
と同時にアップストリームに対し、問題の修正などフィードバックも行っています。

  • Workaround to avoid a race when /var/lib is a persistent dataset

既存のZFS on rootユーザーにもメリットがある

「Ubuntu」開発チームの「ZFS」に対する様々な取り組みは、すでに「Ubuntu 19.04」等で「ZFS on root」を利用しているユーザーに対してもメリットをもたらすものであり、しかも「Ubuntu 19.10」へアップグレードするだけで取り組みの中で得られた利点を既存のユーザーにも提供できます。

インストーラーにZFS on rootのオプションを追加

「Ubiquity」に「ZFS on root」を構築するためのオプションが追加されました。
「Ubiquity」は「Ubuntu」のインストーラーですね。

まだ試験的・実験的な提供

このオプション及び実装は、まだ試験的・実験的な提供に留まります。
いわゆるアルファ版の機能になります。

「ZFS」自体は長い年月を経て成熟したプロダクトですが、インストーラーの本オプションはまだ成熟した機能ではなく、本オプションを利用するユーザーはその点に留意する必要があります。
つまり本番環境での利用はおすすめしませんし、そうでなくても重要なデータは事前及び定期的にバックアップしておきましょう。
また本機能が安定版として提供されるまで、仕様(実装仕様)が変わる可能性があります。

ZFS on rootを試してみよう

「ZFS on root」を試してみましょう。

1.ZFS on rootオプションの選択

普段と同じようにライブメディアから「Ubuntu」を起動し、デスクトップから「Ubuntu」のインストーラーを起動します。
「インストールの種類」画面で、以下のように「実験的機能:ディスクを消去してZFSを使用する」オプションが表示されます。


「ZFS on root」で「Ubuntu」をインストールする場合、このオプションを選択し「インストール」ボタンをクリックします。

2.インストール先ディスクの選択

PCに複数のディスクが接続されている場合、インストール先ディスクを選択する画面が表示されます。
その後以下のように、インストール先ディスクの確認画面が表示されます。


「続ける」ボタンをクリックすれば、「ZFS on root」で「Ubuntu」がインストールされます。

ちなみに上記画面で「ext4」にフォーマットする内容が表示されていますが、実際には「ZFS」が構築されるため気にしなくて良いです。

  • zfs "Write to change disks" message prints that an ext4 partition will be created

これは「partman」が「ESP」を扱えるようにするため、インストーラーが複数のパーティションを作成し、その後「ext4」パーティションを「ZFS」で上書きしているためです。

この問題の修正は「Ubuntu 19.10」のリリースに間に合いません。
このように本機能は実験的な機能でありいくつか既知の課題がありますが、安定版として本機能を提供する前に、可能であれば次の開発サイクル時に、不具合の修正が行われる予定です。

補足

「Ubuntu Desktop 19.10」のインストール時、インストール方法を選択する前の画面で、以下のようにメモリーの消費量が大きく上昇する現象が発生しました。
下図では2.8GiBになっていますね。
インストールに使用したディスクイメージは昨日のものであり最終リリース版ではありませんが、もし仮想マシン等に「Ubuntu Desktop 19.10」をインストールする場合は、環境にも寄りますが割り当てるメモリー量を3.5GiB〜4GiB以上に変更しておいたほうが良いかも知れません。


下図は「ZFS on root」でインストール中の画面です。


パーティション構成

インストーラーから「ZFS on root」で「Ubuntu」をインストールした場合、どのようなパーティション構成になるのでしょうか。

1.rpool

1つ目のZFSパーティションは、「rpool(root pool/ルートプール)」です。
ここに「Ubuntu」本体のデータの多くやユーザーのデータが配置されます。
ユーザーがメインで利用するパーティションになります。


データセットレイアウトの詳細は内容が長くなるため、後日別途紹介される予定です。

  pool: rpool
 state: ONLINE
  scan: none requested
config:

    NAME        STATE     READ WRITE CKSUM
    rpool       ONLINE       0     0     0
      sda4      ONLINE       0     0     0

2.bpool

もうひとつのZFSパーティションは、「boot pool」と呼ばれる「bpool」です。
ここには「Linux kernel」や「initramfs」が配置されます。
「bpool」は「/boot」ですが、ここにはEFIのOSローダーやブートローダーは含まれていません。


  pool: bpool
 state: ONLINE
status: The pool is formatted using a legacy on-disk format.  The pool can
    still be used, but some features are unavailable.
action: Upgrade the pool using 'zpool upgrade'.  Once this is done, the
    pool will no longer be accessible on software that does not support
    feature flags.
  scan: none requested
config:

    NAME        STATE     READ WRITE CKSUM
    bpool       ONLINE       0     0     0
      sda3      ONLINE       0     0     0

「grub」が「root pool」上で有効にしたいすべてのZFS機能をサポートしていないため、メインプールとは別に「bpool」が作成されています。
こうしないとブートローダーからプールにアクセスできなくなり、システムを起動できなくなります。
このプールは異なるプールバージョン(28)で動作していますが、次の開発サイクルにてバージョン5000へのアップグレードが検討されています。

  • [Installer] Use version 5000 with some feature disabled on bpool

注意事項

「zpool status」コマンドを実行すると、上記のように「bpool」のアップグレード案内が表示されますが、決してアップグレードしないでください。
アップグレードしてしまうと、システムを起動できなくなります。
本件に関しては、このアップグレード案内を抑制するパッチの作成作業が行われる予定です。

  • Prevent bpool (or pools with /BOOT/) to be upgraded

3.ESP(EFIシステムパーティション)

今のところ「UEFI」システムでのみ「ESP」が作成されます。
「ESP」は「/boot/efi」にマウントされます。



セキュアブートを無効にしたユーザーが後でセキュアブートを有効にしたい時にスムーズに移行できるよう、将来的にインストーラーで機械的に「ESP」を作成する方針が検討されています。

  • Always create the ESP

4.grubパーティション

grubパーティションは「ext4」でフォーマットされ、「/boot/grub」にマウントされます。



grubパーティションは、そのPCにインストールされている各Linux OS間で共有する領域であるため「ZFS」にはなりません。
ただし将来的に上記で紹介した常に「ESP」を作成する実装が実現したら、「grub」自身を「ESP」に移動できるようになります。

Ubuntu
スポンサー
コメント
コメントポリシー
コメントをする前に UbuntuのCode of Conduct(CoC/行動規範) を確認し、CoCに沿ったコメントをお願いします。
コメントの使い方は、コメントの使い方を参照してください。
同一カテゴリーの記事
SNS
人気の記事
  • Linux その450 - Canonical LXD や MicroCloud にクライアントなりすましの脆弱性・アップデートを
    Canonical LXD や MicroCloud に重大な脆弱性 2026年10月28日、Canonical LXD や MicroCloud に重大な脆弱性がみつかりました。
  • Ubuntu 26.04 その82 - Linux kernel の脆弱性 CVE-2026-98432 の対応状況
    CVE-2026-98432 の対応状況 2026年11月2日、Linux kernel の脆弱性である CVE-2026-98432 の対応状況がアナウンスされました。
  • Linux Mint その294 - Linux Mint 27 の開発とリリース方針の変更・アラーム管理アプリの開発
    Linux Mint 月刊ニュース Linux Mint 開発チームは Linux Mint 月刊ニュースにて、Linux Mint の開発状況や取り組みを紹介しています。
  • Ubuntu 26.04 その76 - CVE-2026-92392 含む curl の脆弱性22件修正・アップデートを
    curl の脆弱性22件修正 CVE-2026-92392 含む22件の curl の脆弱性に対応したセキュリティーアップデートがリリースされました。
  • Ubuntu 26.10 その38 - Ubuntu 26.10 がリリースされました・ディスクイメージのダウンロード
    Ubuntu 26.10 リリース 2026年10月15日、Ubuntu 26.10 がリリースされました。
  • Ubuntu 26.04 その78 - eMudhra 認証局の秘密鍵の侵害・アップデートを
    eMudhra 認証局の秘密鍵の侵害 2026年10月20日、eMudhra 認証局(eMudhra CA)の秘密鍵の侵害が発覚しました。
  • Ubuntu 26.04 その79 - CVE-2026-111497 に対応した Brotli のリリース・アップデートを
    Brotli のセキュリティーアップデート 2026年10月26日、CVE-2026-111497 に対応した Brotli がリリースされました。
  • Ubuntu 26.10 その39 - Ubuntu 26.10 の新機能と変更点・既知の問題
    Ubuntu 26.10 の新機能と変更点・既知の問題 リリースノートから、Ubuntu 26.10 の新機能と変更点を紹介します。
  • Ubuntu 26.04 その77 - PHP に php2shell(CVE-2026-109618/CVE-2026-109619)の脆弱性・アップデートを
    PHP に php2shell の脆弱性 PHP に php2shell と呼ばれる致命的な脆弱性が見つかりました。
  • Ubuntu 26.04 その80 - Ubuntu 26.04.2 LTS のリリーススケジュール
    Ubuntu 26.04.2 LTSのリリーススケジュール Ubuntu 26.04.2 LTS のリリーススケジュールを紹介します。
記事のピックアップ
オプション