JavaScript is required to for searching.
ナビゲーションリンクをスキップ
印刷ビューの終了
Oracle Solaris 11.1 の管理: ZFS ファイルシステム     Oracle Solaris 11.1 Information Library (日本語)
search filter icon
search icon

ドキュメントの情報

はじめに

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

2.  Oracle Solaris ZFS 入門

3.  Oracle Solaris ZFS ストレージプールの管理

4.  ZFS ルートプールのコンポーネントの管理

5.  Oracle Solaris ZFS ファイルシステムの管理

ZFS ファイルシステムの管理 (概要)

ZFS ファイルシステムの作成、破棄、および名前変更を行う

ZFS ファイルシステムを作成する

ZFS ファイルシステムを破棄する

ZFS ファイルシステムの名前を変更する

ZFS のプロパティーの紹介

ZFS の読み取り専用のネイティブプロパティー

used プロパティー

設定可能な ZFS ネイティブプロパティー

canmount プロパティー

casesensitivity プロパティー

copies プロパティー

dedup プロパティー

encryption プロパティー

recordsize プロパティー

share.smb プロパティー

volsize プロパティー

ZFS ユーザープロパティー

ZFS ファイルシステムの情報のクエリー検索を行う

基本的な ZFS 情報を表示する

複雑な ZFS クエリーを作成する

ZFS プロパティーを管理する

ZFS プロパティーを設定する

ZFS プロパティーを継承する

ZFS プロパティーのクエリー検索を行う

スクリプトで使用できるように ZFS プロパティーのクエリー検索を行う

ZFS ファイルシステムをマウントする

ZFS マウントポイントを管理する

自動マウントポイント

レガシーマウントポイント

ZFS ファイルシステムをマウントする

一時的なマウントプロパティーを使用する

ZFS ファイルシステムをアンマウントする

ZFS ファイルシステムを共有および共有解除する

旧バージョンの ZFS 共有の構文

新しい ZFS 共有構文

プロパティーごとの継承による ZFS 共有

古いプールでの ZFS 共有の継承

ZFS 名前付き共有

ZFS 自動共有

ZFS 共有情報を表示する

ZFS 共有プロパティー値の変更

ZFS 共有の公開と非公開

ZFS 共有を削除する

非大域ゾーン内の ZFS ファイル共有

ZFS 共有のマイグレーション/移行に関する問題

ZFS ファイルシステムの共有の問題のトラブルシューティング

ZFS の割り当て制限と予約を設定する

ZFS ファイルシステムに割り当て制限を設定する

ZFS ファイルシステムでユーザーおよびグループの割り当て制限を設定する

ZFS ファイルシステムに予約を設定する

ZFS ファイルシステムの暗号化

暗号化された ZFS ファイルシステムの鍵を変更する

ZFS 暗号化鍵の管理

ZFS 鍵操作アクセス権を委任する

暗号化した ZFS ファイルシステムをマウントする

暗号化された ZFS ファイルシステムをアップグレードする

ZFS の圧縮、複製解除、暗号化のプロパティー間の関連

ZFS ファイルシステムを暗号化する例

ZFS ファイルシステムを移行する

ファイルシステムを ZFS ファイルシステムに移行する方法

ZFS ファイルシステムの移行のトラブルシューティング

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

6.  Oracle Solaris ZFS のスナップショットとクローンの操作

7.  ACL および属性を使用した Oracle Solaris ZFS ファイルの保護

8.  Oracle Solaris ZFS 委任管理

9.  Oracle Solaris ZFS の高度なトピック

10.  Oracle Solaris ZFS のトラブルシューティングとプールの回復

11.  スナップショットのアーカイブとルートプールの回復

12.  推奨の Oracle Solaris ZFS プラクティス

A.  Oracle Solaris ZFS バージョンの説明

索引

ZFS のプロパティーの紹介

ファイルシステム、ボリューム、スナップショット、およびクローンの動作を制御するときには、主にプロパティーというメカニズムを使用します。このセクションで定義されているプロパティーは、ほかに説明のある場合を除いて、すべての種類のデータセットに適用されます。

プロパティーは、ネイティブプロパティーとユーザー定義プロパティーの 2 種類に分けられます。ネイティブプロパティーは、内部の統計情報を提供するか、ZFS ファイルシステムの動作を制御します。また、ネイティブプロパティーは設定可能なプロパティーまたは読み取り専用のプロパティーのどちらかです。ユーザープロパティーは ZFS ファイルシステムの動作には影響しませんが、これらを使用すると、使用環境内で意味を持つようにデータセットに注釈を付けることができます。ユーザープロパティーの詳細については、「ZFS ユーザープロパティー」を参照してください。

設定可能なプロパティーのほとんどは、継承可能なプロパティーでもあります。継承可能なプロパティーとは、親ファイルシステムに設定されるとそのすべての子孫に伝達されるプロパティーのことです。

継承可能なプロパティーには必ず、どのようにしてプロパティーが取得されたかを示すソースが関連付けられています。プロパティーのソースには、次の値が記述される可能性があります。

local

そのプロパティーが zfs set コマンドを使用して明示的にデータセットに設定されたことを示しています。「ZFS プロパティーを設定する」を参照してください。

inherited from dataset-name

そのプロパティーが、指定された祖先から継承されたことを示しています。

default

そのプロパティーの値が、継承されたのでもローカルで設定されたのでもないことを示しています。このソースは、このプロパティーがソース local として設定された祖先が存在しないことを示しています。

