Go to main content

Oracle® Solaris 11.4 での ZFS ファイルシステムの管理

印刷ビューの終了

更新: 2018 年 9 月
 
 

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

Oracle Solaris 11.1 リリースでは、ZFS プロパティーの継承を活用することで、ZFS 共有の管理を簡素化しています。プールバージョン 34 が動作しているプールで新しい共有構文が有効になっています。

ファイルシステムごとに複数の共有を定義できます。共有名は、各共有を一意に識別します。ファイルシステム内の特定のパスを共有するために使用されるプロパティーを定義できます。デフォルトでは、すべてのファイルシステムが共有されません。通常、共有が作成されるまで、NFS サーバーサービスは開始されません。有効な共有が作成されると、NFS サービスは自動的に開始されます。ZFS ファイルシステムの mountpoint プロパティーが legacy に設定されている場合、レガシー share コマンドを使用することによってのみファイルシステムを共有できます。

  • share.nfs プロパティーは、以前のリリースの sharenfs プロパティーを置き換えて、NFS 共有を定義および公開します。

  • share.smb プロパティーは、以前のリリースの sharesmb プロパティーを置き換えて、SMB 共有を定義および公開します。

  • sharenfs プロパティーと sharesmb プロパティーは、どちらもshare.nfs プロパティーと sharenfs プロパティーの別名です。

  • ブート時のファイルシステムの共有に /etc/dfs/dfstab ファイルは使用されなくなりました。これらのプロパティーを設定すると、ファイルシステムが自動的に共有されます。システムのリブート時にファイルシステムが自動的に共有されるように、SMF は ZFS または UFS 共有情報を管理します。この機能は、sharenfs または sharesmb プロパティーが off に設定されていないすべてのファイルシステムがブート時に共有されることを意味します。

  • sharemgr インタフェースは使用できなくなりました。レガシー share コマンドは、レガシー共有の作成に引き続き使用できます。次の例を参照してください。

  • share –a コマンドは、以前の share –ap コマンドに似ており、ファイルシステムの共有は永続的です。share –p オプションは使用できなくなりました。

たとえば、tank/home ファイルシステムを共有する場合は、次のような構文を使用します。

$ zfs set share.nfs=on tank/home

前の例では、tank/home ファイルシステムに対して share.nfs プロパティーが on に設定されており、share.nfs プロパティー値はすべての子孫ファイルシステムに継承されます。例:

$ zfs create tank/home/userA
$ zfs create tank/home/userB

追加のプロパティー値を指定したり、既存のファイルシステム共有の既存のプロパティー値を変更したりすることもできます。例:

$ zfs set share.nfs.nosuid=on tank/home/userA
$ zfs set share.nfs=on tank/home/userA

ラベル付きファイルシステムの共有について

機密コンテンツを保護するために、企業はファイルおよびファイルシステムにラベルを付けることができます。ラベル付きファイルシステムによって、暗号化やアクセス制御などのより厳密なセキュリティー要件を強制できます。

Oracle Solaris 11.4 はデフォルトで、ラベル付き NFS ファイルの共有を禁止しています。share.nfs.labeled プロパティーを通じてこれらのファイルに共有アクセス権を付与できます。ZFS 共有プロパティー値を変更するの例を参照してください。

ラベル付きファイルシステムについては、次のリソースを参照してください。

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

Oracle Solaris 11 の構文は引き続きサポートされているため、2 つのステップでファイルシステムを共有できます。この構文は、すべてのプールバージョンでサポートされています。

  • まず、zfs set share コマンドを使用して ZFS ファイルシステムの NFS または SMB 共有を作成します。

    $ zfs create rpool/fs1
    $ zfs set share=name=fs1,path=/rpool/fs1,prot=nfs rpool/fs1
    name=fs1,path=/rpool/fs1,prot=nfs
  • 次に、sharenfs または sharesmb プロパティーを on に設定して共有を公開します。例:

    $ zfs set sharenfs=on rpool/fs1
    $ grep fs1 /etc/dfs/sharetab
    /rpool/fs1      fs1     nfs     sec=sys,rw

ファイルシステム共有は、レガシー zfs get share コマンドを使用して表示できます。

$ zfs get share rpool/fs1
NAME       PROPERTY  VALUE  SOURCE
rpool/fs1  share     name=fs1,path=/rpool/fs1,prot=nfs  local

