Oracle Solaris ZFS 管理ガイド

第 1 章 Oracle Solaris ZFS ファイルシステム (概要)

この章では、Oracle Solaris ZFS ファイルシステムの概要およびその機能と利点について説明します。また、このマニュアルの残りの章で使用されるいくつかの基本的な用語について説明します。

この章は、次の節で構成されます。

ZFS の新機能

この節では、ZFS ファイルシステムの新機能について概説します。

ミラー化された ZFS ストレージプールの分割 (zpool split)

Oracle Solaris 10 9/10 リリース: この Solaris リリースでは、zpool split コマンドを使用して、ミラー化されたストレージプールを分割できます。これにより、元のミラー化プール内の 1 つまたは複数のディスクが切り離され、別の同一のプールが作成されます。

詳細は、「ミラー化 ZFS ストレージプールを分割して新しいプールを作成する」を参照してください。

新しい ZFS システムプロセス

Oracle Solaris 10 9/10 リリース: この Solaris リリースでは、個々の ZFS ストレージプールに zpool-poolname という名前のプロセスが関連付けられます。このプロセス内のスレッドは、プールと関連付けられた圧縮やチェックサム計算などの入出力タスクを処理するための、プールの入出力処理スレッドです。このプロセスの目的は、各ストレージプールの CPU 使用率を確認できるようにすることです。これらのプロセスについての情報は、ps および prstat コマンドを使用して確認できます。これらのプロセスは大域ゾーンでのみ使用可能です。詳細は、SDC(7)を参照してください。

zpool list コマンドの変更点

Oracle Solaris 10 9/10 リリース: この Solaris リリースでは、より詳細な領域割り当て情報を提供するように zpool list の出力が変更されています。次に例を示します。


# zpool list tank
NAME    SIZE  ALLOC   FREE    CAP  HEALTH  ALTROOT
tank    136G  55.2G  80.8G    40%  ONLINE  -

以前の USED および AVAIL フィールドは、ALLOC および FREE に置き換えられました。

ALLOC フィールドは、すべてのデータセットおよび内部メタデータに割り当てられた物理領域の容量を示します。FREE フィールドは、プール内で割り当てられていない領域の容量を示します。

詳細は、「ZFS ストレージプールについての情報を表示する」を参照してください。

ZFS ストレージプールの復旧

Oracle Solaris 10 9/10 リリース: 配下のデバイスが利用不能になった場合、電源障害が発生した場合、または冗長 ZFS 構成でサポートされている数よりも多くのデバイスで障害が発生した場合、ストレージプールが損傷を受ける可能性があります。このリリースでは、損傷したストレージプールを復旧するための新しいコマンド機能が用意されています。ただし、この復旧機能を使用すると、プールが機能停止する前に発生した最後の数回分のトランザクションが失われる場合があります。

zpool clear および zpool import コマンドはどちらも、損傷したプールを復旧する可能性のある -F オプションをサポートします。また、zpool statuszpool clear、または zpool import コマンドを実行すると損傷したプールが自動的に報告され、これらのコマンドはプールの復旧方法を説明します。

詳細は、「ZFS ストレージプール全体の損傷を修復する」を参照してください。

ログデバイスに関する ZFS の拡張機能

Oracle Solaris 10 9/10 リリース: ログデバイスに関する次の拡張機能が使用できます。

トリプルパリティー RAIDZ (raidz3)

Oracle Solaris 10 9/10 リリース: この Solaris リリースでは、冗長な RAID-Z 構成でシングルパリティー、ダブルパリティー、またはトリプルパリティーを使用できるようになりました。これはそれぞれ、1 つ、2 つ、または 3 つのデバイスで障害が発生しても、データを失うことなく処理を続行できることを意味します。raidz3 キーワードを指定すれば、トリプルパリティー RAID-Z 構成にすることができます。詳細は、「RAID-Z ストレージプールを作成する」を参照してください。

ZFS スナップショットの保持

Oracle Solaris 10 9/10 リリース: 異なる自動スナップショットポリシーを実装しており、送信側にもう存在しないという理由で古いスナップショットが zfs receive によって意図せず破棄されてしまう場合、この Solaris リリースのスナップショット保持機能の使用を検討することができます。

スナップショットを保持すると、そのスナップショットは破棄されなくなります。また、この機能と zfs destroy -d コマンドを使用することにより、最後のクローンの消去を保留しながら、クローンが存在するスナップショットを削除できます。

1 つのスナップショットまたはスナップショットの集合を保持できます。たとえば次の構文は、保持タグ keeptank/home/cindys/snap@1 に付与します。


# zfs hold keep tank/home/cindys@snap1

詳細は、「ZFS スナップショットの保持」を参照してください。

デバイスの置き換えに関する ZFS の拡張機能

Oracle Solaris 10 9/10 リリース: この Solaris リリースでは、配下のデバイスが拡張されたときのシステムイベント (sysevent) を使用できます。これらのイベントを認識し、autoexpand プロパティーの設定と拡張された LUN の新しいサイズに基づいてプールを調整できるように ZFS の機能が拡張されています。動的な LUN の拡張イベントを受信したときの自動プール拡張を、プールの autoexpand プロパティーを使用して有効または無効にできます。

これらの機能を利用すると、LUN を拡張したあとでプールのエクスポートとインポートまたはシステムの再起動を行わなくても、プールの拡張された領域にアクセスすることができます。

たとえば、tank プールで LUN の自動拡張を有効にします。


# zpool set autoexpand=on tank

または、autoexpand プロパティーを有効にしてプールを作成できます。


# zpool create -o autoexpand=on tank c1t13d0

autoexpand プロパティーはデフォルトで無効なため、LUN を拡張するかどうかは自由に決定できます。

zpool online - e コマンドを使って LUN を拡張することもできます。次に例を示します。


# zpool online -e tank c1t6d0

あるいは、zpool replace 機能を使って LUN を接続または使用可能にしたあとで autoexpand プロパティーを再設定できます。たとえば、8G バイトのディスク 1 台 (c0t0d0) で構成される次のプールを作成します。8G バイトのディスクを 16G バイトのディスク (c1t13d0) に置き換えても、autoexpand プロパティーを有効にするまでプールのサイズは拡張されません。