次の表には、ZFS ファイルシステムの読み取り専用のネイティブプロパティーと設定可能なネイティブプロパティーの両方を示しています。読み取り専用のネイティブプロパティーには、そのことを記載しています。この表に示すそれ以外のプロパティーは、すべて設定可能なプロパティーです。ユーザープロパティーについては、「ZFS ユーザープロパティー」を参照してください。

表 5-1 ZFS のネイティブプロパティーの説明

プロパティー名
タイプ
デフォルト値
説明
aclinherit
文字列
secure
ファイルとディレクトリが作成されるときに ACL エントリをどのように継承するかを制御します。値は、discardnoallowsecure、および passthrough です。これらの値については、「ACL プロパティー」を参照してください。
aclmode
文字列
groupmask
chmod を実行するときに ACL エントリをどのように変更するかを制御します。値は、discardgroupmask、および passthrough です。これらの値については、「ACL プロパティー」を参照してください。
atime
ブール型
on
ファイルを読み取るときにファイルのアクセス時間を更新するかどうかを制御します。このプロパティーをオフに設定すると、ファイルを読み取るときに書き込みトラフィックが生成されなくなるため、パフォーマンスが大幅に向上する可能性があります。ただし、メールプログラムなどのユーティリティーが予期しない動作をすることがあります。
available
数値
なし
読み取り専用プロパティー。ファイルシステムおよびそのすべての子が利用できるディスク容量を調べます。プール内でほかのアクティビティーが実行されていないことを前提とします。ディスク容量はプール内で共有されるため、プールの物理サイズ、割り当て制限、予約、プール内のほかのデータセットなどのさまざまな要因によって、利用できる容量が制限されることがあります。

このプロパティーの省略名は avail です。

ディスク領域の計上の詳細については、「ZFS のディスク領域の計上」を参照してください。

canmount
ブール型
on
ファイルシステムが zfs mount コマンドを使ってマウントできるかどうかを制御します。このプロパティーはどのファイルシステムにも設定可能で、プロパティー自体は継承可能ではありません。ただし、このプロパティーを off に設定するとマウントポイントを子孫のファイルシステムに継承できますが、ファイルシステム自体がマウントされることはありません。

noauto オプションを設定すると、ファイルシステムは明示的なマウントおよびアンマウントのみ可能になります。ファイルシステムの作成時やインポート時に、ファイルシステムが自動的にマウントされることはありません。また、zfs mount-a コマンドでマウントされることや、zfs unmount-a コマンドでアンマウントされることもありません。

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

casesensitivity
文字列
mixed
このプロパティーは、ファイルシステムで使用するファイル名照合アルゴリズムで、大文字と小文字を区別する (casesensitive) か、区別しない (caseinsensitive) か、または両方の照合方式の組み合わせを許可する (mixed) かを指定します。通常、UNIX および POSIX のファイルシステムでは、ファイル名の大文字と小文字を区別します。

このプロパティーの値が mixed の場合、ファイルシステムが要求に応じて大文字と小文字を区別する照合も区別しない照合もサポートできることを示します。現在、混合動作をサポートするファイルシステムで大文字と小文字を区別しない照合が可能なのは、Oracle Solaris SMB サーバー製品に限られています。mixed 値の使用方法については、casesensitivity プロパティー」を参照してください。

casesensitivity プロパティーの設定とは関係なく、ファイルシステムは、ファイルの作成に指定された名前の大文字と小文字を保持します。このプロパティーは、ファイルシステムの作成後には変更できません。

checksum
文字列
on
データの完全性を検証するために使用するチェックサムを制御します。デフォルト値は on で、適切なアルゴリズム (現在は fletcher4) が自動的に選択されます。値は、on、off、fletcher2、fletcher4、sha256、および sha256+mac です。値を off にすると、ユーザーデータの完全性チェックが無効になります。値を off にすることは推奨されていません。
compression
文字列
off
データセットに対する圧縮を有効または無効にします。値は on offlzjbgzip、および gzip-N です。現時点では、このプロパティーを lzjbgzip、または gzip-N に設定することは、このプロパティーを on に設定することと同じ効果を持ちます。既存のデータを持つファイルシステムで compression を有効にした場合は、新しいデータのみが圧縮されます。既存のデータは圧縮されないまま残されます。

このプロパティーの省略名は compress です。

compressratio
数値
なし
読み取り専用プロパティー。データセットに適用された圧縮率を調べます。乗数で表現されます。zfs set compression=on dataset コマンドを使用すると、圧縮を有効にできます。

値は、すべてのファイルの論理サイズおよび参照する物理データの量から計算されます。これには、compression プロパティーを使用して明示的に圧縮されたデータセットも含まれます。

copies
数値
1
ファイルシステムごとのユーザーデータのコピー数を設定します。使用できる値は 12、または 3 です。これらのコピーは、プールレベルの冗長性を補うものです。ユーザーデータの複数のコピーで使用されるディスク領域は、対応するファイルとデータセットから取られるため、割り当て制限と予約にとって不利に働きます。また、複数のコピーを有効にすると、used プロパティーが更新されます。既存のファイルシステムでこのプロパティーを変更しても、新たに書き出されるデータが影響を受けるだけなので、ファイルシステムの作成時にこのプロパティーの設定を検討してください。
creation
文字列
なし
読み取り専用プロパティー。このデータセットが作成された日時を調べます。
dedup
文字列
off
ZFS ファイルシステムの重複したデータを削除する機能を制御します。設定できる値は、on offverify、および sha256[,verify] です。デフォルトの複製解除のチェックサムは sha256 です。