また、ファイルシステムを共有するための share コマンドは、Oracle Solaris 10 リリースの構文と同様に、ファイルシステム内のディレクトリを共有するためにも引き続きサポートされています。たとえば、ZFS ファイルシステムを共有するには、次のように行います。

$ share -F nfs /tank/zfsfs
$ grep zfsfs /etc/dfs/sharetab
/tank/zfsfs    tank_zfsfs     nfs     sec=sys,rw

上の構文は UFS ファイルシステムの共有と同じです。

$ share -F nfs /ufsfs
$ grep ufsfs /etc/dfs/sharetab
/ufsfs          -               nfs     rw
/tank/zfsfs     tank_zfsfs      nfs     rw      

新しい ZFS 共有構文

zfs set コマンドは、NFS または SMB プロトコルを介して ZFS ファイルシステムを共有および公開するために使用します。あるいは、ファイルシステムの作成時に share.nfs または share.smb プロパティーを設定することもできます。

たとえば、tank/sales ファイルシステムを作成および共有します。デフォルトの共有アクセス権は、全員に対する読み取り/書き込みです。share.nfs プロパティーは子孫のファイルシステムに継承されるため、子孫の tank/sales/logs ファイルシステムも自動的に共有され、tank/sales/log ファイルシステムは読み取り専用アクセスに設定されます。

$ zfs create -o share.nfs=on tank/sales
$ zfs create -o share.nfs.ro=\* tank/sales/logs
$ zfs get -r share.nfs tank/sales
NAME             PROPERTY   VALUE  SOURCE
tank/sales       share.nfs  on     local
tank/sales%      share.nfs  on     inherited from tank/sales
tank/sales/log   share.nfs  on     inherited from tank/sales
tank/sales/log%  share.nfs  on     inherited from tank/sales

次のように、共有ファイルシステムの特定のシステムにルートアクセスすることができます。

$ zfs set share.nfs=on tank/home/data
$ zfs set share.nfs.sec.default.root=neo.daleks.com tank/home/data

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

最新のプールバージョン 34 にアップグレードされているプールでは、ZFS プロパティーの継承を使用して共有の維持を容易にする新しい共有構文を使用できます。各共有特性は、別々の share プロパティーになります。それらの share プロパティーは、share. 接頭辞で始まる名前によって識別されます。share プロパティーの例には、share.descshare.nfs.nosuid、および share.smb.guestok などがあります。

share.nfs プロパティーは NFS 共有が有効であるかどうかを制御します。share.smb プロパティーは SMB 共有が有効であるかどうかを制御します。新しいプールでは、sharenfsshare.nfs の別名であり、sharesmbshare.smb の別名であるため、レガシー sharenfs および sharesmb プロパティー名は引き続き使用できます。tank/home ファイルシステムを共有する場合、次のような構文を使用します。

$ zfs set share.nfs=on tank/home

この例では、share.nfs プロパティー値はすべての子孫ファイルシステムに継承されます。例:

$ zfs create tank/home/userA
$ zfs create tank/home/userB
$ grep tank/home /etc/dfs/sharetab
/tank/home      tank_home       nfs     sec=sys,rw
/tank/home/userA        tank_home_userA nfs     sec=sys,rw
/tank/home/userB        tank_home_userB nfs     sec=sys,rw   

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

古いプールでは、sharenfs および sharesmb プロパティーのみが子孫ファイルシステムによって継承されます。他の共有特性は、共有ごとに .zfs/shares ファイルに格納され、継承されません。

特別な規則は、sharenfs または sharesmb を親から継承する新しいファイルシステムを作成したときは必ず、sharenfs または sharesmb 値からそのファイルシステムのデフォルトの共有が作成されるというものです。sharenfs が単に on のときは、子孫ファイルシステムで作成されるデフォルトの共有にはデフォルトの NFS 特性のみが含まれることに注意してください。例:

$ zpool get version tank
NAME  PROPERTY  VALUE  SOURCE
tank  version   33     default
$ zfs create -o sharenfs=on tank/home
$ zfs create tank/home/userA
$ grep tank/home /etc/dfs/sharetab
/tank/home      tank_home       nfs     sec=sys,rw
/tank/home/userA        tank_home_userA nfs     sec=sys,r

ZFS 名前付き共有

名前付き共有を作成することもできます。これにより、SMB 環境でアクセス権およびプロパティーを設定する際の柔軟性が向上します。例:

$ zfs share -o share.smb=on tank/workspace%myshare