# zpool create pool c0t0d0
# zpool list
NAME   SIZE   ALLOC  FREE    CAP   HEALTH  ALTROOT
pool   8.44G  76.5K  8.44G     0%  ONLINE  -
# zpool replace pool c0t0d0 c1t13d0
# zpool list
NAME   SIZE   ALLOC  FREE    CAP   HEALTH  ALTROOT
pool   8.44G  91.5K  8.44G     0%  ONLINE  -
# zpool set autoexpand=on pool
# zpool list
NAME   SIZE   ALLOC  FREE    CAP   HEALTH  ALTROOT
pool   16.8G   91.5K  16.8G    0%  ONLINE  -

前の例で autoexpand プロパティーを有効にせずに LUN を拡張する別の方法として、デバイスがすでにオンラインであるにもかかわらず zpool online - e コマンドを使用することができます。次に例を示します。


# zpool create tank c0t0d0
# zpool list tank
NAME   SIZE   ALLOC  FREE    CAP   HEALTH  ALTROOT
tank   8.44G  76.5K  8.44G     0%  ONLINE  -
# zpool replace tank c0t0d0 c1t13d0
# zpool list tank
NAME   SIZE   ALLOC  FREE    CAP   HEALTH  ALTROOT
tank   8.44G  91.5K  8.44G     0%  ONLINE  -
# zpool online -e tank c1t13d0
# zpool list tank
NAME   SIZE   ALLOC  FREE    CAP   HEALTH  ALTROOT
tank   16.8G    90K  16.8G     0%  ONLINE  -

デバイスの置き換えに関するこのリリースのその他の拡張機能には、次のものがあります。

デバイスの置き換えについては、「ストレージプール内のデバイスを置き換える」を参照してください。

ZFS インストールおよびフラッシュインストールのサポート

Solaris 10 10/09 リリース: この Solaris リリースでは、JumpStart プロファイルを設定して、ZFS ルートプールのフラッシュアーカイブを特定できます。詳細は、「ZFS ルートファイルシステムのインストール (Oracle Solaris フラッシュアーカイブインストール)」を参照してください。

ZFS ユーザーおよびグループの割り当て制限

Solaris 10 10/09 リリース: 以前の Solaris リリースでは、割り当て制限と予約を ZFS ファイルシステムに適用して、ディスク領域の管理および予約を行っていました。

Solaris のこのリリースでは、特定のユーザーやグループが所有するファイルによって消費されるディスク容量に割り当て制限を設定できます。例えば、多数のユーザーまたグループが存在する環境でユーザーおよびグループの割り当て制限を設定する場合もあります。

ユーザーの割り当て制限は、zfs userquota プロパティーを使用して設定できます。グループの割り当て制限を設定するには、zfs groupquota プロパティーを使用します。次に例を示します。


# zfs set userquota@user1=5G tank/data
# zfs set groupquota@staff=10G tank/staff/admins

ユーザーまたはグループの現在の割り当て制限の設定を表示するには、次のようにします。


# zfs get userquota@user1 tank/data
NAME       PROPERTY         VALUE            SOURCE
tank/data  userquota@user1  5G               local
# zfs get groupquota@staff tank/staff/admins
NAME               PROPERTY          VALUE             SOURCE
tank/staff/admins  groupquota@staff  10G               local

割り当て制限に関する一般的な情報を表示するには、次のようにします。


# zfs userspace tank/data
TYPE        NAME   USED  QUOTA  
POSIX User  root     3K   none  
POSIX User  user1     0    5G  

# zfs groupspace tank/staff/admins
TYPE         NAME   USED  QUOTA  
POSIX Group  root     3K   none  
POSIX Group  staff     0    10G  

個別ユーザーのディスク容量使用状況は、userused@user プロパティーを使って表示できます。グループのディスク容量使用状況は、groupused@group プロパティーを使って表示できます。次に例を示します。


# zfs get userused@user1 tank/staff
NAME        PROPERTY        VALUE           SOURCE
tank/staff  userused@user1  213M            local
# zfs get groupused@staff tank/staff
NAME        PROPERTY         VALUE            SOURCE
tank/staff  groupused@staff  213M             local

ユーザーの割り当て制限の設定の詳細については、「ZFS の割り当て制限と予約を設定する」を参照してください。

実行権の ZFS ACL パススルー継承

Solaris 10 10/09 リリース: 以前の Solaris リリースでは、すべてのファイルが 0664 アクセス権または 0666 アクセス権付きで作成されるように、ACL 継承を適用することができました。このリリースでは、ファイル作成モードの実行ビットを継承後の ACL に必要に応じて含める場合、aclinherit モードを設定して、実行権を継承後の ACL に渡すことができます。

ZFS データセットで aclinherit=passthrough-x を有効にすると、cc または gcc コンパイラツールによって生成される出力ファイルに対する実行権を含めることができます。継承された ACL に実行権が含まれていない場合、コンパイラからの実行可能な出力は、chmod コマンドを使用してファイルのアクセス権を変更するまで実行できません。

詳細は、例 8–12 を参照してください。

ZFS プロパティーの拡張機能

Solaris 10 10/09 および Oracle Solaris 10 9/10: これらのリリースでは、ZFS ファイルシステムに関する拡張機能として、次のものが用意されています。

ZFS ログデバイスの回復

Solaris 10 10/09 リリース: このリリースでは、zpool status コマンド出力におけるインテントログ障害を ZFS が認識します。これらのエラーは障害管理アーキテクチャー (FMA) によっても報告されます。ZFS と FMA は両方とも、インテントログ障害から回復する方法を説明します。

たとえば、別個のログデバイスを持つプールに対する同期書き込み操作が確定される前にシステムが突然シャットダウンされた場合には、次のようなメッセージが表示されます。


# zpool status -x
  pool: pool
 state: FAULTED
status: One or more of the intent logs could not be read.
        Waiting for adminstrator intervention to fix the faulted pool.
action: Either restore the affected device(s) and run 'zpool online',
        or ignore the intent log records by running 'zpool clear'.
 scrub: none requested
config:

        NAME        STATE     READ WRITE CKSUM
        pool        FAULTED      0     0     0 bad intent log
          mirror    ONLINE       0     0     0
            c0t1d0  ONLINE       0     0     0
            c0t4d0  ONLINE       0     0     0
        logs        FAULTED      0     0     0 bad intent log
          c0t5d0    UNAVAIL      0     0     0 cannot open

そのような場合には、次の方法でログデバイスの障害を解決できます。

障害が発生したログデバイスを交換せずにこのエラーから回復するために、zpool clear コマンドを使用してエラーを解決することができます。このシナリオでは、プールが縮退モードで実行され、ログレコードは、ログデバイスが交換されるまで、メインプールに書き込まれます。