詳細は、dedup プロパティー」を参照してください。

devices
ブール型
on
ファイルシステム内のデバイスファイルを開くことができるかどうかを制御します。
encryption
ブール型
off
ファイルシステムを暗号化するかどうかを制御します。暗号化されたファイルシステムでは、データはエンコードされ、ファイルシステムの所有者はデータにアクセスするときに鍵が必要になります。
exec
ブール型
on
ファイルシステムに含まれるプログラムの実行を許可するかどうかを制御します。off に設定した場合は、PROT_EXEC による mmap(2) 呼び出しも許可されません。
keychangedate
文字列
なし
指定されたファイルシステムに対する zfs key -c 操作からラッピング鍵が最後に変更された日付を特定します。鍵の変更操作が行われなかった場合、この読み取り専用プロパティーの値はファイルシステムの作成日と同じになります。
keysource
文字列
なし
ファイルシステムの鍵をラップする鍵の形式と場所を指定します。有効なプロパティー値は、rawhexpassphrase,prompt、または file です。zfs key -l コマンドを使用してファイルシステムを作成、マウント、または読み込むときに、この鍵が存在している必要があります。新しいファイルシステムで暗号化を有効にする場合、デフォルトの keysourcepassphrase,prompt です。
keystatus
文字列
なし
ファイルシステムの暗号化鍵のステータスを識別する読み取り専用のプロパティー。ファイルシステムの鍵が使用できるかどうかは、availableunavailable で示されます。暗号化が有効になっていないファイルシステムの場合、none が表示されます。
logbias
文字列
latency
このファイルシステムに対する同期要求を ZFS で最適化する方法を制御します。logbiaslatency に設定されている場合、ZFS はプールに別個のログデバイスが存在すればそれを使用して、短い待ち時間で要求を処理します。logbiasthroughput に設定されている場合、ZFS はプールの別個のログデバイスを使用しません。その代わりに、ZFS は大域プールのスループットとリソースの使用効率を優先して同時操作を最適化します。デフォルト値は latency です。
mlslabel
文字列
なし
マルチレベルファイルシステムでの mlslabel プロパティーの動作については、multilevel プロパティーを参照してください。次の mlslabel の説明は非マルチレベルファイルシステムに適用されます。

信頼できる拡張機能ゾーンにファイルシステムをマウントできるかどうかを判別する応答性ラベルを提供します。ラベル付きのファイルシステムがラベル付きのゾーンに一致する場合、ファイルシステムは、そのラベル付きのゾーンからマウントしてアクセスできます。デフォルト値は none です。このプロパティーは、信頼できる拡張機能が有効になり、適切な特権だけが与えられている場合にのみ変更できます。

mounted
ブール型
なし
読み取り専用のプロパティー。ファイルシステム、クローン、またはスナップショットが現在マウントされているかどうかを調べます。このプロパティーは、ボリュームには適用されません。値には yes または no を指定できます。
mountpoint
文字列
なし
このファイルシステムで使用されるマウントポイントを制御します。ファイルシステムの mountpoint プロパティーを変更すると、そのマウントポイントを継承するファイルシステムおよびそのすべての子孫がアンマウントされます。新しい値が legacy の場合は、アンマウントされたままになります。それ以外のときは、プロパティーの古い値が legacy または none だった場合、またはプロパティーが変更される前にマウントされていた場合は、自動的に再マウントされます。また、共有されていたすべてのファイルシステムは、共有が解除されてから新しい場所で共有されます。

このプロパティーの使用方法の詳細については、「ZFS マウントポイントを管理する」を参照してください。

multilevel
ブール型
off
このプロパティーは、Trusted Extensions が有効になっているシステムでのみ使用できます。デフォルトはオフです。

マルチレベルファイルシステム内のオブジェクトは、自動的に生成される明示的な機密ラベル属性で個別にラベル付けされています。このラベル属性を変更してオブジェクトに再度適切なラベル付けを行うには、setlabel または setflabel インタフェースを使用します。

ルートファイルシステム、Oracle Solaris ゾーンファイルシステム、またはパッケージ化された Solaris コードを含むファイルシステムは、マルチレベルにしないようにしてください。

マルチレベルファイルシステムの mlslabel プロパティーにはいくつかの違いがあります。mlslabel 値は、ファイルシステム内のオブジェクトに対して使用可能な最上位のラベルを定義します。mlslabel 値よりも上位のラベルでファイルを作成 (またはそのレベルにファイルを再度ラベル付け) しようとしても許可されません。mlslabel 値に基づいたマウントポリシーはマルチレベルファイルシステムには適用されません。

マルチレベルファイルシステムの場合、ファイルシステムの作成時に mlslabel プロパティーを明示的に設定できます。それ以外の場合は、ADMIN_HIGH という mlslabel プロパティーが自動的に作成されます。マルチレベルファイルシステムを作成したあとで mlslabel プロパティーを変更できますが、それを下位のラベルに設定したり、none に設定したり、削除したりすることはできません。

