comstarでiscsi - opensolaris勉強会 2011.08
TRANSCRIPT
徳山 文晟 徳山 文晟 / Fumiaki Tokuyama/ Fumiaki Tokuyamatwitter:@tokuhytwitter:@tokuhy
COMSTARCOMSTARででiSCSI iSCSI OpenSolarisOpenSolaris勉強会 勉強会 2011.082011.08
2
アジェンダ
1.そもそもiSCSIとは何だ?2.SAN3.COMSTARってなに?4.COMSTARでiSCSIを設定してみる5.一歩進んだ設定(認証と認可)
3
そもそもiSCSIとは?● Internet Small Computer System Interface
● 読み方:アイスカジー● SCSIプロトコル(コマンド)を、TCP/IPのネットワーク上を経由
で送受信する規格● なので、既存のTCP/IPのネットワーク(イーサネット)を使って
SANを構築できます(IP-SAN)
● ターゲットがLUを外部へ公開● イニシエータからターゲットへ接続してブロックデバイス
として認識
4
SAN● Storage Area Network● 外部サーバのストレージへディスクとしてアクセス
● ブロックデバイス● NAS(Network Attached Storage)とは違うよ
● NASはファイルベースのアクセス● iSCSIを使うことでIP-SANを構築できる
● SANと言えばFC(ファイバチャネル)が一般的● iSCSIを使ったSANをIP-SANともいう● 最近だとFCoEやInfinibandなども
5
もうちょっとSAN● ネットワーク上にあるストレージ装置のディスクへ
アクセスして、自分のローカルディスクであるかのように扱える
● iSCSIもSCSIなので!● ということで、その上にファイルシステムも作成で
きるし当然OSのインストールもできちゃいます
6
iSCSIのメリット
● FCやInfinibandなどに比べて何がいいか
■機器の導入コストメリット■保守・運用の人的コスト
イーサネットなら敷居が低い
7
iSCSIのデメリット● インターフェースの通信速度の問題
● FCは2Gbpsや4Gbpsや8Gbpsも● イーサネットの主流は1Gbps
● コマンドのカプセル化のオーバーヘッド
10GbEやCPUの進化でソフトウェアでも十分戦える
8
COMSTAR
● (Open)SolarisのOS/NetというON(kernel)が提供
COMSTARCOMSTAR(COmmon Multiprotocol SCSI TARget )
9
COMSTARの機能概要● COMSTARって?(1)
● (Open)SolarisホストをSCSIターゲットデバイスにすることができるソフトウェアフレームワーク
● 各論理ユニット(LU)にホストやターゲットのマッピングが可能
10
COMSTARの概要● COMSTARって?(2)
● 認証(authentication)機能● CHAP認証、RADIUS認証
● 認可(authorization)の機能● Target Portal Group,Target Group,Host Groupの組み合わせ
● InfinibandやFC、FCoEも扱える
11
COMSTARの仕組み
●STMF(SCSI Target Mode Framework)●Port provider●Logical Unit Provider●Management library
詳しく知りたい人はさとうさんの資料(pdf)を
12
COMSTARの環境構築● といっても簡単2ステップ
1.必要なパッケージのインストール
2.サービスの起動
# pkg install storage-server
# svcadm enable -r stmf# svcadm enable -r svc:/network/iscsi/target:default
これだけ!
13
COMSTAR関連のコマンド● itadmitadm
● iSCSIターゲット管理コマンド● iSCSIポートプロバイダの管理
● stmfadmstmfadm● STMF操作コマンド。COMSTARの中核といってよい● ポートプロバイダのリソース(ターゲット)を論理ユニット
(LU)にマッピングする● iscsiadmiscsiadm
● iSCSIイニシエータ管理コマンド● 接続しに行く側(イニシエータ)の操作
14
COMSTARの使い方 - iSCSIを実際に設定してみる
1.SCSI LU(logical unit)の ZFS volumeの作成
2.LUの作成stmfadm create-lu /dev/zvol/rdsk/<pool/dataset>
# zfs create -V 100m rpool/comstar
● -V:ボリュームの作成ちなみに-sをつけると疎ボリュームになる
$ stmfadm create-lu /dev/zvol/rdsk/rpool/comstar
Created the following LU:
GUID DATA SIZE SOURCE-------------------------------- ------------------- ----------------600144f0006c400000004bccabdd0001 104792064 /dev/zvol/rdsk/rpool/comstar
15
COMSTARの使い方 - iSCSIを実際に設定してみる
3.viewの追加stmfadm add-view <SBDのGUID>
4.viewの確認stmfadm list-view -l <SBDのGUID>
# stmfadm add-view 600144f0006c400000004bccabdd0001
$ stmfadm list-view -l 600144f0006c400000004bccabdd0001View Entry: 0 Host group : All Target group : All LUN : 0
16
COMSTARの使い方 - iSCSIを実際に設定してみる
5.iSCSI targetの作成itadm create-target -n <ターゲット名>
これでLUの公開が可能になりました。イニシエータ側から接続すればブロックデバイスとして見えます
$ itadm create-target -n iqn.1986-03.com.sun:comstar-0Target iqn.1986-03.com.sun:comstar-0successfully created
17
COMSTARの機能 - 認証(Authentication)
認証 – CHAP認証● ターゲットにCAHP認証を設定
itadm modify-target -a chap <target-iqn>
● イニシエータにパスワードの設定itadm create-initiator -s <initiator-iqn>
これでイニシエータからの接続にパスワードを設定できる
18
COMSTARの機能 - 認可(Authorization)● Target Portal Group
● IPアドレス:ポートでの入口定義● ひとつの組み合わせに1個だけ作
成可● Host Group
● イニシエータのグループ● Target Group
● ターゲットのグループ● view
● TPG,HG,TGを組み合わせた見せ方の呼称
19
● 認可(1) – Target Portal Groupによる接続制限● IPアドレスとポート番号でPortal の定義● PortalのまとまりがTarget Portal Group● イニシエータが特定のIPアドレス:ポートへアクセス
した場合のみターゲットが見える
異なるIPアドレスを持った複数のNICがある場合にアクセスを切り分けることが可能
COMSTARの応用 - 認可(Authorization)
20
● Target Portal Groupの作成itadm create-tpg <tpg-name> <IP[:Port]>
● TargetにTPGをセットitadm modify-target -t <tpg-name> <target-iqn>
● TPGの確認itadm list-tpg -v
● TPGの削除itadm delete-tpg -t <tpg-name>
COMSTARの応用 - 認可(TPG)
21
COMSTARの応用 - 認可(TPG)● TPGへの変更作業はできない
● itadm modify-tpg 的なコマンドはない● IPアドレスの変更もできない
● TPGへのターゲットの追加・削除は可能● ターゲット側へ設定する
TPG自体を変更したい場合は削除して作り直し\(^o^)/
22
COMSTARの応用 - 認可(HGとTG)● Host GroupとTarget Groupによる接続制限
● Host(イニシエータ)とTarget組み合わせでアクセスを制限できる
● 同じLUを異なるTargetで公開(異なるview)● ひとつのTargetで複数のLUを公開
柔軟なアクセスや経路の管理が可能
23
COMSTARの応用 - 認可(HGとTG)● Host Group(HG)の作成
stmfadm create-hg <HG-name>
● HGへイニシエータの追加stmfadm add-hg-member \ -g <HG-name> <イニシエータiqn>
● HGの確認stmfadm list-hg -v$ stmfadm list-hg -vHost Group: osol Member: iqn.2010-04.com.example:8b87652e
24
COMSTARの応用 - 認可(HGとTG)● HGの設定を持たせてviewの追加
stmfadm add-view -h <HG-name> <LU GUID>
● HGから対象イニシエータの削除stmfadm remove-hg-member \ -g <HG-name> <イニシエータiqn>
● HGの削除stmfadm delete-hg <HG-name>
※viewのHost Groupに設定が残っている場合は削除できないので、先にviewを削除しないとだめ
25
COMSTARの応用 - 認可(HGとTG)● Target Group(TG)の作成
stmfadm create-tg <TG-name>
● TGへのターゲットの追加stmfadm add-tg-member \
-g <TG-name> <ターゲットiqn>
26
COMSTARの応用 - 認可(HGとTG)● ただしターゲットがonline状態の場合、TGへ登録すること
ができません。仕様です。一度offline状態にします。stmfadm offline-target <ターゲットiqn>
追加後onlineに戻します。stmfadm online-target <ターゲットiqn>
● TGをセットしてviewを作成しますstmfadm add-view -t <TG-name> <LU GUID>
27
COMSTARの応用 - 認可(HGとTG)● 追加後のviewの表示
stmfadm list-view -l <LU GUID>
$ stmfadm list-view -l 600144F0006C400000004BCD25970001View Entry: 0 Host group : All Target group : osol LUN : 1
28
COMSTARおまけメモ● TGメンバーにターゲット追加後、ターゲット名を変更してもTG内のターゲット名はそのまま。新しい名前で新規に追加する必要がある。内部で紐づいて連動しているわけではない。
● ターゲットは複数のTGに所属できない。同様にイニシエータも複数のHGに所属できない。
29
COMSTARまとめ● 長々と話しましたが仕組みは難しくはありません● 単純なiSCSIとして使うだけならコマンドは2個
● itadmitadm● ターゲットの設定
● stmfadmstmfadm● STMFSTMFの設定。コアコマンド。の設定。コアコマンド。
● COMSTARでイニシエータを設定する場合(今回は未使用)● iscsiadmiscsiadm
● イニシエータのパラメータチューニング
30
COMSTAR情報● 今日お話した内容はちょっと古いですが大体ブログに書い
てます● OpenSolaris 2009.06OpenSolaris 2009.06ででCOMSTARCOMSTARを試すを試す
● http://d.hatena.ne.jp/tokuhy/20091222/1261487045● COMSTARCOMSTARででLULUととiSCSIiSCSIターゲットをグループ化するターゲットをグループ化する
● http://d.hatena.ne.jp/tokuhy/20091225/1261753437● OpenSolarisOpenSolaris自作ストレージサーバでシン・プロビジョニン自作ストレージサーバでシン・プロビジョニン
グを試すグを試す● http://d.hatena.ne.jp/tokuhy/20100108/1262959376
● Configuring iSCSI Storage Devices With COMSTAR● http://bit.ly/q9ejKw
31
質疑応答