ログデバイスの障害の発生を回避するため、ミラー化ログデバイスを利用することを検討してください。

ZFS ストレージプールにおけるキャッシュデバイスの使用

Solaris 10 10/09 リリース: このリリースでは、プールを作成するとき、ストレージプールデータをキャッシュするために使用されるキャッシュデバイスを指定することができます。

キャッシュデバイスにより、メインメモリーとディスクの間にキャッシュ層が追加されます。キャッシュデバイスを使用すると、ほぼ静的なコンテンツをランダムに読み込む作業負荷のパフォーマンスが大幅に向上します。

プールの作成時に 1 つ以上のキャッシュデバイスを指定できます。次に例を示します。


# zpool create pool mirror c0t2d0 c0t4d0 cache c0t0d0
# zpool status pool
  pool: pool
 state: ONLINE
 scrub: none requested
config:

        NAME        STATE     READ WRITE CKSUM
        pool        ONLINE       0     0     0
          mirror    ONLINE       0     0     0
            c0t2d0  ONLINE       0     0     0
            c0t4d0  ONLINE       0     0     0
        cache
          c0t0d0    ONLINE       0     0     0

errors: No known data errors

キャッシュデバイスを追加すると、そのキャッシュデバイスにメインメモリーの内容が徐々に書き込まれていきます。キャッシュデバイスのサイズによっては、デバイスがいっぱいになるまでに 1 時間以上かかる場合もあります。zpool iostat コマンドを次のように使用して、容量と読み込みを監視できます。


# zpool iostat -v pool 5

プールの作成後に、プールに対してキャッシュデバイスの追加や削除を行うことができます。

詳細は、「キャッシュデバイスを使用して ZFS ストレージプールを作成する」および例 4–4 を参照してください。

ZFS 環境でのゾーンの移行

Solaris 10 5/09 リリース: このリリースでは、ZFS 環境で Oracle Solaris Live Upgrade を使用してゾーンを移行するためのサポートが拡張されています。詳細は、「ゾーンが含まれているシステムを Oracle Solaris Live Upgrade で移行またはアップグレードする (Solaris 10 5/09 以降)」を参照してください。

このリリースで認識されている問題のリストについては、『Solaris 10 5/09 ご使用にあたって』を参照してください。

ZFS のインストールおよび起動のサポート

Solaris 10 10/08 リリース: このリリースでは、ZFS ルートファイルシステムをインストールおよび起動できます。初期インストールまたは JumpStart 機能を使用して、ZFS ルートファイルシステムをインストールできます。あるいは、Oracle Solaris Live Upgrade を使用して、UFS ルートファイルシステムを ZFS ルートファイルシステムに移行できます。スワップデバイスとダンプデバイスに関する ZFS のサポートも追加されています。詳細は、第 5 章Oracle Solaris ZFS ルートファイルシステムのインストールと起動を参照してください。

このリリースで認識されている問題のリストについては、次のサイトを参照してください。

http://hub.opensolaris.org/bin/view/Community+Group+zfs/boot

『Solaris 10 10/08 ご使用にあたって』も参照してください。

マウント解除せずにデータセットをロールバックする

Solaris 10 10/08 リリース: このリリースでは、事前にマウント解除しなくてもデータセットをロールバックできます。そのため、マウント解除処理を強制的に行う zfs rollback -f オプションは不要になりました。-f オプションは今後はサポートされず、指定しても無視されます。

zfs send コマンドの拡張機能

Solaris 10 10/08 リリース: このリリースでは、zfs send コマンドに次の拡張機能が追加されています。このコマンドを使用して、次の操作を実行できるようになりました。

詳細は、「複雑な ZFS スナップショットストリームを送信および受信する」を参照してください。

ファイルシステムデータのみに対する ZFS の割り当て制限と予約

Solaris 10 10/08 リリース: このリリースでは、ZFS の割り当て制限と予約の既存機能に加え、データセットの割り当て制限と予約が追加されました。この機能では、スナップショットやクローンなどの子孫はディスク容量の計算に含まれません。

たとえば、studentA に 10G バイトの refquota 制限を設定すると、「基準」ディスク容量として 10G バイトの強い制限値を設定することができます。柔軟性を高めるために、20G バイトの割り当て制限を設定して、studentA のスナップショットを管理することもできます。


# zfs set refquota=10g tank/studentA
# zfs set quota=20g tank/studentA

詳細は、「ZFS の割り当て制限と予約を設定する」を参照してください。

ZFS ストレージプールのプロパティー

Solaris 10 10/08 リリース: ZFS ストレージプールのプロパティーは以前のリリースで導入されました。このリリースでは、cachefile および failmode の 2 つのプロパティーが用意されています。

ここでは、このリリースの新しいストレージプールプロパティーについて説明します。

ZFS コマンドの履歴の拡張機能 (zpool history)

Solaris 10 10/08 リリース: zpool history コマンドが拡張され、次の新機能が追加されています。

zpool history コマンドの使用方法の詳細については、「ZFS の問題を解決する」を参照してください。

ZFS ファイルシステムをアップグレードする (zfs upgrade)

Solaris 10 10/08 リリース: このリリースでは、今後の ZFS ファイルシステムの拡張機能を既存のファイルシステムに提供する zfs upgrade コマンドが追加されています。ZFS ストレージプールには、プール拡張を既存のストレージプールに提供する同様のアップグレード機能が備わっています。

次に例を示します。


# zfs upgrade
This system is currently running ZFS filesystem version 3.

All filesystems are formatted with the current version.

注 –

アップグレードされたファイルシステム、およびこれらのアップグレードされたファイルシステムから zfs send コマンドによって作成されたストリームには、古いソフトウェアリリースを実行しているシステムからはアクセスできません。


ZFS 委任管理

Solaris 10 10/08 リリース: このリリースでは、詳細なアクセス権を付与して、権限のないユーザーに ZFS 管理タスクの実行を許可することができます。

zfs allowzfs unallow の各コマンドを使ってアクセス権を委任および削除できます。

プールの delegation プロパティーを使って委任管理を変更できます。次に例を示します。


# zpool get delegation users
NAME  PROPERTY    VALUE       SOURCE
users  delegation  on          default
# zpool set delegation=off users
# zpool get delegation users
NAME  PROPERTY    VALUE       SOURCE
users  delegation  off         local

デフォルトでは、delegation プロパティーは有効になっています。

詳細は、第 9 章Oracle Solaris ZFS 委任管理および zfs(1M) を参照してください。

