一般にZファイルシステムとして知られているZFSは、主にストレージと冗長性に基づいています。 ZFSの概念は、高可用性とデータの整合性が最も重要な要素であるファイルサーバーを念頭に置いて開発されました。 ZFSは、一般にzpoolsと呼ばれる仮想ストレージプールを使用して、大量のデータのストレージと管理を処理します。この記事では、zfsをインストールする方法と、技術環境でのその一般的な使用法について説明します。
前提条件
新しいUbuntu20.04サーバー
Sudo特権の非rootユーザーアカウント
インストール
ZFSのインストールは簡単なプロセスです。コマンドラインターミナルアプリケーションを使用して、ZFSファイルシステムをインストールできます。コマンドラインターミナルツールを起動し、次のコマンドを実行します。
$ sudo apt update
$ sudo apt install zfsutils-linux
インストール中に、パスワードの入力を求められ、sudoパスワードを入力して続行する場合があります。
上記のコマンドを実行すると、インストールを続行するかどうかの確認を求められます。 「y」を押して入力します。これで、ソフトウェアパッケージがシステムにインストールされます。
システムへのZFSのインストールを確認するには、次のコマンドを使用します。
$ zfs --version
次のような出力が得られます:
ZFSの基本的な使用法とコマンド
ZFSがインストールされると、ZFSでハードドライブを使用できるようになります。新しいハードドライブがシステムに挿入されると、ZFSはそれらをデバイス名でアドレス指定します。たとえば、 / dev / sdaの行に似たもの または類似。 fdiskを使用できます 使用可能なハードドライブを確認するためのコマンドラインユーティリティ。
$ sudo fdisk -l </ pre>次のような出力があります:
zpoolを作成および破棄する方法
ZFSは、ディスクを一緒にプールするという概念で機能します。プールの作成中には、さまざまなRAIDレベルを使用できます。作成する最初のプールはRAID0です。 RAIDレベル0は、複数のディスクにデータをストライピングすることで機能します。ファイルがストレージプールに書き込まれるか、ストレージプールから読み取られると、すべてのディスクが動作してデータの一部を表示します。このレベルのRAIDは、読み取りおよび書き込み操作速度の速度を向上させますが、データの冗長性がありません。ディスク上の重大な問題またはプール内のディスクの誤動作は、データの完全な損失を招きます。
この例では、2台のハードドライブ / dev / sdbを使用しました および/dev / sdd test-poolという名前のプールを作成するため 。ディスクとプールの名前の選択については、独自の仮定を立てることができます。次のコマンドを実行してzpoolを作成します。
$ sudo zpool create test-pool / dev / sdb / dev / sddエラーが表示された場合は、 -fを使用してコマンドを実行できます。 zpool createの後のオプション コマンドを強制的に実行するコマンド。
$ sudo zpool create -f test-pool / dev / sdb / dev / sdd
作成したら、次のコマンドを使用してマウントポイントを見つけることができます:
$ df -h
出力から、プールが/test-poolにマウントされていることがわかります。 次の構文を使用して、プールのマウントポイントを変更できます。
$ sudo zfs set mountpoint =この例では、 / var / wwwを使用しました 新しいマウントポイントとして。マウントポイントについては、独自に検討することができます。
$ sudo zfs set mountpoint =/ var / www test-pool次のコマンドを使用して、新しいポイントを確認します。
$ df -h
ストレージプールの下にディレクトリを作成できます。この例では、ストレージプールtest-toolの下にMySQLという名前のディレクトリを作成しました。
$ sudo zfs create test-pool / mysql次のコマンドを実行して、システム上のすべてのZFSストレージプールを表示します。
$zpoolリスト
ZFSプール内の各デバイスの構成とステータスを確認するには、次のコマンドを使用します。
$zpoolステータス
問題が発生した場合にZFSストレージプールのトラブルシューティングを行うには、zpoolイベントを表示する次のコマンドを実行します。 pool_nameをZFSストレージプールに置き換えます。
$ sudo zpool events pool_name -v
ZFSストレージプールに別のハードディスクを追加する場合は、次のコマンドを使用できます。この例では、新しいハードディスク / dev / sdcを使用しました 以前に作成したZFSストレージプールtest-poolを追加します。それに応じて、ハードディスクとzpoolの名前を選択できます。
$ sudo zpool add test-pool / dev / sdcディスクが追加されたら、次のコマンドを使用してプールを確認します。
$zpoolステータスZFSストレージプールを破棄するには、有効なプール名を使用して次のコマンドを実行します。
$ sudo zpool destroy pool_nameたとえば、
$ sudo zpool destroy test-poolZFSで暗号化を使用する方法
ZFSストレージプールを作成した後、次のコマンドを使用して暗号化を有効にできます。この例では、暗号化に「test-pool」という名前の以前に作成したZFSプールを使用しました。それに応じてZFSプールを選択できます。
$ sudo zfs create -o Encryption =on -o keylocation =prompt -o keyformat =passphrase test-pool / encodeパスフレーズを2回入力するように求められます。パスフレーズを入力して続行します。
ストレージマウントポイントの下に新しいディレクトリが作成され、このディレクトリの下にあるものはすべて暗号化されます。システムを再起動するときはいつでも、データセットを手動でマウントする必要がある場合があります。暗号化されたデータセットをマウントするときは、必ず-lフラグを使用してください。パスフレーズの入力を求められ、プールの暗号化に使用したパスフレーズを入力して続行します。
$ sudo zfs mount -l test-pool / encode$ df -hT | grep zfs
ZFSスナップショットを取得、ロールバック、破棄する方法
スナップショットを撮る
ZFSでスナップショットを作成するのは、非常に簡単で簡単なプロセスです。 zfsスナップショットを使用できます コマンドの後に、スナップショットを作成するための引数としてスナップショットの名前を続けます。この例では、 test-pool / mysqlを使用しました スナップショットを作成します。それに応じてプール名とデータセットを選択できます。
$sudozfsスナップショットtest-pool/[メール保護]
次のコマンドを使用して取得したスナップショットを確認します。
$ zfslist-tスナップショット
スナップショットの名前を変更する
zfs renameを使用してスナップショット名の名前を変更することもできます コマンドの後にスナップショット名が続きます。この例では、「 test-tool / example@unixlinux.online」という名前のスナップショット 」の名前が「test-pool/ [emailprotected]」に変更されました 」
スナップショットロールバック
スナップショットは、コマンド zfs rollbackを使用してロールバックできます。 特定のスナップショット以降に行われたすべての変更を元に戻すスナップショット名を使用します。この例では、 test-pool / mysql ファイルシステムは日曜日のスナップショットにロールバックされます。
$ sudo zfs rollback test-pool / example@unixlinux.onlineロールバックが完了すると、ディレクトリに存在するファイルを確認できます。
結論
この記事では、zfsの基本的な説明について説明しました。 ZFSストレージプールを作成する方法、プールを破棄する方法、およびマウントポイントを指定する方法を学習しました。また、スナップショットを取得してスナップショットを最も古いバージョンにロールバックするプロセスである、zfsプールの暗号化に関するいくつかの基本的なアイデアを入手しました。この記事を読んでいただきありがとうございます。フィードバックや提案をいただければ幸いです。