トップページ > ZFS関連 > ZFSファイルシステムをNFSで共有する
カテゴリー
オラクルエンジニア通信
サポートページ
マニュアルページ
ソフトウェアダウンロード
中古UNIXマシン購入
blogs.sun.com
お勧めサイト
プライベートリンク

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

ZFSファイルシステムをNFSで共有する例を紹介します。
ZFSではsharenfsプロパティーを使って自動的にファイルシステムを共有できます。
この方法で共有しておけば新規にファイルシステムを追加するときでも/etc/dfs/dfstabファイルを変更する必要はありません。

以下で、ZFSストレージプールを作成するところからファイルシステムを共有する流れを紹介します。

まず、ZFSストレージプールが現時点で存在しないことを確認します。
# zpool list
使用できるプールがありません
# zfs list
使用できるデータセットがありません
#

新規にプールを作成します。構成は何でも構いませんが、ホームディレクトリっぽくミラープールにしておきます。

# zpool create -f mpool mirror c2t64d0 c2t69d0 mirror c2t74d0 c2t80d0
# zpool list
NAME                    SIZE    USED   AVAIL    CAP  HEALTH     ALTROOT
mpool                  16.8G     81K   16.7G     0%  オンライン  -
# zfs list
NAME                   USED  AVAIL  REFER  MOUNTPOINT
mpool                   78K  16.5G  24.5K  /mpool
# zpool iostat -v
                capacity     operations    bandwidth
pool          used  avail   read  write   read  write
-----------  -----  -----  -----  -----  -----  -----
mpool          81K  16.7G      0      9      0  17.4K
  mirror       36K  8.37G      0      3      0  7.85K
    c2t64d0      -      -      0      8  8.62K   119K
    c2t69d0      -      -      0     10  8.62K   119K
  mirror       45K  8.37G      0      5      0  9.51K
    c2t74d0      -      -      0     11  8.62K   121K
    c2t80d0      -      -      0     12  8.62K   121K
-----------  -----  -----  -----  -----  -----  -----

#

以下のようにホームディレクトリっぽくファイルシステムを作成します。
せっかくなのでそれらしくマウントポイントも/export/home2に変更してみました。

# zfs create mpool/home
# zfs create mpool/home/user1
# zfs create mpool/home/user2
# zfs create mpool/home/user3
# zfs set mountpoint=/export/home2 mpool/home
# zfs list
NAME                   USED  AVAIL  REFER  MOUNTPOINT
mpool                  206K  16.5G  24.5K  /mpool
mpool/home             102K  16.5G  28.5K  /export/home2
mpool/home/user1      24.5K  16.5G  24.5K  /export/home2/user1
mpool/home/user2      24.5K  16.5G  24.5K  /export/home2/user2
mpool/home/user3      24.5K  16.5G  24.5K  /export/home2/user3
#

いよいよ本題のZFSファイルシステムの共有です。
まず、現時点では共有されていません。当然ですが。。。

# share
#

mpool/home ファイルシステムのsharenfsプロパティーを確認します。

# zfs get sharenfs mpool/home
NAME             PROPERTY       VALUE                      SOURCE
mpool/home       sharenfs       off                        default

offになっていることがわかります。
以下のコマンドでonにして、もう一度sharenfsプロパティーを確認します。

# zfs set sharenfs=on mpool/home
# zfs get sharenfs mpool/home
NAME             PROPERTY       VALUE                      SOURCE
mpool/home       sharenfs       on                         local

onになってたらOK!実はこれだけですでに共有されています。
ほらね。

# share
-               /export/home2   rw   ""
-               /export/home2/user3   rw   ""
-               /export/home2/user1   rw   ""
-               /export/home2/user2   rw   ""
#

プロパティーは継承されるので、mpool/homeファイルシステムに設定したものが配下のファイルシステムにも引き継がれており、上記のように user1~user3のファイルシステムもすべて共有されているわけです。
念のため確認して見ると以下のようにちゃんとonになっていますし、継承している旨も表示されています。(inherited from mpool/home)

# zfs get sharenfs mpool/home/user1
NAME             PROPERTY       VALUE                      SOURCE
mpool/home/user1  sharenfs       on                         inherited from mpool/home
#

また、以下のように突然ファイルシステムを追加してもOK。すぐさま共有されます。
こりゃ楽ですな。

# zfs create mpool/home/user4
# share
-               /export/home2   rw   ""
-               /export/home2/user3   rw   ""
-               /export/home2/user1   rw   ""
-               /export/home2/user2   rw   ""
-               /export/home2/user4   rw   ""
#

当然、以下のように設定を上書きすれば、一部のファイルシステムだけ共有を解除することもできます。

# zfs set sharenfs=off mpool/home/user3
# share
-               /export/home2   rw   ""
-               /export/home2/user1   rw   ""
-               /export/home2/user2   rw   ""
-               /export/home2/user4   rw   ""
#


オラクルユニバーシティSolaris系技術トレーニング一覧

Solarisお勧め書籍

Solaris 11.2 システムハンドブック
Oracle Solaris 11 試験対策本(OCA)