オレンジのトップページ

2009年5月5日火曜日

OpenSolarisをESXiのNFSストレージとして使う

Solaris美しい、ぜひレコメンドしていきたい。


ESXi3.xは興味深いが、ホストの障害検知が削られているので使うのは厳しい。 でもとにかくとりあえずESXiのテスト環境用に速いNFSストレージが欲しい時には次のようにして用意できる。


 


DHCPからStaticへ変更


GUIから システム→システム管理→ネットワーク で 手動 を選択し、適切なIPアドレスとDNSサーバ、必要ならホスト名を入力する。


このままでは DNS を引けないので /etc/nsswitch.conf を手動で編集し


hosts:       files dns
ipnodes:     files dns


と編集する。 なおGUIでの操作は実際には次の内容をバックで実行しています。 


1.nwam(ネットワーク自動構成デーモン)を停止し、手動モードを有効にする


pfexec /usr/sbin/svcadm disable svc:/network/physical:nwam
pfexec /usr/sbin/svcadm enable svc:/network/physical:default


2./etc/nodename, /etc/hostname.(ネットワークデバイス名), /etc/hosts, /etc/resolv.conf  を編集


 


ZFS共有


インストール直後、デフォルトで rpool というZFSストレージプールが存在しています。


zpool list
NAME    SIZE   USED  AVAIL    CAP  HEALTH  ALTROOT
rpool  76.5G  3.49G  73.0G     4%  ONLINE  -


ZFSファイルシステムの内容を確認します。 ZFSの仕様どおり rpool ZFSストレージプールは そのまま /rpool にマウントされています。 rpool/ROOT と rool/ROOT/opensolaris は使用中のファイルシステムで、 / にマウントされています。 rpool/export, rpool/export/home, rpool/export/home/admin はそれぞれ、ユーザ領域用のファイルシステムとなっています。


zfs list
NAME                      USED  AVAIL  REFER  MOUNTPOINT
rpool                    4.49G  70.8G    72K  /rpool
rpool/ROOT               2.37G  70.8G    18K  legacy
rpool/ROOT/opensolaris   2.37G  70.8G  2.24G  /
rpool/dump               1023M  70.8G  1023M  -
rpool/export              128M  70.8G    19K  /export
rpool/export/home         128M  70.8G    19K  /export/home
rpool/export/home/admin   128M  70.8G   128M  /export/home/admin
rpool/swap               1023M  71.8G    16K  -


 


zfs mount
rpool/ROOT/opensolaris          /
rpool/export                    /export
rpool/export/home               /export/home
rpool/export/home/admin         /export/home/admin
rpool                           /rpool


 


共有用のファイルシステムを作成します


zfs create rpool/export/home/nfs


作成したファイルシステムを共有します


zfs set sharenfs=on rpool/export/home/nfs
(zfs share rpool/export/home/nfs でも同じ結果が得られます)


 


確認します。 ここで share コマンドを使っていますが、Sunのドキュメントによると



http://docs.sun.com/app/docs/doc/819-6260/gaynd?a=view
「従来の share および unshare コマンドは・・・推奨されていません。」


ということなので共有の確認をするためだけに使います。



 


share
-@rpool/export  /export/home/nfs   rw   ""


sharenfs=on はデフォルト共有のキーワードで、制限なしの共有です。IPアドレスで少し制限をしておきます。


zfs set sharenfs='rw=@192.168.0.0/16' rpool/export/home/nfs


 


再度確認


share
-@rpool/export  /export/home/nfs   sec=sys,rw=@192.168.0.0/16   ""


 


NFS共有はデフォルトでnobody権限でアクセスされますので、フォルダのパーミッションを修正しておきます。


chown  nobody /export/home/nfs
chgrp  nobody /export/home/nfs


 


データはWinSCPを使ってSSHで操作してもいいのですが、普通にFTPを使いたいので/etc/group を編集し、 nobody グループにadmin を追加しておきます。


nobody::60001:admin


いちおう 50Gに Quotaを設定しておきます


zfs quota=50g rpool/export/home/nfs


 


 


OpenSolaris側は以上です、続いて ESXi側の操作です。



Configuratioin -> Storage -> Add Storage


esxi-nfs1.jpg


 


Server: 192.168.24.24


Folder: /export/home/nfs


Datastore Name: datastore-nfs1




esxi-nfs2.jpg



このように追加できます。容量が先ほどQuotaで設定した 50GB となっているのを確認できます。



esxi-nfs3.jpg


 


以上