primarycache
文字列
all
プライマリキャッシュ (ARC) にキャッシュされる内容を制御します。設定できる値は、allnone、および metadata です。all に設定すると、ユーザーデータとメタデータの両方がキャッシュされます。none に設定すると、ユーザーデータも、メタデータも、キャッシュされません。metadata に設定すると、メタデータのみがキャッシュされます。既存のファイルシステムでこれらのプロパティーを設定した場合、これらのプロパティーの値に基づいて、New I/O のみがキャッシュされます。一部のデータベース環境では、ユーザーデータをキャッシュしないほうが利点が得られることがあります。使用している環境にとってキャッシュプロパティーの設定が適切かどうかを判断する必要があります。
nbmand
ブール型
off
ファイルシステムを nbmand (非ブロッキング強制) ロックでマウントするべきかどうかを制御します。このプロパティーは SMB クライアント専用です。このプロパティーの変更は、ファイルシステムをアンマウントしてから再マウントした場合にのみ反映されます。
normalization
文字列
なし
このプロパティーは、ファイルシステムで 2 つのファイル名を比較するとき常にファイル名の unicode 正規化を実行するかどうか、およびどの正規化アルゴリズムを使用するかを指定します。保存されるファイル名が変更されることはなく、名前の正規化は比較処理の一部として実行されます。このプロパティーが none 以外の有効な値に設定されており、utf8only プロパティーが指定されなかった場合、utf8only プロパティーは自動的に on に設定されます。normalization プロパティーのデフォルト値は none です。このプロパティーは、ファイルシステムの作成後には変更できません。
origin
文字列
なし
複製されたファイルシステムまたはボリュームのための読み取り専用プロパティー。どのスナップショットからクローンが作成されたかを調べます。クローンが存在する場合には、-r-f オプションを使用しても、作成元は破棄できません。

複製されていないファイルシステムの origin は none になります。

quota
数値 (または none)
none
ファイルシステムおよびその子孫が消費できるディスク容量を制限します。このプロパティーは、使用されるディスク容量に強い制限値を適用します。容量には、子孫 (ファイルシステムやスナップショットを含む) が使用するすべての容量も含まれます。割り当てがすでに設定されているファイルシステムの子孫に割り当てを設定した場合は、祖先の割り当てはオーバーライドされずに、制限が追加されます。ボリュームには割り当て制限を設定できません。volsize プロパティーが暗黙的な割り当て制限として機能します。

割り当て制限の設定については、「ZFS ファイルシステムに割り当て制限を設定する」を参照してください。

rekeydate
文字列
なし
このファイルシステムに対する zfs key -K または zfs clone - K 操作により、データ暗号化鍵を最後に変更した日付を示す読み取り専用プロパティー。rekey 操作が実行されていない場合は、このプロパティーの値は creation 日と同じです。
readonly
ブール型
off
データセットを変更できるかどうかを制御します。on に設定すると、変更できなくなります。

このプロパティーの省略名は rdonly です。

recordsize
数値
128K
ファイルシステム内のファイルの推奨ブロックサイズを指定します。

このプロパティーの省略名は recsize です。詳細については、recordsize プロパティー」を参照してください。

referenced
数値
なし
データセットからアクセスできるデータの量を識別する読み取り専用プロパティーであり、これはプール内のほかのデータセットとともに共有される場合と共有されない場合があります。

スナップショットまたはクローンを作成したときには、それらの作成元のファイルシステムまたはスナップショットと同じディスク領域を最初は参照しています。内容が同じであるためです。

このプロパティーの省略名は refer です。

refquota
数値 (または none)
none
1 つのデータセットが消費できるディスク容量を設定します。このプロパティーにより、使用される容量に対して強い制限値が設定されます。この強い制限値には、スナップショットやクローンなどの下位データで使用されるディスク容量は含まれません。
refreservation
数値 (または none)
none
データセットに保証される最小ディスク容量を設定します。この容量には、スナップショットやクローンなどの子孫は含まれません。使用しているディスク容量がこの値を下回っているデータセットは、refreservation に指定された容量を使用していると見なされます。refreservation 予約は、親データセットが使用するディスク容量に計上されるので、親データセットの割り当て制限と予約を減らすことになります。

refreservation を設定すると、スナップショットを作成できるのは、データセットの referenced の現在のバイト数を格納できる十分な空きプール領域が、この予約容量のほかに存在する場合だけになります。

このプロパティーの省略名は refreserv です。

reservation
数値 (または none)
none
ファイルシステムおよびその子孫に保証される最小ディスク容量を設定します。使用しているディスク容量がこの値を下回っている場合、ファイルシステムは予約に指定された容量を使用しているように扱われます。予約は、親ファイルシステムのディスク容量に計上されるため、親ファイルシステムの割り当て制限と予約を減らすことになります。

このプロパティーの省略名は reserv です。

詳細については、「ZFS ファイルシステムに予約を設定する」を参照してください。

rstchown
ブール型
on
ファイルシステムの所有者がファイルの所有権の変更を許可できるかどうかを示します。デフォルトでは chown 操作を制限します。rstchown が off に設定されていると、chown 操作に対する PRIV_FILE_CHOWN_SELF 権限がユーザーに与えられます。
secondarycache
文字列
all
セカンダリキャッシュ (L2ARC) にキャッシュされる内容を制御します。設定できる値は、allnone、および metadata です。all に設定すると、ユーザーデータとメタデータの両方がキャッシュされます。none に設定すると、ユーザーデータも、メタデータも、キャッシュされません。metadata に設定すると、メタデータのみがキャッシュされます。
setuid
ブール型
on
ファイルシステムで setuid ビットを考慮するかどうかを制御します。
shadow
文字列
None
ZFS ファイルシステムを URI で記述されたファイルシステムの shadow として識別します。このプロパティーを設定すると、URI で識別されたファイルシステムから shadow ファイルシステムにデータが移行されます。完全な移行のためには、移行されるファイルシステムが読み取り専用である必要があります。
share.nfs
文字列
off
ZFS ファイルシステムの NFS 共有を作成および公開するかどうか、およびどのようなオプションを使用するかを制御します。また、zfs share および zfs unshare コマンドを使用して、NFS 共有を公開および非公開にすることもできます。zfs share コマンドを使用して NFS 共有を公開するには、NFS 共有プロパティーも設定されている必要があります。NFS 共有プロパティーの設定については、「ZFS ファイルシステムを共有および共有解除する」を参照してください。