別個の ZFS ログデバイスの設定

Solaris 10 10/08 リリース: 同期トランザクションの POSIX 要件を満たすために、ZFS インテントログ (ZIL) が提供されています。たとえば、多くの場合、データベースがシステムコールから戻るときは、そのトランザクションが安定したストレージデバイス上に置かれている必要があります。NFS やその他のアプリケーションでは、データの安定性を確保するために fsync() も使用できます。デフォルトでは、ZIL はメインストレージプール内のブロックから割り当てられます。この Solaris リリースでは、ZIL ブロックが引き続きメインストレージプールから割り当てられるか、それとも別個のログデバイスから割り当てられるかを指定できます。NVRAM や専用ディスクなどで、別個のインテントログデバイスを ZFS ストレージプール内で使用することにより、パフォーマンスを向上できる可能性があります。

ZFS インテントログ用のログデバイスは、データベースのログファイルとは関連がありません。

ZFS ログデバイスの設定は、ストレージプールの作成時または作成後に行えます。ログデバイスの設定の例については、「ログデバイスを持つ ZFS ストレージプールを作成する」および「ストレージプールにデバイスを追加する」を参照してください。

既存のログデバイスにログデバイスを接続して、ミラー化ログデバイスを作成できます。この操作は、ミラー化されていないストレージプール内にデバイスを接続する操作と同じです。

使用している環境で別個の ZFS ログデバイスを設定することが適切かどうかを判断するには、次の点を考慮してください。

ZFS 中間データセットを作成する

Solaris 10 10/08 リリース: -zfs createzfs clone、および zfs rename コマンドで p オプションを使用すると、中間データセットがまだ存在しない場合にそれをすばやく作成することができます。

次の例では、ZFS データセット (users/area51) が datab ストレージプールに作成されます。


# zfs list
NAME                        USED  AVAIL  REFER  MOUNTPOINT
datab                       106K  16.5G    18K  /datab
# zfs create -p -o compression=on datab/users/area51

作成処理中に中間データセットがすでに存在していれば、この処理は正常に完了します。

指定したプロパティーは、中間データセットではなく、ターゲットデータセットに適用されます。次に例を示します。


# zfs get mountpoint,compression datab/users/area51
NAME                PROPERTY     VALUE                SOURCE
datab/users/area51  mountpoint   /datab/users/area51  default
datab/users/area51  compression  on                   local

中間データセットは、デフォルトのマウントポイントで作成されます。中間データセットに対する追加のプロパティーはすべて無効になります。次に例を示します。


# zfs get mountpoint,compression datab/users
NAME         PROPERTY     VALUE         SOURCE
datab/users  mountpoint   /datab/users  default
datab/users  compression  off           default

詳細は、zfs(1M) のマニュアルページを参照してください。

ZFS ホットプラグの拡張機能

Solaris 10 10/08 リリース: このリリースの ZFS では、削除されたデバイスへの応答がより効果的になり、挿入されたデバイスを自動的に識別できるようになっています。

詳細は、zpool(1M) のマニュアルページを参照してください。

ZFS スナップショットの名前を再帰的に変更する (zfs rename -r)

Solaris 10 10/08 リリース: zfs rename -r コマンドを使用して、すべての ZFS 子孫スナップショットの名前を再帰的に変更することができます。次に例を示します。

まず、一連の ZFS ファイルシステムのスナップショットが作成されます。


# zfs snapshot -r users/home@today
# zfs list
NAME                     USED  AVAIL  REFER  MOUNTPOINT
users                    216K  16.5G    20K  /users
users/home                76K  16.5G    22K  /users/home
users/home@today            0      -    22K  -
users/home/markm          18K  16.5G    18K  /users/home/markm
users/home/markm@today      0      -    18K  -
users/home/marks          18K  16.5G    18K  /users/home/marks
users/home/marks@today      0      -    18K  -
users/home/neil           18K  16.5G    18K  /users/home/neil
users/home/neil@today       0      -    18K  -

その翌日にスナップショットの名前が変更されます。


# zfs rename -r users/home@today @yesterday
# zfs list
NAME                         USED  AVAIL  REFER  MOUNTPOINT
users                        216K  16.5G    20K  /users
users/home                    76K  16.5G    22K  /users/home
users/home@yesterday            0      -    22K  -
users/home/markm              18K  16.5G    18K  /users/home/markm
users/home/markm@yesterday      0      -    18K  -
users/home/marks              18K  16.5G    18K  /users/home/marks
users/home/marks@yesterday      0      -    18K  -
users/home/neil               18K  16.5G    18K  /users/home/neil
users/home/neil@yesterday       0      -    18K  -

スナップショットは、再帰的な名前変更が可能な唯一の種類のデータセットです。

スナップショットの詳細については、「ZFS スナップショットの概要」と、周期的スナップショットの作成方法を記述した次のブログエントリを参照してください。

http://blogs.sun.com/mmusante/entry/rolling_snapshots_made_easy

gzip 圧縮を ZFS に使用できる

Solaris 10 10/08 リリース: この Solaris リリースでは、ZFS ファイルシステムに対して lzjb 圧縮だけでなく gzip 圧縮も設定できます。圧縮は、gzip と指定することも、gzip-N (N は 1 ~ 9) と指定することもできます。次に例を示します。


# zfs create -o compression=gzip users/home/snapshots
# zfs get compression users/home/snapshots
NAME                  PROPERTY     VALUE            SOURCE
users/home/snapshots  compression  gzip             local
# zfs create -o compression=gzip-9 users/home/oldfiles
# zfs get compression users/home/oldfiles
NAME                  PROPERTY     VALUE           SOURCE
users/home/oldfiles   compression  gzip-9          local

ZFS のプロパティーの設定方法の詳細については、「ZFS プロパティーを設定する」を参照してください。

ZFS ユーザーデータの複数のコピーを保存する

Solaris 10 10/08 リリース: 信頼性を高める機能として、可能であれば、ZFS ファイルシステムのメタデータが異なるディスクにまたがって何度か自動的に保存されます。この機能は、「ditto ブロック」として知られています。

この Solaris リリースでは、zfs set copies コマンドを使用して、ファイルシステムごとにユーザーデータの複数のコピーを保存することもできます。次に例を示します。


# zfs set copies=2 users/home
# zfs get copies users/home
NAME        PROPERTY  VALUE       SOURCE
users/home  copies    2           local

