NFS Share di Solaris 11

Biasanya di mesin Solaris yang menggunakan filesystem ZFS, untuk mengaktifkan NFS sharing saya cukup menggunakan perintah :

zfs set sharenfs=on /share-directory

Ini pernah saya tulis di postingan sebelumnya. Hari ini saya menemukan masalah sharing NFS di Solaris 11. Cara tadi tidak bisa dipakai di Solaris 11. Tadi saya ingin mengaktifkan NFS sharing untuk direktori /rpool/testing.

root@testbed:~# zfs list | grep testing
rpool/testing                                         31.5K   148G  31.5K  /rpool/testing
root@testbed:~# 
root@testbed:~# zfs set sharenfs=on rpool/testing
root@testbed:~# share
root@testbed:~#

Tapi cara tadi gagal terus. Lalu saya coba cek & aktifkan servis NFS server-nya. Saat dicek servis NFS server masih offline.

root@testbed:~# svcs | grep nfs
online         Nov_15   svc:/network/nfs/fedfs-client:default
offline        11:16:01 svc:/network/nfs/server:default
root@testbed:~#

Saya coba untuk aktifkan dengan perintah svcadm enable, ternyata gagal dengan tampilan error seperti berikut ini :

root@testbed:~ # svcadm enable -rst network/nfs/server
svcadm: Instance "svc:/network/nfs/server:default" has been disabled by another entity.
root@testbed:~#

Googling sebentar membawa saya ke website Oracle ini. Ternyata caranya berbeda di Solaris 11, menurut dokumen tadi tidak perlu lagi mengaktifkan servis NFS untuk bisa membagi direktori lewat NFS. Caranya cukup dengan menggunakan perintah berikut ini :

root@testbed:~# zfs set share=name=testing,path=/rpool/testing,prot=nfs rpool/testing
name=testing,path=/rpool/testing,prot=nfs
root@testbed:~# 
root@testbed:~# share
testing /rpool/testing  nfs     sec=sys,rw      
root@testbed:~#

Bila ingin mendefinisikan kontrol IP mesin mana yang bisa mengakses direktori tadi, saya tinggal tambahkan opsi seperti berikut ini :

share=name=testing,path=/rpool/testing,prot=nfs,rw=10.23.103.62,root=10.23.103.62

Dengan menggunakan perintah tadi, Solaris 11 akan otomatis mengaktifkan servis NFS server.

root@testbed:~# svcs | grep nfs/server
online         11:48:45 svc:/network/nfs/server:default
root@testbed:~#

Bila kita ingin menghapus share directory tadi caranya cukup dengan :

root@testbed:~# zfs unshare rpool/testing
root@testbed:~# share
root@testbed:~#

Lucunya NFS servis akan tetap aktif meskipun sudah tidak ada lagi direktori yang di-share.

Whew, makin kagum dengan Google…semua informasi cuma sejauh jangkauan keyboard & mouse saja.

NFS Di Solaris 11

Beberapa waktu lalu saya sempat menulis tentang Berbagi ZFS Dataset Lewat NFS. Tulisan itu menggunakan sampel dari mesin Solaris 10. Hari ini saya perlu membagi ZFS dataset di mesin Solaris 11. Ternyata teknik yang sudah saya post sebelumnya tidak bisa dipakai di mesin Solaris 11. Begini error yang muncul saat saya menggunakan perintah yang sama :

root@solaris11:~# zfs create -o mountpoint=/testnfs rpool/testnfs
root@solaris11:~# zfs set sharenfs='rw=192.168.10.99,root=192.168.10.99' rpool/testnfs
cannot set property for 'rpool/testnfs': 'share.nfs' must be one of 'on | off'
root@solaris11:~# 

Saya terus mendapat error :

cannot set property for 'rpool/testnfs': 'share.nfs' must be one of 'on | off'

Saya coba ikuti petunjuk yang ditampilkan pada error itu :

root@solaris11:~# zfs set share.nfs=on rpool/testnfs

Tapi masih tetap mendapat error yang sama seperti sebelumnya. Dari hasil pencarian di Google saya baru tahu ternyata format perintah NFS di Solaris 11 sedikit berbeda. Setelah saya ikut cara yang benar dari referensi Google, barulah saya bisa membagi ZFS dataset testnfs tadi dengan mesin lainnya :

root@solaris11:~# zfs set share=name=testnfs,path=/testnfs,prot=nfs,anon=0,sec=sys,rw=192.168.10.99 rpool/testnfs
name=testnfs,path=/testnfs,prot=nfs,anon=0,sec=sys,rw=192.168.10.99
root@solaris11:~# zfs set share.nfs=on rpool/testnfs
root@solaris11:~# 

Mesin 192.168.10.99 sekarang bisa mengakses direktori testnfs tersebut :

bash-3.00# mkdir /testnfs
bash-3.00# mount -F nfs 192.168.10.30:/testnfs /testnfs
bash-3.00# df -h | grep testnfs
192.168.10.30:/testnfs   141G    31K   141G     1%    /testnfs
bash-3.00#