ZFS ファイルシステムの共有の詳細は、「ZFS ファイルシステムを共有および共有解除する」を参照してください。

share.smb
文字列
off
ZFS ファイルシステムの SMB 共有を作成および公開するかどうか、およびどのようなオプションを使用するかを制御します。また、zfs share および zfs unshare コマンドを使用して、SMB 共有を公開および非公開にすることもできます。zfs share コマンドを使用して SMB 共有を公開するには、SMB 共有プロパティーも設定されている必要があります。SMB 共有プロパティーの設定については、「ZFS ファイルシステムを共有および共有解除する」を参照してください。
snapdir
文字列
hidden
ファイルシステムのルートから .zfs ディレクトリを見えるようにするかどうかを制御します。スナップショットの使用方法については、「ZFS スナップショットの概要」を参照してください。
sync
文字列
standard
ファイルシステムのトランザクションの同期動作を決定します。設定可能な値は次のとおりです。
  • standard。デフォルト値であり、この値に設定すると、fsyncO_DSYNCO_SYNC などの、ファイルシステムの同期トランザクションがインテントログに書き込まれます。

  • alwaysすべてのファイルシステムトランザクションが書き込まれ、呼び戻すシステムコールによって安定したストレージに書き出されようにします。この値には、パフォーマンス上の大きなデメリットがあります。

  • disabled。同期要求が無効になります。ファイルシステムトランザクションは、次のトランザクショングループの確定時にのみ安定したストレージに確定されます。これには数秒かかる場合があります。この値はパフォーマンスがもっとも高くなり、プールを破壊してしまうリスクもありません。


    注意

    注意 - ZFS がデータベースや NFS 操作などのアプリケーションの同期トランザクション要求を無視することになるので、この disabled 値は非常に危険です。現在有効なルートまたは /var ファイルシステムでこの値を設定すると、予期しない動作、アプリケーションデータの損失、リプレー攻撃に対する脆弱性の増大という結果を招く可能性があります。関連するすべてのリスクを完全に理解している場合にのみ、この値を使用してください。


type
文字列
なし
読み取り専用プロパティー。データセットの種類を調べます。filesystem (ファイルシステムまたはクローン)、volume、または snapshot のいずれかになります。
used
数値
なし
読み取り専用プロパティー。データセットおよびそのすべての子孫が消費するディスク容量を調べます。

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

usedbychildren
数値
off
このデータセットの子によって使用されるディスク領域の量を特定する読み取り専用プロパティー。この領域は、データセットのすべての子が破棄されると、解放されます。このプロパティーの省略名は usedchild です。
usedbydataset
数値
off
データセット自体によって使用されるディスク領域の量を特定する読み取り専用プロパティー。この領域は、最初にあらゆるスナップショットが破棄されてから refreservation 予約がすべて削除された後に、データセットが破棄されると、解放されます。プロパティーの省略名は usedds です。
usedbyrefreservation
数値
off
データセットに設定されている refreservation によって使用されるディスク領域の量を特定する読み取り専用プロパティー。この領域は、refreservation が削除されると、解放されます。プロパティーの省略名は usedrefreserv です。
usedbysnapshots
数値
off
データセットのスナップショットによって消費されるディスク領域の量を特定する読み取り専用プロパティー。特に、このディスク領域は、このデータセットのすべてのスナップショットが破棄されると、解放されます。この値はスナップショットの used プロパティーの値を単純に合計した結果ではないことに注意してください。複数のスナップショットで共有されている容量も存在するためです。プロパティーの省略名は usedsnap です。
version
数値
なし
ファイルシステムのディスク上バージョンを識別します。プールのバージョンとは無関係です。このプロパティーは、サポートされるソフトウェアリリースから入手可能な最近のバージョンにしか設定できません。詳細については、zfs upgrade コマンドを参照してください。
utf8only
ブール型
Off
このプロパティーは、UTF-8 文字コードセットに存在しない文字が含まれているファイル名をファイルシステムで拒否するかどうかを指定します。このプロパティーが明示的に off に設定されている場合、normalization プロパティーを明示的に設定しないか、または none に設定する必要があります。utf8only プロパティーのデフォルト値は off です。このプロパティーは、ファイルシステムの作成後には変更できません。
volsize
数値
なし
ボリュームの場合に、ボリュームの論理サイズを指定します。

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

volblocksize
数値
8K バイト
ボリュームの場合に、ボリュームのブロックサイズを指定します。ボリュームが書き込まれたあとに、ブロックサイズを変更することはできません。ブロックサイズはボリュームを作成するときに設定してください。ボリュームのデフォルトブロックサイズは、8K バイトです。512 バイト から 128K バイトの範囲で、任意の 2 の累乗を指定できます。

このプロパティーの省略名は volblock です。