使用できる値は 1、2、または 3 です。デフォルト値は 1。これらのコピーは、ミラー化構成または RAID-Z 構成などのプールレベルの冗長性を補うものです。

ZFS ユーザーデータの複数のコピーを保存する利点は次のとおりです。


注 –

ストレージプールでの ditto ブロックの割り当てによっては、複数のコピーが単一のディスクに保存される場合もあります。そのあとでディスク全体の障害が発生すると、すべての ditto ブロックが使用不可になる可能性があります。


誤って非冗長プールを作成した場合や、データ保持ポリシーを設定する必要がある場合は、ditto ブロックの使用を検討することもできます。

単一ディスクのプールまたは複数ディスクのプールを備えたシステムで複数のコピーを保存することにより、全体的なデータ保護がどのように影響を受けるかについて詳しくは、次のブログを参照してください。

http://blogs.sun.com/relling/entry/zfs_copies_and_data_protection

ZFS のプロパティーの設定方法の詳細については、「ZFS プロパティーを設定する」を参照してください。

改善された zpool status の出力

Solaris 10 8/07 リリース: zpool status -v コマンドを使用すると、永続的なエラーが発生しているファイルの一覧を表示できます。以前は、find -inum コマンドを使用して、表示された i ノードの一覧からファイル名を特定する必要がありました。

永続的なエラーが発生しているファイル一覧の表示に関する詳細は、「破壊されたファイルまたはディレクトリを修復する」を参照してください。

ZFS および Solaris iSCSI の向上

Solaris 10 8/07 リリース: この Solaris リリースでは、ZFS ボリュームに shareiscsi プロパティーを設定することで、ZFS ボリュームを Solaris iSCSI ターゲットデバイスとして作成できます。この方法は、Solaris iSCSI ターゲットをすばやく設定するのに便利です。次に例を示します。


# zfs create -V 2g tank/volumes/v2
# zfs set shareiscsi=on tank/volumes/v2
# iscsitadm list target
Target: tank/volumes/v2
    iSCSI Name: iqn.1986-03.com.sun:02:984fe301-c412-ccc1-cc80-cf9a72aa062a
    Connections: 0

iSCSI ターゲットが作成されたら、iSCSI イニシエータを設定できます。Solaris iSCSI イニシエータの設定方法については、『Solaris のシステム管理 (デバイスとファイルシステム)』の第 14 章「Oracle Solaris iSCSI ターゲットおよびイニシエータの構成 (手順)」を参照してください。

ZFS ボリュームを iSCSI ターゲットとして管理するための詳細については、「ZFS ボリュームを Solaris iSCSI ターゲットとして使用する」を参照してください。

ZFS コマンドの履歴 (zpool history)

Solaris 10 8/07 リリース: この Solaris リリースでは、正常に実行された zfs および zpool コマンドが ZFS によって自動的に記録され、プールの状態の情報が更新されます。次に例を示します。


# zpool history
History for 'newpool':
2007-04-25.11:37:31 zpool create newpool mirror c0t8d0 c0t10d0
2007-04-25.11:37:46 zpool replace newpool c0t10d0 c0t9d0
2007-04-25.11:38:04 zpool attach newpool c0t9d0 c0t11d0
2007-04-25.11:38:09 zfs create newpool/user1
2007-04-25.11:38:15 zfs destroy newpool/user1

History for 'tank':
2007-04-25.11:46:28 zpool create tank mirror c1t0d0 c2t0d0 mirror c3t0d0 c4t0d0

この機能によって、ユーザーや Oracle のサポート担当者は実行された「正確な」ZFS コマンドを特定し、エラーシナリオのトラブルシューティングを行うことができます。

zpool history コマンドでは、特定のストレージプールを指定できます。次に例を示します。


# zpool history newpool
History for 'newpool':
2007-04-25.11:37:31 zpool create newpool mirror c0t8d0 c0t10d0
2007-04-25.11:37:46 zpool replace newpool c0t10d0 c0t9d0
2007-04-25.11:38:04 zpool attach newpool c0t9d0 c0t11d0
2007-04-25.11:38:09 zfs create newpool/user1
2007-04-25.11:38:15 zfs destroy newpool/user1

この Solaris リリースでは、zpool history コマンドで、ユーザー ID (user-ID)、ホスト名 (hostname)、またはゾーン名 (zone-name) は記録されません。ただし、この情報が記録されるのは Solaris 10 10/08 リリースからです。詳細は、「ZFS コマンドの履歴の拡張機能 (zpool history)」を参照してください。

ZFS に関する問題のトラブルシューティングの詳細については、「ZFS の問題を解決する」を参照してください。

ZFS プロパティーの改善

ZFS xattr プロパティー

Solaris 10 8/07 リリース: xattr プロパティーを使用すると、特定の ZFS ファイルシステムの拡張属性を無効または有効にできます。デフォルト値は on です。ZFS プロパティーについては、「ZFS のプロパティーの紹介」を参照してください。

ZFS canmount プロパティー

Solaris 10 8/07 リリース: 新しいプロパティーである canmount を使用すると、zfs mount コマンドを使ってデータセットをマウントできるかどうかを指定できます。詳細については、canmount プロパティー」を参照してください。

ZFS ユーザープロパティー

Solaris 10 8/07 リリース: ZFS では、内部統計情報のエクスポートや ZFS ファイルシステムの動作の制御に使用できる標準のネイティブプロパティーのほかに、ユーザープロパティーも用意されています。ユーザープロパティーは ZFS の動作には影響しませんが、これらを使用すると、使用環境内で意味のある情報をデータセットに注釈として付けることができます。

詳細については、「ZFS ユーザープロパティー」を参照してください。

ZFS ファイルシステムの作成時にプロパティーを設定する

Solaris 10 8/07 リリース: この Solaris リリースでは、ファイルシステムの作成後だけでなく作成時にプロパティーを設定できます。

次の 2 つの例は、同等の構文を示しています。


# zfs create tank/home
# zfs set mountpoint=/export/zfs tank/home
# zfs set sharenfs=on tank/home
# zfs set compression=on tank/home

# zfs create -o mountpoint=/export/zfs -o sharenfs=on -o compression=on tank/home

すべての ZFS ファイルシステムの情報を表示する

Solaris 10 8/07 リリース: この Solaris リリースでは、データセットを指定しないかまたは all を指定する場合、さまざまな形式の zfs get コマンドを使用してすべてのデータセットに関する情報を表示できます。以前のリリースでは、zfs get コマンドですべてのデータセットに関する情報を取得することはできませんでした。

次に例を示します。


