Ubuntu19.10でのZFSファイルシステム入門

Ubuntu 19.10の主な機能の1つは、ZFSのサポートです。 これで、余分な労力をかけずに、ZFSにUbuntuを簡単にインストールできます。

通常、LinuxはExt4ファイルシステムを使用してインストールします。 ただし、Ubuntu 19.10を新規インストールすると、ルートでZFSを使用するオプションが表示されます。 ただし、ディスク全体が消去されるため、デュアルブートシステムでは使用しないでください。

Ubuntu19.10のインストール中にZFSを選択できます

ZFSが重要である理由と、UbuntuのZFSインストールでZFSを利用する方法を見てみましょう。

ZFSは他のファイルシステムとどのように異なりますか?

ZFSは、大量のストレージを処理し、データの破損を防ぐという2つの主要な目標を念頭に置いて設計されています。 ZFSは、最大256兆ゼタバイトのストレージを処理できます。 (したがって、ZFSのZです。)最大16エクサバイトのサイズのファイルも処理できます。

シングルドライブのラップトップに制限されている場合でも、ZFSのデータ保護機能を利用できます。 コピーオンライト機能により、使用中のデータが上書きされないことが保証されます。 代わりに、新しい情報が新しいブロックに書き込まれ、ファイルシステムのメタデータが更新されて新しいブロックを指します。 ZFSは、ファイルシステムのスナップショットを簡単に作成できます。 これらのスナップショットは、ファイルシステムに加えられた変更を追跡し、スペースを節約するために同じデータをファイルシステムと共有します。

ZFSは、ドライブ上の各ファイルにチェックサムを割り当てました。 そのチェックサムに対してファイルの状態を常にチェックしています。 ファイルが破損していることを検出すると、そのファイルを自動的に修復しようとします。

ZFSとは何か、そしてその機能とは何かについての詳細な記事を書きました。 このトピックについてもっと知りたい場合は、それを読んでください。

ノート

ZFSのデータ保護機能は、パフォーマンスの低下につながる可能性があることに注意してください。

UbuntuでのZFSの使用 [For intermediate to advanced users]

メインディスクにZFSを使用してUbuntuをクリーンインストールしたら、開始できます 活用する このファイルシステムが持っている機能の。

ZFSのすべてのセットアップにはコマンドラインが必要であることに注意してください。 私はそれのためのGUIツールを知りません。

ZFSプールの作成

このセクションは、複数のドライブを備えたシステムがある場合にのみ適用されます。 ドライブが1つしかない場合、Ubuntuはインストール中にプールを自動的に作成します。

プールを作成する前に、プールのドライブのIDを確認する必要があります。 コマンドを使用できます lsblk この情報を表示します。

3つのドライブで基本プールを作成するには、次のコマンドを使用します。

 sudo zpool create pool-test /dev/sdb /dev/sdc /dev/sdd. 

交換することを忘れないでください プールテスト お好みのプール名で。

このコマンドは、「冗長性ゼロのRAID-0プール」をセットアップします。 これは、ドライブの1つが損傷または破損した場合、データが失われることを意味します。 この設定を使用する場合は、定期的なバックアップを実行することをお勧めします。

次のコマンドを使用して、プールに別のディスクを追加することもできます。

sudo zpool add pool-name /dev/sdx

ZFSプールのステータスを確認してください

次のコマンドを使用して、新しいプールのステータスを確認できます。

 sudo zpool status pool-test 

Zpoolステータス

ZFSプールをミラーリングする

データの安全性を確保するために、代わりにミラーリングを設定できます。 ミラーリングとは、各ドライブに同じデータが含まれていることを意味します。 ミラーリングの設定では、3台のドライブのうち2台を失っても、すべての情報を保持できる可能性があります。

ミラーを作成するには、次のようなものを使用できます。

sudo zpool create pool-test mirror /dev/sdb /dev/sdc /dev/sdd

バックアップと復元用のZFSスナップショットを作成する

スナップショットを使用すると、ファイルが削除または上書きされた場合のフォールバック位置を作成できます。 にとって example、スナップショットを作成し、ホームディレクトリのフォルダをいくつか削除して復元しましょう。

まず、スナップショットを作成するデータセットを見つける必要があります。 あなたはそれをすることができます

 zfs list

Zfsリスト

私のホームフォルダがにあることがわかります rpool / USERDATA / johnblood_uwcjk7

名前の付いたスナップショットを作成しましょう 1910年 このコマンドの使用:

sudo zfs snapshot rpool/USERDATA/[email protected]

スナップショットは非常に迅速に作成されます。 次に、ダウンロードディレクトリとドキュメントディレクトリを削除します。

スナップショットを復元するには、次のコマンドを実行するだけです。

sudo zfs rollback rpool/USERDATA/[email protected] 

ロールバックの長さは、情報がどれだけ変更されたかによって異なります。 これで、ホームフォルダを確認でき、削除されたフォルダ(およびそのコンテンツ)が正しい場所に戻されます。

ZFSにするかどうか?

これは、UbuntuでZFSを使用して何ができるかを簡単に垣間見ることができます。 詳細については、チェックアウトしてください ZFSに関するUbuntuのwikiページ。 私もこれを読むことをお勧めします ArsTechnicaに関する優れた記事

これは実験的な機能であり、ZFSを認識しておらず、単純で安定したシステムが必要な場合は、Ext4の標準インストールを使用してください。 実験したい予備のマシンがある場合は、このようなことを試して、ZFSについて1つか2つ学んでください。 あなたが「専門家」であり、自分が何をしているのかを知っている場合は、好きな場所でZFSを自由に試すことができます。

現時点では、Ubuntu 19.10でのZFSの実装は実験的なものです。これは、Ubuntu20.04リリースでディスクのレイアウト方法が変更される可能性があるためです。 ZFSがインストールされている場合にアップグレードできることを保証するものではありません。

による Ubuntuポッドキャスト、Ubuntuデスクトップチームはという名前のツールに取り組んでいます zsys。 それはaptとgrubにフックします。 システムをアップグレードすると、zsysはスナップショットを取得するため、アップグレードが失敗した場合に以前のスナップショットを起動できます。 20.04リリースで到着します。

ZFSを使用したことがありますか? 以下のコメントでお知らせください。 この記事がおもしろいと思ったら、ソーシャルメディア、Hacker News、または Reddit