vscan
ブール型
Off
通常ファイルを開くときや閉じるときに、ファイルのウイルススキャンを実行するかどうかを制御します。このプロパティーを有効にする以外に、サードパーティー製のウイルススキャンソフトウェアを所有している場合は、ウイルススキャンが行われるようにウイルススキャンサービスも有効にしておく必要があります。デフォルト値は off です。
zoned
ブール型
なし
ファイルシステムが非大域ゾーンに追加されているかどうかを指定します。このプロパティーが設定されている場合、そのマウントポイントは大域ゾーンで考慮されません。ZFS では、このようなファイルシステムを要求されても、マウントすることはできません。ゾーンを最初にインストールしたときには、追加されたすべてのファイルシステムにこのプロパティーが設定されます。

ゾーンがインストールされている環境で ZFS を使用する方法の詳細については、「ゾーンがインストールされている Solaris システムで ZFS を使用する」を参照してください。

xattr
ブール型
on
このファイルシステムの拡張属性を有効 (on)、無効 (off) のいずれにするかを示します。

ZFS の読み取り専用のネイティブプロパティー

読み取り専用のネイティブプロパティーは、取得はできますが設定はできません。読み取り専用のネイティブプロパティーは継承されません。一部のネイティブプロパティーは、特定の種類のデータセットに固有です。このような場合は、データセットの種類について、表 5-1 の説明の中で記載しています。

読み取り専用のネイティブプロパティーをここに示します。説明は、表 5-1 を参照してください。

used referencedavailable プロパティーなど、ディスク領域の計上の詳細については、「ZFS のディスク領域の計上」を参照してください。

used プロパティー

used プロパティーは読み取り専用のプロパティーであり、このデータセットとそのすべての子孫が消費するディスク容量を特定します。この値は、データの割り当て制限および予約を対象にして確認されます。使用されるディスク領域にデータセットの予約は含まれませんが、子孫のデータセットがある場合はそれらの予約も考慮されます。データセットがその親から継承して消費するディスク容量、およびデータセットが再帰的に破棄されるときに解放されるディスク容量は、使用済み領域および予約の中で大きな割合を占めます。

スナップショットを作成したときは、それらのディスク領域は最初はスナップショットとファイルシステムの間で共有されます。それまでに作成したスナップショットと領域が共有されることもあります。ファイルシステムが変化していくにつれて、それまで共有されていたディスク領域がスナップショット固有になり、スナップショットが使用する領域に計上されます。スナップショットが使用するディスク領域には、その固有データが計上されます。また、スナップショットを削除すると、ほかのスナップショットに固有の (および使用される) ディスク容量を増やすことができます。スナップショットと領域の詳細については、「領域が不足した場合の動作」を参照してください。

使用済み、使用可能、参照済みの各ディスク容量には、保留状態の変更は含まれません。保留状態の変更は通常、数秒以内に計上されます。fsync(3c)O_SYNC 関数を使用してディスクへの変更をコミットしても、ディスク領域の使用状況の情報がすぐに更新されることが保証されているわけではありません。

usedbychildrenusedbydatasetusedbyrefreservation、および usedbysnapshots プロパティーの情報は、zfs list - o space コマンドを使用して表示することができます。これらのプロパティーを使用して、used プロパティーを、子孫によって消費されるディスク領域に分解することができます。詳細は、表 5-1 を参照してください。

設定可能な ZFS ネイティブプロパティー

設定可能なネイティブプロパティーとは、値の取得および設定ができるプロパティーのことです。設定可能なネイティブプロパティーは、zfs set コマンド (説明は 「ZFS プロパティーを設定する」を参照) または zfs create コマンド (説明は 「ZFS ファイルシステムを作成する」を参照) を使って設定します。設定可能なネイティブプロパティーは、割り当て制限と予約を除いて継承されます。割り当て制限と予約の詳細については、「ZFS の割り当て制限と予約を設定する」を参照してください。

一部の設定可能なネイティブプロパティーは、特定の種類のデータセットに固有です。このような場合は、データセットの種類について、表 5-1 の説明の中で記載しています。特に記載している場合を除いて、プロパティーはすべての種類のデータセットに適用されます。 つまり、ファイルシステム、ボリューム、クローン、およびスナップショットに適用されます。

次のプロパティーは設定可能です。説明は、表 5-1 を参照してください。

canmount プロパティー

canmount プロパティーを off に設定した場合は、zfs mount または zfs mount -a コマンドを使ってファイルシステムをマウントすることはできません。このプロパティーを off に設定する場合は、mountpoint プロパティーを none に設定する場合に似ていますが、継承可能な通常の mountpoint プロパティーをファイルシステムが引き続き保持する点が異なります。たとえば、このプロパティーを off に設定して、子孫のファイルシステム用に継承可能なプロパティーを確立できますが、親ファイルシステム自体がマウントされることもなければ、ユーザーがそれにアクセスすることもできません。この場合、親のファイルシステムは「コンテナ」の役目を果たしているため、そのコンテナにプロパティーを設定することはできますが、コンテナ自体にはアクセスできません。

次の例では、userpool が作成され、その canmount プロパティーが off に設定されます。子孫のユーザーファイルシステムのマウントポイントは、 1 つの共通したマウントポイント /export/home に設定されます。親のファイルシステムに設定されたプロパティーは子孫のファイルシステムに継承されますが、親のファイルシステム自体がマウントされることはありません。

