- Windowsファイルサーバー
- Solaris 11からはSMBプロトコルがカーネルレベル(Solaris CIFS Service)でサポートされている。ZFS上の属性を立てるだけでWindowsファイル共有として公開できる。
- ネタ元
- 準備作業: Solaris 11.2 Administration: How to Configure the SMB Server in Workgroup Mode @ Docs.Oracle
- 必要パッケージの追加とサービス起動
- # pkg install pkg:/service/file-system/smb
- # svcadm enable -r smb/server
- # svcs -a | grep smb
- /network/smb、/network/smb/client、/network/smb/serverという3つのサービスがonlineになっていればOK。
- パスワード同期のため /etc/pam.d/other ファイルに行を追加
- password required pam_smb_passwd.so.1 nowarm
- passwdコマンドでユーザーのパスワード設定
- /var/smb/smbpasswdファイルにユーザーエントリーが追加されていることを確認
- Workgroup参加
- # smbadm join -w workgroup
- ZFS上のSMB共有設定
- # zfs share -o share.smb=on tank/home%home
- この例で%homeという名前指定を省略すると、共有フォルダー名は tank_home となってしまう。
- 共有状態の確認
- フォルダアクセス権の管理など、Sambaよりも細かく制御できるっぽい。でも、上位フォルダ階層からの継承などACL継承を設定していないにも関わらず勝手に働いていることもあるらしく、仕様がよく分からない部分もある。
- iSCSIターゲットサーバー
- Solaris 10のときは ZFSのshareiscsi属性設定と iscsitadmコマンドで管理していたが、Solaris 11では SCSIブロックデバイスを管理するsbdadmコマンド、SCSIターゲットを管理するstmfコマンド、そして iSCSIターゲットを管理するitadmコマンドを使う。
- Solaris 10のときはLUNとiSCSIターゲットが1:1で対応したが、Solaris 11ではひとつのiSCSIターゲットに複数のLUNが収納できるようになった。
- ネタ元
- 準備作業
- 必要パッケージの追加とサービス起動
- # pkg install storage-server
- # svcadm enable stmf
- # svcs stmf
- # svcadm enable -r iscsi/target
- # svcs iscsi/target
- iSCSIターゲットの設定
- ターゲットポータルグループ(TPG)の作成
- # itadm create-tpg TPGIS 192.168.10.10
- ターゲットに用いるネットワークポートをIPアドレスで指定する。
- 作成済みのTPGにIPアドレスを追加削除するコマンドはないので、追加削除が必要な場合はTPGの作り直すことになる。
- すでに作成済みのTPGに含まれるIPアドレスは、新たなTPGの定義に含めることができない。
- # itadm list-tpg -v
- TPGを指定してiSCSIターゲットを作成
- # itadm create-target -t TPGIS
- iSCSIターゲットサーバーが複数のネットワークポートを持っている場合、使うポートをTPGで限定することができる。
- できたiSCSIターゲットの確認
- 接続相手を限定するためのグループ設定
- ターゲットグループ(TG)の作成
- # stmfadm create-tg TGIS
- # stmfadm offline-target iqn.1986-03.com.sun:02-1234567890-abc-1234-def-123456789
- ターゲットがonlineのまま追加しようとするとエラーになるので、いったんofflineにする。list-targetで表示されたiqn名を指定する。
- # stmfadm add-tg-member -g TGIS iqn.1986-03.com.sun:02-1234567890-abc-1234-def-123456789
- # stmfadm online-target iqn.1986-03.com.sun:02-1234567890-abc-1234-def-123456789
- イニシエータグループ(HG)の作成
- # stmfadm create-hg HGIS
- マニュアルでは用語が「イニシエータグループ」と「ホストグループ」と混在しているが、同じ意味と思われる。SCSI用語としてはイニシエータに統一するほうが適切なのではないか。
- # stmfadm add-hg-member -g HGIS iqn.1998-01.com.vmware:hosta-10000000 iqn.1998-01.com.vmware:hostb-20000000
- iSCSIボリュームを利用するイニシエータ側(例えばvSphereハイパーバイザーサーバーなど)のiqn名を指定する。
- ストレージボリュームとLUNの設定
- ボリュームの作成
- # zfs create -b 4K -V 10g tank/ist
- -bで与えるブロックサイズは、512 バイト~1M バイトの範囲で、任意の 2 の累乗を指定できる。デフォルト値は8Kバイト。VMware(VMFS-5データストア)では、サブブロックサイズを4KBで割当てるので、zfs上のブロックサイズも4Kバイトにしておくと良いかも。値を小さくするとランダムアクセス性能に優れ、値を大きくするとシーケンシャルアクセス性能に優れるので、用途に応じチューニングの余地がある。
- 512e(AF: Advanced Format)ディスクを用いる場合は、4Kバイト以上のブロックにしないと性能が著しく低下する。512eディスクに対しては、仮想マシン上のディスクフォーマットもMBRではなくGPTにしないと、アライメントがズレてやはり性能が低下する。
- # zfs list tank/ist
- LUNの作成
- # sbdadm create-lu /dev/zvol/rdsk/tank/ist
- zfsコマンドの引数とは違い、/dev/zvol/rdsk/ を省略するとエラーになる。
- # sbdadm list-lu
- LUNのビュー作成
- # stmfadm add-view -t TGIS -h HGIS 6001234567890A000000ABCDEF010001
- # stmfadm list-view -l 6001234567890A000000ABCDEF010001
- こうやってTGとHGの接続相手を限定しておくと、誤接続でのトラブルを防止できる。引数の長い文字列(lu-name)は、上記 stmfadm list-lu の表示結果(GUID)を使う。
- なぜかremove-viewは失敗する。ビューを削除したいときは、LUNごと削除(stmfadm delete-lu)するしかないもよう。
- iSCSIボリュームのサイズ拡張
- ZFSボリュームのサイス拡張
- # zfs set volsize=20g tank/ist
- # zfs get volsize tank/ist
- LUNの拡張
- # stmfadm modify-lu -s 20g 6001234567890A000000ABCDEF010001
- # stmfadm list-lu -v 6001234567890A000000ABCDEF010001
- solaris 10ではZFSボリュームを拡張すればLUNも追従して自動拡張されたが、solaris 11では手動で拡張しなければならないようだ。
最終更新:2015年05月17日 20:59