# zfs get -s local all
tank/home               atime          off                    local
tank/home/bonwick       atime          off                    local
tank/home/marks         quota          50G                    local

新しい zfs receive -F オプション

Solaris 10 8/07 リリース: この Solaris リリースでは、-zfs receive コマンドに新しい F オプションを指定することで、受信が開始する前に、最新のスナップショットへのファイルシステムのロールバックを強制することができます。このオプションの使用は、ロールバックが発生してから受信が開始するまでの間にファイルシステムが変更されるときに必要となる場合があります。

詳細は、「ZFS スナップショットを受信する」を参照してください。

再帰的な ZFS スナップショット

Solaris 10 11/06 リリース: zfs snapshot コマンドを使ってファイルシステムのスナップショットを作成する場合、-r オプションを使用すると、すべての子孫ファイルシステムのスナップショットを再帰的に作成できます。また、-r オプションを使用すると、スナップショットが破棄されたときにすべての子孫スナップショットを再帰的に破棄できます。

再帰的な ZFS スナップショットは、1 つの原子動作としてすばやく作成されます。スナップショットは、まとめて (一度にすべて) 作成されるか、まったく作成されないかのどちらかです。そのような操作の利点は、子孫ファイルシステムにまたがる場合でも、常にある一貫した時間のスナップショットデータが取得されることです。

詳細は、「ZFS スナップショットを作成および破棄する」を参照してください。

ダブルパリティー RAID-Z (raidz2)

Solaris 10 11/06 リリース: 冗長な RAID-Z 構成でシングルパリティー構成またはダブルパリティー構成を使用できるようになりました。これはそれぞれ、1 つまたは 2 つのデバイスで障害が発生しても、データを失うことなく処理を続行できることを意味します。raidz2 キーワードを指定すれば、ダブルパリティー RAID-Z 構成にすることができます。あるいは、raidz または raidz1 キーワードを指定すれば、シングルパリティー RAID-Z 構成にすることができます。

詳細は、「RAID-Z ストレージプールを作成する」または zpool(1M) のマニュアルページを参照してください。

ZFS ストレージプールのデバイスのホットスペア

Solaris 10 11/06 リリース: ZFS ホットスペア機能を使用すると、1 つ以上のストレージプールで障害が発生したデバイスまたはエラー状態のデバイスの置き換えに使用可能なディスクを特定できます。デバイスを「ホットスペア」として指定しておくと、プールのアクティブデバイスで障害が発生した場合に、そのデバイスがホットスペアに自動的に置き換えられます。ストレージプールのデバイスを手動でホットスペアに置き換えることもできます。

詳細は、「ストレージプールにホットスペアを指定する」および zpool(1M) のマニュアルページを参照してください。

ZFS ファイルシステムを ZFS クローンに置き換える (zfs promote)

Solaris 10 11/06 リリース: zfs promote コマンドを使用すると、ある既存の ZFS ファイルシステムをそのファイルシステムのクローンで置き換えることができます。この機能は、ファイルシステムの代替バージョンでテストを実行してから、その代替バージョンをアクティブファイルシステムに置き換えるときに利用できます。

詳細は、「ZFS ファイルシステムを ZFS クローンで置き換える」および zfs(1M) のマニュアルページを参照してください。

ZFS ストレージプールをアップグレードする (zpool upgrade)

Solaris 10 6/06 リリース: zpool upgrade コマンドを使用すると、ストレージプールを新しいバージョンの ZFS にアップグレードして、その最新機能を利用できるようになります。また、古いバージョンの ZFS を実行している場合、zpool status コマンドによって通知されます。

詳細は、「ZFS ストレージプールをアップグレードする」および zpool(1M) のマニュアルページを参照してください。

以前の Solaris リリースのプールを持つシステムで ZFS 管理コンソールを使用する場合は、必ずプールをアップグレードしてからコンソールを使用するようにしてください。プールのアップグレードが必要かどうかを調べるには、zpool status コマンドを使用します。ZFS 管理コンソールについては、「Web ベースの ZFS 管理」を参照してください。

ZFS のバックアップコマンドと復元コマンドの名前が変更されている

Solaris 10 6/06 リリース: この Solaris リリースでは、zfs backup および zfs restore コマンドの名前が、それらの機能をより正確に表すように、zfs send および zfs receive にそれぞれ変更されています。これらのコマンドは ZFS データストリーム表現を送受信します。

これらのコマンドの詳細については、「ZFS データを送信および受信する」を参照してください。

破棄されたストレージプールの回復

Solaris 10 6/06 リリース: このリリースには、zpool import -D コマンドが含まれています。このコマンドを使用すると、以前に zpool destroy コマンドで破棄されたプールを回復できます。

詳細は、「破棄された ZFS ストレージプールを回復する」を参照してください。

ZFS が Fault Manager と統合されている

Solaris 10 6/06 リリース: このリリースには、プールの障害やデバイスの障害を診断および報告できる ZFS 診断エンジンが含まれています。プールまたはデバイスの障害に関連するチェックサム、入出力、デバイス、およびプールのエラーも報告されます。

この診断エンジンでは、チェックサムと入出力のエラーを予測分析する機能や、障害分析に基づいて予防処理を行う機能はありません。

ZFS で障害が発生した場合、次のようなメッセージが表示されることがあります。


SUNW-MSG-ID: ZFS-8000-D3, TYPE: Fault, VER: 1, SEVERITY: Major
EVENT-TIME: Wed Jun 30 14:53:39 MDT 2010
PLATFORM: SUNW,Sun-Fire-880, CSN: -, HOSTNAME: neo
SOURCE: zfs-diagnosis, REV: 1.0
EVENT-ID: 504a1188-b270-4ab0-af4e-8a77680576b8
DESC: A ZFS device failed.  Refer to http://sun.com/msg/ZFS-8000-D3 for more information.
AUTO-RESPONSE: No automated response will occur.
IMPACT: Fault tolerance of the pool may be compromised.
REC-ACTION: Run 'zpool status -x' and replace the bad device.

推奨される操作として、zpool status コマンドの指示に従って再調査することにより、障害をすばやく特定して解決することができます。

報告された ZFS の問題から回復する例については、「見つからないデバイスに関する問題を解決する」を参照してください。

zpool clear コマンド

Solaris 10 6/06 リリース: このリリースには、デバイスやプールに関連するエラーカウントをクリアーするための zpool clear コマンドが含まれています。以前は、zpool online コマンドを使ってプール内のデバイスがオンラインになったときに、エラー数がクリアーされていました。詳細は、「ストレージプールデバイスのエラーをクリアーする」および zpool(1M) のマニュアルページを参照してください。