# zpool create userpool mirror c0t5d0 c1t6d0
# zfs set canmount=off userpool
# zfs set mountpoint=/export/home userpool
# zfs set compression=on userpool
# zfs create userpool/user1
# zfs create userpool/user2
# zfs mount
userpool/user1                  /export/home/user1
userpool/user2                  /export/home/user2

canmount プロパティーを noauto に設定することは、ファイルシステムは自動的ではなく、明示的なマウントのみが可能になることを意味します。

casesensitivity プロパティー

このプロパティーは、ファイルシステムで使用するファイル名照合アルゴリズムで、大文字と小文字を区別する (casesensitive) か、区別しない (caseinsensitive) か、または両方の照合方式の組み合わせを許可する (mixed) かを指定します。

大文字と小文字を区別しない照合要求が、両方の照合方式が混在するファイルシステムで行われた場合、その動作は通常、純粋に大文字と小文字を区別しないファイルシステムで予想される動作と同じです。異なる点は、両方の照合方式が混在するファイルシステムが、大文字と小文字を区別する見方からは一意だが大文字と小文字を区別しない見方からは一意ではない複数の名前を持つディレクトリを含むことができるという点です。

たとえば、ディレクトリには fooFoo、および FOO というファイルを含めることができます。foo のありうる形式 (たとえば、fooFOOFoO fOo など) のいずれかに大文字と小文字を区別しないで一致するものを求める要求が行われた場合、照合アルゴリズムにより、既存の 3 つのファイルのいずれかが一致した結果として選択されます。一致した結果としてどのファイルがアルゴリズムに選択されるかは厳密には保証されませんが、foo のすべての形式に一致する結果として同じファイルが選択されるということは保証されます。fooFOO foOFoo などに大文字と小文字を区別しないで一致した結果として選択されるファイルは、ディレクトリが変更されないかぎり常に同じです。

utf8onlynormalization、および casesensitivity プロパティーはまた、ZFS 委任管理を使用して権限のないユーザーに割り当てることができる新しいアクセス権を提供します。詳細については、「ZFS アクセス権の委任」を参照してください。

copies プロパティー

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

この リリースでは、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 ブロックの使用を検討することもできます。

dedup プロパティー

dedup プロパティーは、重複したデータをファイルシステムから削除するかどうかを制御します。ファイルシステムで dedup プロパティーが有効になっている場合、重複データブロックが同期的に削除されます。この結果、一意のデータだけが格納され、共通のコンポーネントがファイル間で共有されます。

次の考慮事項を確認するまで、本稼働システムにあるファイルシステムでは、dedup プロパティーを有効にしないでください。

  1. 複製解除による領域のセクション約がデータに有益であるかどうかを判断します。重複除去できないデータの場合は、重複除去を有効にしても意味がありません。例:

    # zdb -S tank
    Simulated DDT histogram:
    bucket              allocated                       referenced          
    ______   ______________________________   ______________________________
    refcnt   blocks   LSIZE   PSIZE   DSIZE   blocks   LSIZE   PSIZE   DSIZE
    ------   ------   -----   -----   -----   ------   -----   -----   -----
         1    2.27M    239G    188G    194G    2.27M    239G    188G    194G
         2     327K   34.3G   27.8G   28.1G     698K   73.3G   59.2G   59.9G
         4    30.1K   2.91G   2.10G   2.11G     152K   14.9G   10.6G   10.6G
         8    7.73K    691M    529M    529M    74.5K   6.25G   4.79G   4.80G
        16      673   43.7M   25.8M   25.9M    13.1K    822M    492M    494M
        32      197   12.3M   7.02M   7.03M    7.66K    480M    269M    270M
        64       47   1.27M    626K    626K    3.86K    103M   51.2M   51.2M
       128       22    908K    250K    251K    3.71K    150M   40.3M   40.3M
       256        7    302K     48K   53.7K    2.27K   88.6M   17.3M   19.5M
       512        4    131K   7.50K   7.75K    2.74K    102M   5.62M   5.79M
        2K        1      2K      2K      2K    3.23K   6.47M   6.47M   6.47M
        8K        1    128K      5K      5K    13.9K   1.74G   69.5M   69.5M
     Total    2.63M    277G    218G    225G    3.22M    337G    263G    270G
    
    dedup = 1.20, compress = 1.28, copies = 1.03, dedup * compress / copies = 1.50

    推定される dedup 比率が 2 より大きい場合は、dedup によって領域がセクション約される可能性があります。

    上記の例では重複除去比は 2 よりも小さいので、重複除去はお勧めしません。

  2. システムに dedup をサポートするための十分なメモリーがあることを確認してください。

    • コア内の各 dedup テーブルエントリは、およそ 320 バイトです。

    • 割り当てられているブロック数に 320 を掛けます。例:

      in-core DDT size = 2.63M x 320 = 841.60M
  3. dedup のパフォーマンスは、複製解除テーブルがメモリーに入る場合に最適になります。dedup テーブルをディスクに書き込む必要がある場合は、パフォーマンスが低下します。たとえば、重複除去を有効にして大きなファイルシステムを削除すると、システムが上記のメモリー要件を満たしていない場合、システムパフォーマンスが大幅に低下します。

dedup が有効な場合、dedup チェックサムアルゴリズムによって checksum プロパティーがオーバーライドされます。プロパティー値を verify に設定することは、sha256,verify を指定することと同等です。プロパティーが verify に設定されており、2 つのブロックに同じ署名がある場合、ZFS は既存のブロックとバイト単位の比較を行なって、内容が同一であることを確認します。