前の例では、zfs share コマンドによって、tank/workspace ファイルシステムの myshare という SMB 共有が作成されます。このファイルシステムの .zfs/shares ディレクトリを介して SMB 共有にアクセスしたり、特定のアクセス権や ACL を表示または設定したりできます。各 SMB 共有は、個別の .zfs/shares ファイルで表されます。例:

$ ls -lv /tank/workspace/.zfs/shares
-rwxrwxrwx+  1 root     root           0 May 15 10:31 myshare
0:everyone@:read_data/write_data/append_data/read_xattr/write_xattr
/execute/delete_child/read_attributes/write_attributes/delete
/read_acl/write_acl/write_owner/synchronize:allow

名前付き共有は親ファイルシステムから共有プロパティーを継承します。前の例で share.smb.guestok プロパティーを親ファイルシステムに追加した場合、このプロパティーは名前付き共有に継承されます。例:

$ zfs get -r share.smb.guestok tank/workspace
NAME                    PROPERTY           VALUE  SOURCE
tank/workspace          share.smb.guestok  on     inherited from tank
tank/workspace%myshare  share.smb.guestok  on     inherited from tank

名前付き共有は、NFS 環境でファイルシステムのサブディレクトリに対して共有を定義するときに役立つことがあります。例:

$ zfs create -o share.nfs=on -o share.nfs.anon=99 -o share.auto=off tank/home
$ mkdir /tank/home/userA
$ mkdir /tank/home/userB
$ zfs share -o share.path=/tank/home/userA tank/home%userA
$ zfs share -o share.path=/tank/home/userB tank/home%userB
$ grep tank/home /etc/dfs/sharetab
/tank/home/userA        userA   nfs     anon=99,sec=sys,rw
/tank/home/userB        userB   nfs     anon=99,sec=sys,rw  

上記の例は、ファイルシステムの share.auto を off に設定すると、そのファイルシステムの自動共有のみが off になり、他のすべてのプロパティー継承は変更されないことも示しています。他のほとんどの共有プロパティーと異なり、share.auto プロパティーは継承可能ではありません。

名前付き共有は、公開 NFS 共有の作成時にも使用します。公開共有は、名前付きの NFS 共有でのみ作成できます。例:

$ zfs create -o mountpoint=/pub tank/public
$ zfs share -o share.nfs=on -o share.nfs.public=on tank/public%pubshare
$ grep pub /etc/dfs/sharetab
/pub    pubshare        nfs     public,sec=sys,rw

NFS および SMB 共有プロパティーの詳細は、share_nfs(8)および share_smb(8) のマニュアルページを参照してください。

ZFS 自動共有

自動共有が作成されると、ファイルシステム名から一意のリソース名が構築されます。構築される名前はファイルシステム名のコピーですが、リソース名では使用できない文字がファイルシステム名に含まれている場合、それらは下線 (_) で置き換えられます。たとえば、data/home/john のリソース名は data_home_john になります。

share.autoname プロパティー名を設定すると、自動共有の作成時にファイルシステム名を特定の名前で置き換えることができます。この特定の名前は、継承の際に先頭部分のファイルシステム名を置き換えるためにも使用されます。例:

$ zfs create -o share.smb=on -o share.autoname=john data/home/john
$ zfs create data/home/john/backups
$ grep john /etc/dfs/sharetab
/data/home/john john    smb
/data/home/john/backups john_backups    smb

まだ共有されていないファイルシステムでレガシー share コマンドまたは zfs set share コマンドを使用すると、その share.auto 値は自動的に off に設定されます。レガシーコマンドは常に名前付き共有を作成します。この特別な規則によって、自動共有が作成中の名前付き共有を妨害するのを防ぐことができます。

ZFS 共有情報を表示する

ファイル共有プロパティーの値を表示するには、zfs get コマンドを使用します。次の例は、単一ファイルシステムの share.nfs プロパティーを表示する方法を示しています。

$ zfs get share.nfs tank/sales
NAME        PROPERTY   VALUE  SOURCE
tank/sales  share.nfs  on     local

次の例は、子孫ファイルシステムの share.nfs プロパティーを表示する方法を示しています。

$ zfs get -r share.nfs tank/sales
NAME             PROPERTY   VALUE  SOURCE
tank/sales       share.nfs  on     local
tank/sales%      share.nfs  on     inherited from tank/sales
tank/sales/log   share.nfs  on     inherited from tank/sales
tank/sales/log%  share.nfs  on     inherited from tank/sales

