Solaris11 ZFS でのNAS作成

# 環境
* Solaris11.2
* VMware Esxi 5.5
* VMホストに仮想HDD2本

# 流れ
1. ZFSストレージプールの作成
2. ZFSファイスシステムの作成
3. NFS共有設定

# 作り方
## 1. ZFSストレージプールの作成
### 事前確認
* 現在のディスク構成

```shell-session
root@solaris:~# format
Searching for disks...done


AVAILABLE DISK SELECTIONS:
       0. c2t0d0 <VMware-Virtual disk-1.0-128.00GB>
          /pci@0,0/pci15ad,1976@10/sd@0,0
       1. c2t1d0 <VMware-Virtual disk-1.0 cyl 44556 alt 2 hd 255 sec 189>
          /pci@0,0/pci15ad,1976@10/sd@1,0
```

* 現在の pool list

```shell-session
root@solaris:~# zpool list
NAME   SIZE  ALLOC  FREE  CAP  DEDUP  HEALTH  ALTROOT
rpool  127G  5.79G  121G   4%  1.00x  ONLINE  -
```

### ストレージプール作成
* ディスク`c2t1d0`で構成される`vol001`という名前のストレージプールを作成
 
```shell-session
root@solaris:~# zpool create vol001 c2t1d0
```

>※物理ディスクを2本以上選択し`RAID Z`などを構成したりもできるが仮想環境の為、割愛

* 確認

```shell-session
root@solaris:~# zpool list
NAME     SIZE  ALLOC   FREE  CAP  DEDUP  HEALTH  ALTROOT
rpool    127G  5.79G   121G   4%  1.00x  ONLINE  -
vol001  1016G    85K  1016G   0%  1.00x  ONLINE  -

root@solaris:~# zfs list
NAME                              USED  AVAIL  REFER  MOUNTPOINT
rpool                            5.88G   119G  4.64M  /rpool
rpool/ROOT                       2.78G   119G    31K  legacy
rpool/ROOT/solaris               2.78G   119G  2.47G  /
rpool/ROOT/solaris/var            307M   119G   306M  /var
rpool/VARSHARE                   2.52M   119G  2.43M  /var/share
rpool/VARSHARE/pkg                 63K   119G    32K  /var/share/pkg
rpool/VARSHARE/pkg/repositories    31K   119G    31K  /var/share/pkg/repositories
rpool/VARSHARE/zones               31K   119G    31K  /system/zones
rpool/dump                       2.06G   119G  2.00G  -
rpool/export                       63K   119G    32K  /export
rpool/export/home                  31K   119G    31K  /export/home
rpool/swap                       1.03G   119G  1.00G  -
vol001                             85K  1000G    31K  /vol001
```

## 2. ZFSファイルシステムの作成
### 作成
* 作成した`vol001`にZFSファイルシステムを作成

```shell-session
root@solaris:~# zfs create vol001/esxi_datastore
```

### 確認
* ZFSの一覧

```shell-session
root@solaris:~# zfs list
NAME                              USED  AVAIL  REFER  MOUNTPOINT
rpool                            5.88G   119G  4.64M  /rpool
rpool/ROOT                       2.78G   119G    31K  legacy
rpool/ROOT/solaris               2.78G   119G  2.47G  /
rpool/ROOT/solaris/var            307M   119G   306M  /var
rpool/VARSHARE                   2.52M   119G  2.43M  /var/share
rpool/VARSHARE/pkg                 63K   119G    32K  /var/share/pkg
rpool/VARSHARE/pkg/repositories    31K   119G    31K  /var/share/pkg/repositories
rpool/VARSHARE/zones               31K   119G    31K  /system/zones
rpool/dump                       2.06G   119G  2.00G  -
rpool/export                       63K   119G    32K  /export
rpool/export/home                  31K   119G    31K  /export/home
rpool/swap                       1.03G   119G  1.00G  -
vol001                            124K  1000G    32K  /vol001
vol001/esxi_datastore              31K  1000G    31K  /vol001/esxi_datastore
```

