Ubuntu 20.04 で ZFS を設定する

11月 17, 2021
admin

Ubuntu 20.04 で ZFS のインストールが完了したら、次のステップはハード ディスクに関する設定を行うことです。 ZFS には多くの可能性があり、何をするかは、使用可能なドライブの数とストレージの目標によって決まります。 例えば、ストレージアレイはスピードと冗長性のどちらに重点を置くべきでしょうか? ディスクは3台か20台か? 暗号化についてはどうでしょうか。

どのタイプの構成であっても、このガイドで始める方法を説明します。 ZFS の基本的な使用コマンドと、zpool、RAID-Z、暗号化などの設定について説明します。

このチュートリアルでは、次のことを学びます。

  • How to install ZFS on Ubuntu 20.04
  • How to create and destroy zpools
  • Configure different levels of RAID and RAID-Z
  • How to use encryption with ZFS
ZFS on Ubuntu 20.04

ZFS on Ubuntu 20.04

Ubuntu 20.04

ZFS on Ubuntu 20.04

Ubuntu 20.04

ZFS on Ubuntu 20.04>

Ubuntu 20.0404

Linux システムに root または sudo コマンドで特権的にアクセス可能なこと。

ソフトウェアの要件と Linux コマンド ラインの慣習
カテゴリ 要件、慣習または使用ソフトウェア バージョン
システム インストールまたは更新 Ubuntu 20.04.0 Ubuntu 20.0.1 Ubuntu 20.04 Focal Fossa
ソフトウェア ZFS ユーティリティ
その他
Conventions # – 与えられた linux コマンドは、root ユーザーとして直接、または sudo コマンドを使用することで root 権限で実行する必要があります $ -。 は、与えられたLinuxコマンドを非特権ユーザーとして実行する必要があります

Prerequisites

ZFSを使い始め、我々のガイドに従うために必要なものは、Ubuntu 20.X.X.X.X.X. です。04 Focal Fossa、ストレージ アレイに使用するいくつかのハード ドライブ、およびシステムにインストールされた ZFS ユーティリティです。 ZFS がまだインストールされていない場合は、ターミナルを開き、次の 2 つのコマンドを使用して zfsutils-linux パッケージをインストールできます:

$ sudo apt update$ sudo apt install zfsutils-linux

ZFS がインストールされているかどうかは、ターミナルで次のコマンドを実行して確認できます。

$ zfs --version
Check the ZFS version to verify that ZFS is installed on your system

Check the ZFS version to verify that ZFS is installed on your system

ZFS 基本使用法とコマンド

テスト システムではいくつかのハード ドライブを ZFS とともに使う予定になっています。

システムに新しいハードディスクを接続すると、ZFS はデバイス名でそれらをアドレスします – 通常は /dev/sda のようなものです。 fdisk コマンドを使用して、利用可能なハードディスクを確認することができます。

$ sudo fdisk -l
The fdisk command shows us all the hard disks on our system that can be used in zpools

The fdisk command shows us all the hard disks on our system that can be used in zpools

Create and destroy ZFS storage pools

ZFS works by “pool” disk together. これらのプール (一般に「zpool」と呼ばれます) は、さまざまな RAID レベルに設定できます。

最初に見る zpool は、RAID 0 です。 これは、複数のディスク間でデータをストライピングすることによって動作します。 ファイルがストレージプールから読み込まれるか、またはストレージプールに書き込まれるとき、すべてのディスクはデータの一部を提示するために一緒に動作します。 これにより、読み込みと書き込みの速度が向上しますが、冗長性には何の効果もありません。

$ sudo zpool create mypool /dev/sdb /dev/sdc
The zpool status command shows our RAID 0 striped zpool

The zpool status command shows our RAID 0 striped zpool

このコマンドにより、/dev/sdb/dev/sdc という 2 つのハードディスクで「mypool」という ZFS 記憶プールが生成されました。 このコマンドを実行すれば、いつでもストレージ プールの詳細を見ることができます:

$ zpool status

また、実行すれば、より簡潔な ZFS ストレージ プールのレポートを見ることができます。

$ zpool list
Output of zpool list command

Output of zpool list command