zfs get all コマンド構文では、共有プロパティーの拡張情報は利用できません。

NFS または SMB 共有に関する詳細を表示するには、次の構文を使用します。

$ zfs get share.nfs.all tank/sales
NAME        PROPERTY             VALUE  SOURCE
tank/sales  share.nfs.aclok      off    default
tank/sales  share.nfs.anon              default
tank/sales  share.nfs.charset.*  ...    default
tank/sales  share.nfs.cksum             default
tank/sales  share.nfs.index             default
tank/sales  share.nfs.log               default
tank/sales  share.nfs.noaclfab   off    default
tank/sales  share.nfs.nosub      off    default
tank/sales  share.nfs.nosuid     off    default
tank/sales  share.nfs.public     -      -
tank/sales  share.nfs.sec               default
tank/sales  share.nfs.sec.*      ...    default

共有プロパティーの数が多いため、デフォルト以外の値でプロパティーを表示することを検討してください。例:

$ zfs get -e -s local,received,inherited share.all tank/home
NAME       PROPERTY           VALUE  SOURCE
tank/home  share.auto         off    local
tank/home  share.nfs          on     local
tank/home  share.nfs.anon     99     local
tank/home  share.protocols    nfs    local
tank/home  share.smb.guestok  on     inherited from tank

ZFS 共有プロパティー値を変更する

共有プロパティー値を変更するには、ファイルシステム共有で新規または変更されたプロパティーを指定します。たとえば、ファイルシステムの作成時に読み取り専用プロパティーを設定した場合、そのプロパティーを off に設定できます。

$ zfs create -o share.nfs.ro=\* tank/data
$ zfs get share.nfs.ro tank/data
NAME       PROPERTY              VALUE  SOURCE
tank/data  share.nfs.sec.sys.ro  *     local
$ zfs set share.nfs.ro=none tank/data
$ zfs get share.nfs.ro tank/data
NAME       PROPERTY              VALUE  SOURCE
tank/data  share.nfs.sec.sys.ro  off    local

SMB 共有を作成した場合は、NFS 共有プロトコルを追加することもできます。例:

$ zfs set share.smb=on tank/multifs
$ zfs set share.nfs=on tank/multifs
$ grep multifs /etc/dfs/sharetab
/tank/multifs   tank_multifs    nfs     sec=sys,rw
/tank/multifs   tank_multifs    smb     -       

SMB プロトコルを削除します。

$ zfs set share.smb=off tank/multifs
$ grep multifs /etc/dfs/sharetab
/tank/multifs   tank_multifs    nfs     sec=sys,rw

名前付き共有の名前を変更できます。例:

$ zfs share -o share.smb=on tank/home/abc%abcshare
$ grep abc /etc/dfs/sharetab
/tank/home/abc  abcshare        smb     -
$ zfs rename tank/home/abc%abcshare tank/home/abc%a1share
$ grep abc /etc/dfs/sharetab
/tank/home/abc  a1share        smb     -   

ラベル付きファイルシステムに共有アクセス権を付与できます。次の例で、rpool/export/home は共有するように構成されたラベル付きファイルシステムです。

$ zfs create -o multilevel=on -o encryption=on rpool/ftp-files
$ zfs set =/ftpsource rpool/ftp-files
$ setlabel "Conf - Internal Use Only" /ftpsource

$ zfs set share.nfs.labeled=on rpool/ftp-files
$ zfs set share.nfs=on rpool/ftp-files

zfs share コマンドを使用してラベル付きファイルシステムの共有を有効にすることもできます。

$ zfs share -o nfs=on -o share.nfs.labeled=on rpool/ftp-files

ZFS 共有の公開と非公開

名前付き共有を破棄しないで一時的に共有解除するには、zfs unshare コマンドを使用します。例:

$ zfs unshare tank/home/abc%a1share
$ grep abc /etc/dfs/sharetab
#
$ zfs share tank/home/abc%a1share
$ grep abc /etc/dfs/sharetab
/tank/home/abc  a1share smb     -

zfs unshare コマンドを発行すると、すべてのファイルシステム共有が共有解除されます。これらの共有は、そのファイルシステムに対して zfs share コマンドを発行するか、そのファイルシステムに対して share.nfs または share.smb プロパティーを設定するまで共有解除のままです。

zfs unshare コマンドを発行しても定義された共有は削除されず、次回そのファイルシステムに対して zfs share コマンドを発行するか、そのファイルシステムに対して share.nfs または share.smb プロパティーを設定したときに再度共有されます。