## 3. NFS共有設定
### 事前確認
* NFS共有ステータス

```shell-session
root@solaris:~# zfs get sharenfs
NAME                                  PROPERTY   VALUE  SOURCE
rpool                                 share.nfs  off    default
rpool/ROOT                            sharenfs   off    default
rpool/ROOT/solaris                    share.nfs  off    default
rpool/ROOT/solaris@install            share.nfs  -      -
rpool/ROOT/solaris/var                share.nfs  off    default
rpool/ROOT/solaris/var@install        share.nfs  -      -
rpool/VARSHARE                        share.nfs  off    default
rpool/VARSHARE/pkg                    share.nfs  off    default
rpool/VARSHARE/pkg/repositories       share.nfs  off    default
rpool/VARSHARE/zones                  share.nfs  off    default
rpool/dump                            share.nfs  -      -
rpool/export                          share.nfs  off    default
rpool/export/home                     share.nfs  off    default
rpool/swap                            share.nfs  -      -
vol001                                share.nfs  off    default
vol001/esxi_datastore                 share.nfs  off    default
```

* NFSサービス状況

```shell-session
root@solaris:~# svcs -a | grep nfs
disabled       23:46:04 svc:/network/nfs/status:default
disabled       23:46:04 svc:/network/nfs/nlockmgr:default
disabled       23:46:04 svc:/network/nfs/cbd:default
disabled       23:46:04 svc:/network/nfs/mapid:default
disabled       23:46:04 svc:/network/nfs/client:default
disabled       23:46:07 svc:/network/nfs/server:default
disabled       23:46:37 svc:/network/nfs/rquota:default
online         23:46:28 svc:/network/nfs/fedfs-client:default
```

### NFS設定
* NFS共有設定

```shell-session
root@solaris:~# zfs set share=name=esxi_datastore,path=/vol001/esxi_datastore,prot=nfs,root=@172.18.248.64/26 vol001/esxi_datastore
name=esxi_datastore,path=/vol001/esxi_datastore,prot=nfs,sec=sys,root=@172.18.248.64/26
```

* NFS共有設定有効化

```shell-session
root@solaris:~# zfs set sharenfs=on vol001/esxi_datastore
```

### 確認
* NFS共有ステータス

```shell-session
root@solaris:~# zfs get sharenfs
NAME                                  PROPERTY   VALUE  SOURCE
rpool                                 share.nfs  off    default
rpool/ROOT                            sharenfs   off    default
rpool/ROOT/solaris                    share.nfs  off    default
rpool/ROOT/solaris@install            share.nfs  -      -
rpool/ROOT/solaris/var                share.nfs  off    default
rpool/ROOT/solaris/var@install        share.nfs  -      -
rpool/VARSHARE                        share.nfs  off    default
rpool/VARSHARE/pkg                    share.nfs  off    default
rpool/VARSHARE/pkg/repositories       share.nfs  off    default
rpool/VARSHARE/zones                  share.nfs  off    default
rpool/dump                            share.nfs  -      -
rpool/export                          share.nfs  off    default
rpool/export/home                     share.nfs  off    default
rpool/swap                            share.nfs  -      -
vol001                                share.nfs  off    default
vol001/esxi_datastore                 share.nfs  on     local
vol001/esxi_datastore%esxi_datastore  share.nfs  on     inherited from vol001/esxi_datastore
```

* NFSサービス状況

```shell-session
root@solaris:~# svcs -a | grep nfs
disabled       23:46:04 svc:/network/nfs/cbd:default
disabled       23:46:04 svc:/network/nfs/client:default
online         23:46:28 svc:/network/nfs/fedfs-client:default
online          0:39:48 svc:/network/nfs/status:default
online          0:39:48 svc:/network/nfs/mapid:default
online          0:39:48 svc:/network/nfs/nlockmgr:default
online          0:39:49 svc:/network/nfs/rquota:default
online          0:39:49 svc:/network/nfs/server:default
```

## 最後に
* 作成したZFSの領域を好きな所にマウントするだけ！