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)
|