ZFS 共有を削除する

ファイルシステム共有を共有解除するには、share.nfs または share.smb プロパティーを off に設定します。例:

$ zfs set share.nfs=off tank/multifs
$ grep multifs /etc/dfs/sharetab
# 

名前付き共有を完全に削除するには、zfs destroy コマンドを使用します。例:

$ zfs destroy tank/home/abc%a1share

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

Oracle Solaris 11, 以降、非大域ゾーン内で NFS 共有を作成して公開できます。

  • ZFS ファイルシステムは、非大域ゾーンでマウントされて使用できるようになれば、そのゾーン内で共有できます。

  • ファイルシステムは、非大域ゾーンに委任されておらず、かつ非大域ゾーンにマウントされていない場合に、大域ゾーン内で共有できます。ファイルシステムを非大域ゾーンに追加した場合、レガシー share コマンドを使用することによってのみそれを共有できます。

たとえば、/export/home/data および /export/home/data1 ファイルシステムは、zfszone で使用できます。

zfszone$ share -F nfs /export/home/data
zfszone#  cat /etc/dfs/sharetab
zfszone$ zfs set share.nfs=on tank/zones/export/home/data1
zfszone$ cat /etc/dfs/sharetab

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

次の移行の問題を確認してください。

  • 古い共有プロパティーを使ったファイルシステムのインポート - プールをインポートする場合、または Oracle Solaris 11 より前に作成されたファイルシステムストリームを受け取る場合、sharenfs および sharesmb プロパティーのプロパティー値にすべての共有プロパティーが直接含まれています。ほとんどの場合、これらのレガシー共有プロパティーは、各ファイルシステムが共有されるとすぐに、同等の名前付き共有セットに変換されます。ほとんどの場合、インポート操作によってマウントおよび共有がトリガーされるため、名前付き共有への変換はインポートプロセス中に直接行われます。

  • Oracle Solaris 11 からのアップグレード - 名前付き共有は新しい形式に変換されるため、プールをバージョン 34 にアップグレードしたあとの最初のファイルシステムの共有には長い時間がかかることがあります。アップグレードプロセスによって作成された名前付き共有は正しいものですが、共有プロパティー継承を利用できない可能性があります。

    • 共有プロパティー値を表示します。

      $ zfs get share.nfs filesystem
      $ zfs get share.smb filesystem
    • 古い BE でブートする場合は、sharenfs および sharesmb プロパティーを元の値にリセットします。

  • Oracle Solaris からのアップグレード 11 - Oracle Solaris 11 および 11.1 では、sharenfs および sharesmb プロパティーには offon の値しか設定できません。これらのプロパティーは、共有特性の定義に使用できなくなりました。

    ブート時のファイルシステムの共有に /etc/dfs/dfstab ファイルは使用されなくなりました。ブート時に、有効なファイルシステム共有を含むマウント済みの ZFS ファイルシステムがすべて自動的に共有されます。共有は、sharenfs または sharesmbon に設定されると有効になります。

    sharemgr インタフェースは使用できなくなりました。レガシー share コマンドは、レガシー共有の作成に引き続き使用できます。share –a コマンドは、以前の share –ap コマンドに似ており、ファイルシステムの共有は永続的です。share –p オプションは使用できなくなりました。

  • システムのアップグレード - このリリースでのプロパティーの変更により、Oracle Solaris 11 BE でブートすると、ZFS 共有が不正になります。ZFS 以外の共有は影響を受けません。古い BE でブートすることを計画している場合は、ZFS 共有構成を復元できるように、pkg update 操作の前にまず、既存の共有構成のコピーを保存します。

    古い BE で、sharemgr show –vp コマンドを使用して、すべての共有およびそれらの構成を一覧表示します。

    共有プロパティー値を表示するには、次のコマンドを使用します。

    $ zfs get sharenfs filesystem
    $ zfs get sharesmb filesystem

    古い BE に戻す場合は、sharenfs および sharesmb プロパティーと、sharemgr で定義されたすべての共有を元の値にリセットします。

  • 旧バージョンの共有解除動作 - unshare –a コマンドまたは unshareall コマンドを使用すると、ファイルシステムの共有が解除されますが、SMF 共有リポジトリは更新されません。既存の共有を再度共有しようとすると、共有リポジトリで競合がチェックされ、エラーが表示されます。

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