NFSv4 ACL コンパクト形式

Solaris 10 6/06 リリース: このリリースでは、冗長およびコンパクトの 2 とおりの形式で NFSv4 ACL を設定および表示できます。どちらの ACL 形式も chmod コマンドを使って設定できます。コンパクト形式の ACL は、ls -V コマンドを使って表示できます。冗長形式の ACL は、ls -v コマンドを使って表示できます。

詳細は、「ZFS ファイルの ACL をコンパクト形式で設定および表示する」、および chmod(1)ls(1) のマニュアルページを参照してください。

ファイルシステム監視ツール (fsstat)

Solaris 10 6/06 リリース: 新しいファイルシステム監視ツール fsstat はファイルシステムの動作を報告します。アクティビティーは、マウントポイント単位またはファイルシステムタイプ単位で報告できます。一般的な ZFS ファイルシステムアクティビティーの例を示します。


$ fsstat zfs
 new  name   name  attr  attr lookup rddir  read read  write write
 file remov  chng   get   set    ops   ops   ops bytes   ops bytes
7.82M 5.92M 2.76M 1.02G 3.32M  5.60G 87.0M  363M 1.86T 20.9M  251G zfs

詳細は、fsstat(1M) のマニュアルページを参照してください。

Web ベースの ZFS 管理

Solaris 10 6/06 リリース: Web ベースの ZFS 管理ツールである ZFS 管理コンソールを使用して、次の管理タスクを実行できます。

セキュリティー保護された Web ブラウザから次の URL の ZFS 管理コンソールにアクセスできます。


https://system-name:6789/zfs

正しい URL を入力しても ZFS 管理コンソールにアクセスできない場合は、サーバーが起動していない可能性があります。サーバーを起動するには、次のコマンドを実行します。


# /usr/sbin/smcwebserver start

システムをブートするときにサーバーを自動的に実行するには、次のコマンドを実行します。


# /usr/sbin/smcwebserver enable

注 –

Solaris 管理コンソール (smc) を使って ZFS ストレージプールまたは ZFS ファイルシステムを管理することはできません。


ZFS の概要

ZFS ファイルシステムは、ファイルシステムの管理方法を根底から変える革命的な新しいファイルシステムであり、現在利用できるほかのファイルシステムにはない機能と特長を備えています。ZFS は堅牢で、スケーラブルで、管理が容易です。

プールされた ZFS ストレージ

ZFS では、物理ストレージを管理するために、「ストレージプール」という概念を使用します。従来のファイルシステムは、1 つの物理デバイス上に構築されていました。複数のデバイスへの対応とデータの冗長性を実現するために、「ボリュームマネージャー」の概念が導入されました。ファイルシステムを変更しなくても複数のデバイスが利用できるように、1 つのデバイスの表現を使用しています。このファイルシステムの設計は、仮想化したボリューム上の物理的なデータの配置を制御する手段を用意していないため、ファイルシステムをより複雑にし、ある面でのファイルシステムの進化を阻んできました。

ZFS では、ボリューム管理は一切不要です。ZFS では、仮想化されたボリュームを作成する代わりに、デバイスをストレージプールに集約します。ストレージプールは、ストレージの物理特性 (デバイスのレイアウト、データの冗長性など) を記述したもので、ファイルシステムを作成できる任意のデータストアとして機能します。ファイルシステムが個々のデバイスに制約されなくなり、デバイスのディスク領域をプール内のすべてのファイルシステムで共有することができます。ファイルシステムのサイズを事前に決定する必要はなくなりました。ファイルシステムのサイズは、ストレージプールに割り当てられたディスク領域内で自動的に拡張します。新しいストレージを追加すると、何も操作しなくても、プール内のすべてのファイルシステムで追加したディスク領域をすぐに使用できます。ストレージプールは多くの点で、仮想メモリーシステムと同様に機能します。DIMM メモリーをシステムに追加するとき、メモリーを構成するコマンドを実行したり、個別のプロセスにメモリーを割り当てたりすることをオペレーティングシステムによって強制されるわけではありません。追加したメモリーは、システムのすべてのプロセスによって自動的に使用されます。

トランザクションのセマンティクス

ZFS はトランザクションファイルシステムです。つまり、ファイルシステムの状態がディスク上で常に一定であることを意味します。従来のファイルシステムは、データをその場所で上書きします。このため、たとえば、データブロックが割り当てられてからディレクトリにリンクされるまでの間にシステムの電源が切断された場合、ファイルシステムは不整合な状態のままになります。従来、この問題は fsck コマンドを使用して解決されていました。このコマンドの機能は、ファイルシステムの状態を確認および検証し、処理中に不整合が見つかった場合はその修復を試みることでした。このようなファイルシステムの不整合の問題は管理者を大いに苦労させ、fsck コマンドを使ってもすべての問題が修正されるとは限りませんでした。最近では、ファイルシステムに「ジャーナリング」の概念が導入されました。ジャーナリングプロセスでは各処理がそれぞれのジャーナルに記録されるため、システムのクラッシュが発生したときに処理を安全に「再現」できます。このプロセスでは、不必要な負荷が発生します。これはデータを 2 回書き込む必要があるためで、多くの場合、ジャーナルを正しく再現できないなどの新しい問題が発生します。

トランザクションファイルシステムでは、データは「コピーオンライト」セマンティクスを使用して管理されます。データが上書きされることはなく、一覧の処理が完全に確定されるか、完全に無視されます。そのため、電源が突然切断されたりシステムがクラッシュしても、ファイルシステムが破壊されることはありません。直近に書き込まれたデータが失われることがあっても、ファイルシステム自体の整合性は常に保持されます。また、O_DSYNC フラグを使用して書き込まれる同期データは、書き込まれてから戻ることが常に保証されているため、失われることがありません。

チェックサムと自己修復データ

ZFS では、すべてのデータおよびメタデータが、ユーザーが選択したチェックサムアルゴリズムを使って検証されます。チェックサム検証の機能を持つ従来のファイルシステムでは、ボリューム管理層および従来のファイルシステムの設計のために、強制的にブロック単位でチェックサムが計算されていました。従来の設計では、完全なブロックを誤った位置に書き込むといった特定の障害の結果として、データは不正だがチェックサムエラーにならないという状況が生じる可能性があります。ZFS のチェックサムはそのような障害を検出し、障害モードから正常に回復できるような方法で格納されます。すべてのチェックサム検証とデータの回復は、ファイルシステム層でアプリケーションに透過的に実行されます。

