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
人気の記事
  • Ubuntu 22.04 その98 - 入力ソースとキーボートレイアウトと日本語入力のカスタマイズ
    入力ソースとキーボートレイアウトと日本語入力 「Ubuntu」ではユーザーが利用しているキーボードレイアウトや日本語入力のカスタマイズが可能です。
  • Ubuntu 20.04 その74 - UbuntuとUEFIセキュアブート
    UbuntuとUEFIセキュアブート 「Ubuntu」と「UEFIセキュアブート」に関するお話です。
  • Ubuntu 22.04 その64 - Windows/Linux/macOSでUbuntu 22.04 LTSのライブUSBメモリーを作るには
    Ubuntu 22.04 LTSのライブUSBメモリーを作る方法 Windows/Linux/macOSでPC向け「Ubuntu 22.04 LTS」のライブUSBメモリーを作る方法を紹介します。
  • Ubuntu 22.04 その99 - 日本語入力(Mozc)の設定をカスタマイズして作業効率を上げよう
    日本語入力(Mozc)の設定をカスタマイズするには 「Ubuntu」では日本語入力に「Mozc」を採用しています。
  • WSL その219 - WSL 2のLinux kernelをアップデートするには・Linux kernelのバージョンを調べるには
    WSL 2のLinux kernelをアップデートするには 「WSL 2」の「Linux kernel」をアップデートする方法です。
  • Ubuntu gedit その66 - ファイルタイプの識別子について(モードラインプラグイン)
    ファイルタイプの識別子について   「モードライン」プラグインでは、ハイライトモードの モード を指定することができます。   モードオプションに指定する識別子は、モードの種類により異なります。
  • Ubuntu 22.04 その107 - ローカルネットワーク上でフォルダーやファイルを共有するには
    ローカルネットワーク上でフォルダーやファイルを共有するには 「ファイル(Nautilus)」アプリはファイルマネージャーです。 「ファイル」はローカルネットワーク上でフォルダーやファイルを共有する仕組みを提供しており、簡単に他のPCとフォルダーやファイルをやりとりできます。
  • Ubuntuのバージョンと開発コードの対応表
    バージョンと開発コード 「Ubuntu」には各バージョンごとに開発コードが設定されます。
  • Ubuntu 22.04 その120 - UbuntuのブートローダーをBoot Repairで修復するには・Ubuntuが起動しないトラブルを解決
    UbuntuのブートローダーをBoot Repairで修復するには 「Boot Repair」はOSのブートローダーに起因するOSが起動しない問題を簡単に解決してくれるアプリです。
  • Ubuntu 22.04 その354 - 動画や音楽の対応フォーマットを増やすには・動画や音楽が再生できない時は
    動画や音楽の対応フォーマットを増やすには 一部の動画や音楽フォーマットを再生する場合、追加ソフトウェアのインストールが必要になります。
記事のピックアップ
オプション