次の共有エラー状況を確認してください。

  • 新しい共有または以前の共有が共有されない

    • プールおよびファイルシステムバージョンが最新であることを確認する - share.nfs または share.smb プロパティーを設定することによって新しい共有が共有されない場合は、プールバージョンが 34、ファイルシステムバージョンが 6 であることを確認してください。

    • 共有は NFS サービスが起動する前に存在する必要がある- NFS サーバーサービスは、ファイルシステムが共有されるまで実行されません。最初に NFS 共有を作成し、共有へのリモートアクセスを試してください。

    • 既存の共有を含むシステムはアップグレードされたが、共有が利用できない - 既存の共有を含むシステムはアップグレードされるが、共有を再共有しようとすると失敗します。share.auto プロパティーが無効になっているため、共有は共有されていない可能性があります。share.auto が off に設定されている場合は、名前付き共有のみが利用可能であり、以前の共有構文との互換性が,適用されます。既存の共有は次のようになります。

      $ zfs get share
      NAME                        PROPERTY  VALUE  SOURCE
      tank/data                   share     name=data,path=/tank/data,prot=nfs  local
    1. share.auto プロパティーが有効になっていることを確認します。有効でない場合は、有効にします。

      $ zfs get -r share.auto tank/data
      $ zfs set share.auto=on tank/data
    2. ファイルシステムを再共有します。

      $ zfs set -r share.nfs=on tank/data
    3. 前述のコマンドを正常に実行するには、その前に名前付き共有を削除して再作成する必要がある場合もあります。

      $ zfs list -t share -Ho name -r tank/data | xargs -n1 zfs destroy
    4. 必要に応じて、名前付き共有を再作成します。

      $ zfs create -o share.nfs=on tank/data%share
  • 名前付き共有を含む共有プロパティーがスナップショットに含まれていない - 共有プロパティーおよび .zfs/shares ファイルの扱いが、zfs clone 操作と zfs send 操作では異なります。.zfs/shares ファイルはスナップショットに含まれており、zfs clone および zfs send 操作で保存されます。zfs send 操作と zfs receive 操作中のプロパティーの動作については、ZFS スナップショットストリームに異なるプロパティー値を適用するを参照してください。クローン操作後、プロパティーが ZFS ファイルシステム階層内のクローンの新しい位置から継承されるのに対し、ファイルはすべてクローン前のスナップショットからのものです。

  • 名前付き共有要求が失敗する - 名前付き共有を作成するための要求が共有が自動共有と競合するために失敗したときは、auto.share プロパティーを無効にする必要がある場合があります。

  • 共有を含むプールが以前にエクスポートされた - プールが読み取り専用でインポートされると、そのプロパティーもそのファイルも変更できないため、新しい共有の作成は失敗します。プールがエクスポートされる前に共有が存在していた場合、可能であれば既存の共有特性が使用されます。

次の表は、既知の共有状態と、必要に応じてそれらの解決方法を示しています。

共有状態
説明
解決方法
INVALID
共有が内部で一貫性がないか、別の共有と競合しているために無効になっています。
次のコマンドを使用して、無効な共有を再度共有してみます。
$ zfs share FS%share
このコマンドを使用すると、共有のどの側面が検証に失敗しているのかに関するエラーメッセージが表示されます。これを訂正してから、共有を再試行してください。
SHARED
共有は共有されています。
何も必要ありません。
UNSHARED
共有は有効ですが、共有が解除されています。
zfs share コマンドを使用して、個々の共有または親ファイルシステムのどちらかを再度共有します。
UNVALIDATED
共有はまだ検証されていません。その共有を含むファイルシステムが共有可能な状態でない可能性があります。たとえば、マウントされていなかったり、現在のゾーン以外のゾーンに委任されていたりします。あるいは、目的の共有を表す ZFS プロパティーが作成されてはいますが、まだ有効な共有として検証されていません。
zfs share コマンドを使用して、個々の共有または親ファイルシステムを再度共有します。ファイルシステムそのものが共有可能である場合、再共有の試みは共有に成功 (状態が shared に遷移) するか、共有に失敗 (状態が invalid に遷移) するかのどちらかになります。あるいは、share –A コマンドを使用して、マウント済みのすべてのファイルシステム内のすべての共有を一覧表示することもできます。これにより、マウント済みのファイルシステム内のすべての共有が unshared (有効だがまだ共有されていない) と invalid のどちらかとして解決されます。