新しく作成したプールは自動的にマウントされて、すぐに使い始めることができます。 ZFS の良い特徴は、長いパーティショニング (ディスク全体を使用する場合) やフォーマット処理を行う必要がないことです。 ストレージにはすぐにアクセスできるのです。

$ df -hT | grep zfs
Use the df command to see your mounted zpool

Use the df command to see your mounted zpool

プールに別のハードディスクを追加したい場合、このコマンドを見て、ハードディスク /dev/sdd を以前に作成した mypool 記憶プールに加えてみてください。

$ sudo zpool add mypool /dev/sdd

ドライブが zpool status コマンドで zpool に追加されたことを確認できます。

A new hard disk has been added to our zpool

A new hard disk has been added to our zpool

Zpool はいつでも次のコマンドで破棄することが可能です。

$ sudo zpool destroy mypool
Destroying our zpool

Destroying our zpool

RAID 0 zpool の場合は、プールを完全に破壊してすべてのデータを失わずにプールからどのディスクも削除することが出来ません。 ZFS には多くの異なるオプションがあり、プールの整合性を維持しながらディスクの除去または故障を可能にするものもあります。

他のタイプの ZFS ストレージ プールは、上で示したのと同じ方法で作成しますが、プールを作成するときに zpool コマンドで追加の引数を指定する必要があります。 いくつかの例を見てみましょう。

ミラーリングされたストレージ プールは、ZFS の RAID 1 に相当します。 これは、すべてのデータが 1 つのハード ディスクから 1 つまたは複数の別のハード ディスクにミラーリングされるため、冗長性が得られます。 ミラーリングされたストレージプールを作成するには、次のコマンド構文を使用します:

$ sudo zpool create mypool mirror /dev/sdb /dev/sdc
Creating a mirrored (RAID 1) zpool

Creating a mirrored (RAID 1) zpool

もちろん、さらに冗長度を作るためにプールにディスクを追加することは可能です。

では、RAID-Z プールを見てみましょう。 RAID-Z は RAID 5 と非常によく似ていますが、より優れた速度と、RAID 5 に関連する一般的なエラーのいくつかを回避することで改良されています。

RAID-Z では、ブロック レベルのストライピングと分散パリティを使用して、速度と冗長性を得ることができます。

  • raidz1 (または単に raidz) – シングルパリティ
  • raidz2 – ダブルパリティ
  • raidz3 – トリプルパリティ

ここで RAID-Z プールを作成する方法について説明します。 より多くのパリティが必要な場合は、このコマンドの raidz の代わりに raidz2 または raidz3 を使用します(その場合、追加のディスクも必要であることに留意してください)。

$ sudo zpool create mypool raidz /dev/sdb /dev/sdc /dev/sdd
Creating a RAID-Z zpool

Creating a RAID-Z zpool

Encryption on ZFS

ZFSストレージプールを作成したら、次のコマンドで暗号化を設定することができます。 この例では、mypool という名前の 3 つのディスク RAID-Z プールをまだ使用しています。

$ sudo zfs create -o encryption=on -o keylocation=prompt -o keyformat=passphrase mypool/encrypted

暗号化のためにパスフレーズを 2 回入力するよう求められます。

Configuring encryption with ZFS

Configuring encryption with ZFS

/mypool/encrypted 以下に新しいディレクトリが作成されて、そのディレクトリ内のすべてのものは暗号化されています。 再起動するたびに、暗号化されたデータセットを手動でマウントする必要があります。 暗号化されたデータセットをマウントするときは、必ず -l フラグを使用してください。

$ sudo zfs mount -l mypool/encrypted
Mounting the encrypted ZFS dataset

Mounting the encrypted ZFS dataset

Conclusion

ZFS は高い稼働率とデータの完全性に焦点を当てたファイル システムです。 ストレージ/NAS サーバーや、ハードドライブの冗長性とともに読み取りおよび書き込み速度が重要なあらゆる環境に最適です。

このガイドでは、Ubuntu 20.04 Focal Fossa で ZFS のいくつかの基本使用コマンドについて学習しました。 zpools を使用して自分のシステムで ZFS を構成することから始める方法を紹介しましたが、ZFS の構成ははるかに広範囲になる可能性があります

コメントを残す

メールアドレスが公開されることはありません。