JavaScript is required to for searching.
ナビゲーションリンクをスキップ
印刷ビューの終了
Oracle Solaris ZFS 管理ガイド     Oracle Solaris 10 8/11 Information Library (日本語)
search filter icon
search icon

ドキュメントの情報

はじめに

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

2.  Oracle Solaris ZFS 入門

3.  Oracle Solaris ZFS ファイルシステムと従来のファイルシステムの相違点

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

5.  Oracle Solaris ZFS ルートファイルシステムのインストールとブート

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

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

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

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

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

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

ZFS のプロパティーの紹介

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

used プロパティー

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

canmount プロパティー

recordsize プロパティー

volsize プロパティー

ZFS ユーザープロパティー

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

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

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

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

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

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

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

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

ZFS ファイルシステムをマウントおよび共有する

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

自動マウントポイント

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

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

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

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

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

共有セマンティクスを制御する

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

ZFS ファイルシステムを共有する

従来の共有の動作

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

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

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

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

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

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

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

9.  Oracle Solaris ZFS 委任管理

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

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

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

索引

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

データセットプロパティーの管理には、zfs コマンドの setinherit、および get サブコマンドを使用します。

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

zfs set コマンドを使用して、任意の設定可能なデータセットプロパティーを変更できます。あるいは、zfs create コマンドを使用して、データセットの作成時にプロパティーを設定できます。設定可能なデータセットプロパティーのリストは、「設定可能な ZFS ネイティブプロパティー」を参照してください。

zfs set コマンドには、property=value の形式のプロパティー/値のシーケンスを指定したあと、続けてデータセット名を指定します。各 zfs set 呼び出しで設定または変更できるプロパティーは、1 つだけです。

次の例では、tank/homeatime プロパティーを off に設定しています。

# zfs set atime=off tank/home

また、どのファイルシステムプロパティーもファイルシステムの作成時に設定できます。例:

# zfs create -o atime=off tank/home

数値プロパティー値を指定する際には、理解が容易な次の接尾辞を使用できます (サイズの小さい順): BKMGTPEZ。これらのすべての接尾辞のあとに、オプションの b (バイト) を続けて指定することができます。ただし、B 接尾辞のあとには指定できません。もともとバイトを表しているためです。次の例にある 4 つの zfs set 呼び出しは、すべて同じ数値を表現しています。つまり、users/home/mark ファイルシステムの quota プロパティーに 20G バイトの値を設定しています。

# zfs set quota=20G users/home/mark
# zfs set quota=20g users/home/mark
# zfs set quota=20GB users/home/mark
# zfs set quota=20gb users/home/mark

数値でないプロパティーの値では、大文字と小文字が区別されるので、小文字を使用する必要があります。ただし、mountpoint および sharenfs は例外です。これらのプロパティーの値には、大文字と小文字を混在させることができます。

zfs set コマンドの詳細については、zfs(1M) を参照してください。

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

割り当て制限と予約を除いて、すべての設定可能なプロパティーは、親データセットから値を継承します。ただし、子孫データセットに対して割り当て制限または予約が明示的に設定されている場合は継承されません。継承するプロパティーについて、明示的な値が祖先に設定されていない場合は、プロパティーのデフォルト値が使用されます。zfs inherit コマンドを使用して、プロパティー値を消去することができます。その場合は、親データセットの値を継承することになります。

次の例では、zfs set コマンドを使用して tank/home/jeff ファイルシステムの圧縮を有効にしています。次に、zfs inherit を使用して、compression プロパティーをクリアしています。この結果、このプロパティーはデフォルト値の off を継承します。hometankcompression プロパティーはローカルに設定されていないため、デフォルト値が使用されます。圧縮が両方とも有効になっていた場合は、すぐ上の祖先 (この例では home) に設定されている値が使用されます。

# zfs set compression=on tank/home/jeff
# zfs get -r compression tank/home
NAME                  PROPERTY     VALUE     SOURCE
tank/home             compression  off       default
tank/home/eric        compression  off       default
tank/home/eric@today  compression  -         -
tank/home/jeff        compression  on        local
# zfs inherit compression tank/home/jeff
# zfs get -r compression tank/home
NAME                  PROPERTY     VALUE     SOURCE
tank/home             compression  off       default
tank/home/eric        compression  off       default
tank/home/eric@today  compression  -         -
tank/home/jeff        compression  off       default

-r オプションを指定すると、inherit サブコマンドが再帰的に適用されます。次の例では、このコマンドによって、compression プロパティーの値が tank/home およびそのすべての子孫に継承されます。

# zfs inherit -r compression tank/home

注 - -r オプションを使用すると、すべての子孫のデータセットに割り当てられている現在のプロパティー設定が消去されることに注意してください。


zfs inherit コマンドの詳細については、zfs(1M) を参照してください。

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

プロパティー値のクエリー検索を行うもっとも簡単な方法は、zfs list コマンドを使用することです。詳細については、「基本的な ZFS 情報を表示する」を参照してください。ただし、複雑なクエリーを使用する場合およびスクリプトで使用する場合は、より詳細な情報をカスタマイズした書式で渡すために zfs get コマンドを使用します。

zfs get コマンドを使用して、任意のデータセットプロパティーを取得できます。次の例は、データセット上の 1 つのプロパティー値を取得する方法を示しています。

# zfs get checksum tank/ws
NAME             PROPERTY       VALUE                      SOURCE
tank/ws          checksum       on                         default

