Solars10のzfsをSolaris11に持っていってsmbで見せるメモ

2014/2/1 にSolaris10で組んだzfsをSolaris11に持っていって、smb共有で見せてデータ取り出すとか何それ?的なことを試したメモです。ファイルサーバをSolaris10/ZFSで作ってあるところもあるので、丁度移行テストを兼ねるような兼ねないような…。
なんで日付も書いてるかというと、zfs upgrade したときにちょっと不可解なことがおきたので、時間が経てば解決する問題かもしれないので忘れないように。

参考
 http://docs.oracle.com/cd/E26924_01/html/E25824/gayne.html
 http://edo.blog.jp/archives/1709846.html
 https://blogs.oracle.com/paulie/entry/cifs_sharing_on_solaris_11


Solaris10zfs作る

mkfile 1g disk1
mkfile 1g disk2
mkfile 1g disk3
zpool create tpool /mnt/disk1 /mnt/disk2  /mnt/disk3
zfs create tpool/data
cd /tpool/data
適当にファイル作る


●Solaris11(upgradeしなかったとき)
cifs_sharing_on_solaris_11 の記事にしたがって、smbインストールとかは終わらせる
その後、disk1,2,3 を /var/tmp にコピって…

zpool import -d /var/tmp/disk1  -d /var/tmp/disk2  -d /var/tmp/disk3 -f tpool
zfs set share=name=sol1,path=/tpool/data,prot=smb tpool/data
zfs set sharesmb=on tpool/data
share
cat /etc/dfs/sharetab


●Solaris11(upgradeしたとき)

zpool import -d /var/tmp/disk1  -d /var/tmp/disk2  -d /var/tmp/disk3 -f tpool
zpool upgrade tpool
===
This system is currently running ZFS pool version 34.

Successfully upgraded 'tpool' from version 15 to version 34
===

zfs upgrade tpool
===
zfs upgrade tpool/data1 filesystems upgraded
===

zfs upgrade tpool/data
===
1 filesystems upgraded
===

zfs set share=name=sol1,path=/tpool/data,prot=smb tpool/data(上手く行ったように見えて実はNG)
===
name=sol1,path=/tpool/data,prot=smb
===

zfs set sharesmb=on tpool/data
share (sol1エントリが見えなかった…)
===
share
IPC$            smb     -       Remote IPC
c$      /var/smb/cvol   smb     -       Default Share
===

cat /etc/dfs/sharetab
share -F smb /tpool/data sol1(ということで、zfs set share~の補完)
share
cat /etc/dfs/sharetab


※注意点

  • cifs_sharing_on_solaris_11 の記事などでありますが、smbパッケージは後付インストール
  • Solaris11 U1以降は /etc/pam.d/other への記載。pam.confに書くと"Permission denied"の嵐
  • zpool upgrade/zfs upgrade するとなぜか zfs set share=name=xx,path=/yy/yy,prot=smb yy/yy が上手くいかなくなる。原因不明。バグレポートの投げ先とかあるのかな。。