このプロパティーは、ファイルシステムごとに有効にできます。例:

# zfs set dedup=on tank/home

zfs get コマンドを使用して、 dedup プロパティーが設定されているかどうかを判別できます。

複製解除はファイルシステムプロパティーとして設定されますが、その適用範囲はプール全体に及びます。たとえば、複製解除比を指定できます。例:

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

DEDUP 列には、どれだけの複製解除が行われたかが示されます。いずれかのファイルシステムで dedup プロパティーが有効になっていない場合、または dedup プロパティーがファイルシステムで少し前まで有効であった場合、DEDUP 比は 1.00x です。

zpool get コマンドを使用して、dedupratio プロパティーの値を判定できます。例:

# zpool get dedupratio export
NAME   PROPERTY    VALUE  SOURCE
rpool  dedupratio  3.00x  -

このプールプロパティーは、このプールでどれだけのデータ複製解除が達成されたかを示します。

encryption プロパティー

暗号化プロパティーを使用して、ZFS ファイルシステムを暗号化できます。詳細については、「ZFS ファイルシステムの暗号化」を参照してください。

recordsize プロパティー

recordsize プロパティーは、ファイルシステムに格納するファイルの推奨ブロックサイズを指定します。

このプロパティーは、レコードサイズが固定されているファイルにアクセスするデータベースワークロードだけで使用するように設計されています。ZFS では、標準的なアクセスパターンに最適化された内部アルゴリズムに従って、ブロックサイズが自動的に調整されます。作成されるファイルのサイズが大きく、それらのファイルにさまざまなパターンの小さなブロック単位でアクセスするデータベースの場合には、このようなアルゴリズムが最適でないことがあります。recordsize にデータベースのレコードサイズ以上の値を設定すると、パフォーマンスが大きく向上することがあります。このプロパティーを汎用目的のファイルシステムに使用することは、パフォーマンスが低下する可能性があるため、できるだけ避けてください。指定するサイズは、512 バイト - 128K バイトの 2 の累乗にしてください。ファイルシステムの recordsize 値を変更した場合、そのあとに作成されたファイルだけに適用されます。既存のファイルには適用されません。

このプロパティーの省略名は recsize です。

share.smb プロパティー

このプロパティーは、Oracle Solaris SMB サービスとの ZFS ファイルシステムの共有を有効にし、使用されるオプションを指定します。

プロパティーを off から on に変更すると、そのプロパティーを継承するすべての共有が現在のオプションで再共有されます。このプロパティーを off に設定すると、そのプロパティーを継承する共有が共有解除されます。share.smb プロパティーの使用例については、「ZFS ファイルシステムを共有および共有解除する」を参照してください。

volsize プロパティー

volsize プロパティーはボリュームの論理サイズを指定します。デフォルトでは、ボリュームを作成するときに、同じ容量の予約が設定されます。volsize への変更があった場合には、予約にも同様の変更が反映されます。これらのチェックは、予期しない動作が起きないようにするために使用されます。ボリュームで使用できる容量が指定した容量より少ない場合には、ボリュームがどのように使用されるかによって異なりますが、定義されていない動作が実行されたりデータが破損したりする可能性があります。このような影響は、ボリュームの使用中にボリュームサイズを変更した場合にも発生することがあります。特に、サイズを縮小した場合にはその可能性が高くなります。ボリュームサイズを調整するときは、特に注意してください。

推奨される方法ではありませんが、zfs create -V-s フラグを指定するか、またはボリュームの作成後に予約を変更すると、疎ボリュームを作成できます。「疎ボリューム」とは、予約がボリュームサイズと等しくないボリュームのことです。疎ボリュームの場合、volsize を変更しても予約には反映されません。

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

ZFS ユーザープロパティー

ZFS は、ネイティブプロパティーに加えて、任意のユーザープロパティーもサポートします。ユーザープロパティーは ZFS の動作には影響しませんが、これらを使用すると、使用環境内で意味のある情報をデータセットに注釈として付けることができます。

ユーザープロパティーの名前は、次の規則に適合している必要があります。

想定されている規則では、プロパティー名は次の 2 つの部分に分割しますが、この名前空間は ZFS によって強制されているものではありません。

module:property

ユーザープロパティーをプログラムで使用する場合、プロパティー名の module コンポーネントには、逆順にした DNS ドメイン名を使用してください。これは、それぞれ単独で開発された 2 つのパッケージが、異なる目的で同じプロパティー名を使用する可能性を減らすためです。com.oracle. で始まるプロパティー名は、Oracle Corporation が使用するために予約されています。

ユーザープロパティーの値は次の規則に準拠する必要があります。

例:

# zfs set dept:users=finance userpool/user1
# zfs set dept:users=general userpool/user2
# zfs set dept:users=itops userpool/user3

プロパティーを処理するコマンド (zfs listzfs getzfs set など) はすべて、ネイティブプロパティーとユーザープロパティーの両方の操作に使用できます。

例:

zfs get -r dept:users userpool
NAME            PROPERTY    VALUE           SOURCE
userpool        dept:users  all             local
userpool/user1  dept:users  finance         local
userpool/user2  dept:users  general         local
userpool/user3  dept:users  itops           local

ユーザープロパティーをクリアするには、zfs inherit コマンドを使用します。例:

# zfs inherit -r dept:users userpool

プロパティーがどの親のデータセットにも定義されていない場合は、完全に削除されます。