また、ZFS は自己修復データも備えています。ZFS は、さまざまなレベルのデータ冗長性を備えたストレージプールをサポートします。不正なデータブロックが検出されると、ZFS は別の冗長コピーから正しいデータを取得し、不正なデータを正しいデータで置き換えて修復します。

優れたスケーラビリティー

ZFS ファイルシステムの重要な設計要素はスケーラビリティーです。ファイルシステム自体は 128 ビットで、25 京 6000 兆 (256 クアデリリオン) ゼタバイトの記憶域に対応しています。すべてのメタデータは動的に割り当てられるため、i ノードを事前に割り当てたり、初回作成時にファイルシステムのスケーラビリティーを制限する必要はありません。すべてのアルゴリズムは、スケーラビリティーを考慮して記述されています。ディレクトリには、248 (256 兆) のエントリを格納することができ、ファイルシステムの数およびファイルシステムに格納できるファイル数の制限はありません。

ZFS スナップショット

スナップショット」とは、ファイルシステムまたはボリュームの読み取り専用コピーのことです。スナップショットは、短時間で簡単に作成できます。最初のスナップショットのために、プール内のディスク領域が余分に消費されることはありません。

有効なデータセット内のデータが変更されると、スナップショットは古いデータを参照し続けるためのディスク領域を消費します。その場合、スナップショットのため、古いデータの領域は解放されずプールに戻されません。

簡素化された管理

ZFS の重要な特長として、管理モデルが大幅に簡素化されていることが挙げられます。ZFS では、階層構造のファイルシステムレイアウト、プロパティーの継承、およびマウントポイントと NFS 共有セマンティクスの自動管理により、複数のコマンドを使用したり、構成ファイルを編集したりしなくても、ファイルシステムを簡単に作成できます。割り当て制限や予約を設定したり、圧縮の有効/無効を切り替えたり、大量のファイルシステムのマウントポイントを管理したりする操作を、1 つのコマンドだけで簡単に実行することができます。デバイスの検査や交換のために、一連のボリュームマネージャーコマンドを別途学習する必要はありません。ファイルシステムスナップショットのストリームを送受信できます。

ZFS では、ファイルシステムを階層構造で管理するので、割り当て制限、予約、圧縮、マウントポイントなどのプロパティーを簡単に管理できます。この管理モデルでは、ファイルシステムが重要な役割を果たします。ファイルシステム自体は新しいディレクトリの作成と同じようにとても簡単に操作できるので、ユーザー、プロジェクト、ワークスペースなどのために個別のファイルシステムを作成することをお勧めします。この設計を利用して、きめの細かい管理ポイントを定義できます。

ZFS の用語

ここでは、このマニュアルで使用される基本的な用語について説明します。

代替ブート環境

lucreate コマンドによって作成され、場合によっては luupgrade コマンドで更新されているが、アクティブなブート環境または主ブート環境ではないブート環境。luactivate コマンドを実行することにより、代替ブート環境を主ブート環境にすることができます。

チェックサム

ファイルシステムブロック内の 256 ビットのハッシュデータ。チェックサム機能には、単純で高速な fletcher4 (デフォルト) から SHA256 などの暗号強度の高いハッシュまで、さまざまなものがあります。

クローン

初期コンテンツがスナップショットの内容と同じであるファイルシステム。

クローンの詳細については、「ZFS クローンの概要」を参照してください。

dataset

次の ZFS コンポーネントの総称名。クローン、ファイルシステム、スナップショット、およびボリューム。

各データセットは、ZFS 名前空間内で一意の名前で識別されます。データセットは、次の形式を使用して識別されます。

pool/path[ @snapshot]

pool

データセットを格納するストレージプールの名前

path

データセットコンポーネントのスラッシュ区切りのパス名

snapshot

データセットのスナップショットを識別するオプションコンポーネント

データセットの詳細については、第 6 章Oracle Solaris ZFS ファイルシステムの管理を参照してください。

ファイルシステム

標準のシステム名前空間内にマウントされ、別のファイルシステムのように動作する、filesystem タイプの ZFS データセット。

ファイルシステムの詳細については、第 6 章Oracle Solaris ZFS ファイルシステムの管理を参照してください。

ミラー

複数のディスク上にデータの同一コピーを格納する仮想デバイス。ミラー上のいずれかのディスクで障害が発生した場合には、ミラー上の別のディスクにある同じデータを利用できます。

pool

デバイスの論理グループ。使用可能なストレージのレイアウトおよび物理特性を記述します。データセットのディスク領域は、プールから割り当てられます。

ストレージプールの詳細については、第 4 章Oracle Solaris ZFS ストレージプールの管理を参照してください。

主ブート環境

lucreate コマンドによって代替ブート環境の構築に使用されるブート環境。デフォルトでは、主ブート環境は現在のブート環境です。このデフォルトは、lucreate -s オプションを使用して無効にすることができます。

RAID-Z

データとパリティーを複数のディスクに格納する仮想デバイス。RAID-Z の詳細については、「RAID-Z ストレージプール構成」を参照してください。

再同期化

あるデバイスのデータを別のデバイスにコピーする処理のことを「再同期化」と言います。たとえば、ミラーデバイスが置き換えられてオフラインになっている場合には、最新のミラーデバイスのデータが新しく復元されたミラーデバイスにコピーされます。この処理は、従来のボリューム管理製品では「ミラー再同期化」と呼ばれています。

ZFS の再同期化の詳細については、「再同期化の状態を表示する」を参照してください。

snapshot

特定の時点における ファイルシステムまたはボリュームの読み取り専用コピー。

スナップショットの詳細については、「ZFS スナップショットの概要」を参照してください。

仮想デバイス

プール内の論理デバイス。物理デバイス、ファイル、または一連のデバイスを仮想デバイスに設定できます。

仮想デバイスの詳細については、「ストレージプールの仮想デバイスの情報を表示する」を参照してください。

ボリューム

ブロックデバイスを表すデータセット。たとえば、スワップデバイスとして ZFS ボリュームを作成できます。

ZFS ボリュームの詳細については、「ZFS ボリューム」を参照してください。

ZFS コンポーネントに名前を付けるときの規則

データセットやプールなどの各 ZFS コンポーネントには、次の規則に従って名前を付ける必要があります。

また、コンポーネント名を空にすることはできません。