4 番目の列 SOURCE は、このプロパティー値の起点を示します。次の表は、表示される可能性のあるソース値を定義したものです。

表 6-3 出力される可能性のある SOURCE 値 (zfs get コマンド)

ソース値
説明
default
このプロパティー値は、このデータセットまたはその祖先 (存在する場合) で明示的に設定されたことが一度もありません。このプロパティーのデフォルト値が使用されています。
inherited from dataset-name
このプロパティー値は、dataset-name に指定されている親データセットから継承されます。
local
このプロパティー値は、zfs set を使って、このデータセットに明示的に設定されました。
temporary
このプロパティー値は、zfs mount - o オプションを使って設定され、マウントの有効期間だけ有効です。一時的なマウントプロパティーの詳細については、「一時的なマウントプロパティーを使用する」を参照してください。
- (なし)
このプロパティーは読み取り専用です。値は ZFS によって生成されます。

特殊キーワード all を使って、すべてのデータセットプロパティー値を取得できます。all キーワードの使用例を次に示します。

# zfs get all tank/home
NAME       PROPERTY              VALUE                  SOURCE
tank/home  type                  filesystem             -
tank/home  creation              Wed Jun 22 15:47 2011  -
tank/home  used                  31K                    -
tank/home  available             33.2G                  -
tank/home  referenced            31K                    -
tank/home  compressratio         1.00x                  -
tank/home  mounted               yes                    -
tank/home  quota                 none                   default
tank/home  reservation           none                   default
tank/home  recordsize            128K                   default
tank/home  mountpoint            /tank/home             default
tank/home  sharenfs              off                    default
tank/home  checksum              on                     default
tank/home  compression           off                    default
tank/home  atime                 on                     default
tank/home  devices               on                     default
tank/home  exec                  on                     default
tank/home  setuid                on                     default
tank/home  readonly              off                    default
tank/home  zoned                 off                    default
tank/home  snapdir               hidden                 default
tank/home  aclinherit            restricted             default
tank/home  canmount              on                     default
tank/home  shareiscsi            off                    default
tank/home  xattr                 on                     default
tank/home  copies                1                      default
tank/home  version               5                      -
tank/home  utf8only              off                    -
tank/home  normalization         none                   -
tank/home  casesensitivity       sensitive              -
tank/home  vscan                 off                    default
tank/home  nbmand                off                    default
tank/home  sharesmb              off                    default
tank/home  refquota              none                   default
tank/home  refreservation        none                   default
tank/home  primarycache          all                    default
tank/home  secondarycache        all                    default
tank/home  usedbysnapshots       0                      -
tank/home  usedbydataset         31K                    -
tank/home  usedbychildren        0                      -
tank/home  usedbyrefreservation  0                      -
tank/home  logbias               latency                default
tank/home  sync                  standard               default
tank/home  rstchown              on                     default

注 - Oracle Solaris 10 リリースでは Oracle Solaris SMB サービスがサポートされていないため、Oracle Solaris 10 リリースの casesensitivitynbmandnormalizationsharesmbutf8only、および vscan プロパティーは完全には機能しません。


zfs get-s オプションを使用すると、表示するプロパティーをソースの種類ごとに指定できます。このオプションには、必要なソースの種類をコンマ区切りのリストとして指定します。指定したソースの種類のプロパティーだけが表示されます。有効なソースの種類は、localdefaultinheritedtemporary、および none です。次の例では、tank/ws 上にローカルに設定されているすべてのプロパティーを表示しています。

# zfs get -s local all tank/ws
NAME     PROPERTY              VALUE                  SOURCE
tank/ws  compression           on                     local

前述のどのオプションの場合にも、-r オプションを使用して、指定したデータセットのすべての子に設定されている特定のプロパティーを再帰的に表示することができます。次の例では、tank/home に含まれるすべてのデータセットについてのすべての一時的なプロパティーが再帰的に表示されます。

# zfs get -r -s temporary all tank/home
NAME             PROPERTY       VALUE                      SOURCE
tank/home          atime          off                      temporary
tank/home/jeff     atime          off                      temporary
tank/home/mark     quota          20G                      temporary

zfs get コマンドでは、ターゲットのファイルシステムを指定せずにプロパティー値のクエリーを行うことが可能です。これは、すべてのプールやファイルシステムがコマンドの処理対象となることを意味します。次に例を示します。

# zfs get -s local all
tank/home               atime          off                    local
tank/home/jeff          atime          off                    local
tank/home/mark          quota          20G                    local

zfs get コマンドの詳細については、zfs(1M) を参照してください。

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

zfs get コマンドでは、スクリプトで使用できるように設計された -H および - o オプションを利用できます。-H オプションを使用すると、ヘッダー情報を省略し、空白をタブ文字で置き換えることができます。空白が揃うことで、データが見やすくなります。-o オプションを使用すると、次の方法で出力をカスタマイズできます。

次の例では、-zfs get-H および o オプションを使用して、1 つの値を取得する方法を示しています。

# zfs get -H -o value compression tank/home
on

-p オプションを指定すると、数値が正確な値として出力されます。たとえば、1M バイトは 1000000 として出力されます。このオプションは、次のように使用できます。

# zfs get -H -o value -p used tank/home
182983742

前述のどのオプションの場合にも、-r オプションを使用して、要求した値をすべての子孫について再帰的に取得できます。次の例では、-H-o、および -r オプションを使用して、export/home およびその子孫のデータセット名と used プロパティーの値を取得しています。ヘッダー出力は省略されています。

# zfs get -H -o name,value -r used export/home