COMSTARでiSCSI
 OpenSolaris勉強会 2011.08



   徳山 文晟 / Fumiaki Tokuyama
             twitter:@tokuhy
アジェンダ


  1.そもそもiSCSIとは何だ?
  2.SAN
  3.COMSTARってなに?
  4.COMSTARでiSCSIを設定してみる
  5.一歩進んだ設定(認証と認可)




                           2
そもそもiSCSIとは?
●   Internet Small Computer System Interface
    ●   読み方:アイスカジー
    ●   SCSIプロトコル(コマンド)を、TCP/IPのネットワーク上を経由
        で送受信する規格
    ●   なので、既存のTCP/IPのネットワーク(イーサネット)を使って
        SANを構築できます(IP-SAN)


●   ターゲットがLUを外部へ公開
●   イニシエータからターゲットへ接続してブロックデバイス
    として認識

                                               3
SAN
●   Storage Area Network
●   外部サーバのストレージへディスクとしてアクセス
    ●   ブロックデバイス
    ●   NAS(Network Attached Storage)とは違うよ
        ●   NASはファイルベースのアクセス
●   iSCSIを使うことでIP-SANを構築できる
    ●   SANと言えばFC(ファイバチャネル)が一般的
    ●   iSCSIを使ったSANをIP-SANともいう
    ●   最近だとFCoEやInfinibandなども


                                             4
もうちょっとSAN
●   ネットワーク上にあるストレージ装置のディスクへ
    アクセスして、自分のローカルディスクであるかの
    ように扱える
●   iSCSIもSCSIなので!
●   ということで、その上にファイルシステムも作成で
    きるし当然OSのインストールもできちゃいます




                          5
iSCSIのメリット


  ●   FCやInfinibandなどに比べて何がいいか




   ■機器の導入コストメリット
   ■保守・運用の人的コスト
    イーサネットなら敷居が低い

                                 6
iSCSIのデメリット
●   インターフェースの通信速度の問題
    ●
        FCは2Gbpsや4Gbpsや8Gbpsも
        ●   イーサネットの主流は1Gbps
    ●   コマンドのカプセル化のオーバーヘッド




    10GbEやCPUの進化でソフトウェアでも十分戦える


                                 7
COMSTAR


●   (Open)SolarisのOS/NetというON(kernel)が提供




            COMSTAR
         (COmmon Multiprotocol SCSI TARget )

                                               8
COMSTARの機能概要
●   COMSTARって?(1)
    ●   (Open)Solarisホストを
        SCSIターゲットデバイスに
        することができるソフト
        ウェアフレームワーク
    ●   各論理ユニット(LU)にホス
        トやターゲットのマッピン
        グが可能



                            9
COMSTARの概要
●   COMSTARって?(2)
    ●   認証(authentication)機能
        ●
            CHAP認証、RADIUS認証
    ●   認可(authorization)の機能
        ●
            Target Portal Group,Target Group,Host Groupの組み合わせ
    ●
        InfinibandやFC、FCoEも扱える




                                                                10
COMSTARの仕組み


●STMF(SCSI Target Mode
Framework)
●Port provider


●Logical Unit Provider


●Management library




詳しく知りたい人は
さとうさんの資料(pdf)を

                         11
COMSTARの環境構築
●   といっても簡単2ステップ
    1.必要なパッケージのインストール

     # pkg install storage-server

    2.サービスの起動

     # svcadm enable -r stmf
     # svcadm enable -r svc:/network/iscsi/target:default

                   これだけ!
                                                            12
COMSTAR関連のコマンド
●   itadm
    ●   iSCSIターゲット管理コマンド
    ●   iSCSIポートプロバイダの管理
●   stmfadm
    ●   STMF操作コマンド。COMSTARの中核といってよい
    ●   ポートプロバイダのリソース(ターゲット)を論理ユニット
        (LU)にマッピングする
●   iscsiadm
    ●   iSCSIイニシエータ管理コマンド
    ●   接続しに行く側(イニシエータ)の操作
                                      13
COMSTARの使い方 -                               iSCSIを実際に設定してみる


1.SCSI LU(logical unit)の ZFS volumeの作成
 # zfs create -V 100m rpool/comstar
     ●   -V:ボリュームの作成
         ちなみに-sをつけると疎ボリュームになる
2.LUの作成
 stmfadm create-lu /dev/zvol/rdsk/<pool/dataset>
 $ stmfadm create-lu /dev/zvol/rdsk/rpool/comstar

 Created the following LU:

            GUID                                   DATA SIZE           SOURCE
 --------------------------------                  -------------------    ----------------
 600144f0006c400000004bccabdd0001               104792064          /dev/zvol/rdsk/rpool/comstar

                                                                                                  14
COMSTARの使い方 -                 iSCSIを実際に設定してみる


3.viewの追加
 stmfadm add-view <SBDのGUID>
 # stmfadm add-view 600144f0006c400000004bccabdd0001

4.viewの確認
 stmfadm list-view -l <SBDのGUID>
 $ stmfadm list-view -l 600144f0006c400000004bccabdd0001
 View Entry: 0
    Host group : All
    Target group : All
    LUN        :0


                                                           15
COMSTARの使い方 -              iSCSIを実際に設定してみる


5.iSCSI targetの作成
 itadm create-target -n <ターゲット名>
 $ itadm create-target -n iqn.1986-03.com.sun:comstar-0
 Target iqn.1986-03.com.sun:comstar-0
 successfully created
これでLUの公開が可能になりました。
イニシエータ側から接続すればブロックデバイスとして見えます




                                                          16
COMSTARの機能 - 認証(Authentication)
 認証 – CHAP認証
 ●   ターゲットにCAHP認証を設定
     itadm modify-target -a chap <target-iqn>

 ●   イニシエータにパスワードの設定
     itadm create-initiator -s <initiator-iqn>


 これでイニシエータからの接続にパスワードを設定
 できる
                                                 17
COMSTARの機能 - 認可(Authorization)
●   Target Portal Group
    ●   IPアドレス:ポートでの入口定義
    ●   ひとつの組み合わせに1個だけ作
        成可
●   Host Group
    ●   イニシエータのグループ
●   Target Group
    ●   ターゲットのグループ
●   view
    ●   TPG,HG,TGを組み合わせた見せ
        方の呼称
                                 18
COMSTARの応用 - 認可(Authorization)
●   認可(1) – Target Portal Groupによる接続制限
    ●
        IPアドレスとポート番号でPortal の定義
    ●
        PortalのまとまりがTarget Portal Group
    ●   イニシエータが特定のIPアドレス:ポートへアクセス
        した場合のみターゲットが見える



        異なるIPアドレスを持った複数のNICがある場合にア
        クセスを切り分けることが可能

                                          19
COMSTARの応用 - 認可(TPG)
●   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>

                                                     20
COMSTARの応用 - 認可(TPG)
●   TPGへの変更作業はできない
    ●   itadm modify-tpg 的なコマンドはない
    ●   IPアドレスの変更もできない
●   TPGへのターゲットの追加・削除は可能
    ●   ターゲット側へ設定する


    TPG自体を変更したい場合は削除して作り直し
               \(^o^)/


                                     21
COMSTARの応用 - 認可(HGとTG)
●   Host GroupとTarget Groupによる接続制限
    ●   Host(イニシエータ)とTarget組み合わせでアクセスを制限
        できる
    ●   同じLUを異なるTargetで公開(異なるview)
    ●   ひとつのTargetで複数のLUを公開




            柔軟なアクセスや経路の管理が可能

                                           22
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 -v
    Host Group: osol
         Member: iqn.2010-04.com.example:8b87652e
                                                    23
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を削除しないとだめ
                                              24
COMSTARの応用 - 認可(HGとTG)
●   Target Group(TG)の作成
    stmfadm create-tg <TG-name>

●   TGへのターゲットの追加
    stmfadm add-tg-member 
                   -g <TG-name> <ターゲットiqn>




                                             25
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>
                                              26
COMSTARの応用 - 認可(HGとTG)
●   追加後のviewの表示
    stmfadm list-view -l <LU GUID>

    $ stmfadm list-view -l 600144F0006C400000004BCD25970001
    View Entry: 0
       Host group : All
       Target group : osol
       LUN        :1




                                                              27
COMSTARおまけメモ
●   TGメンバーにターゲット追加後、ターゲット名を
    変更してもTG内のターゲット名はそのまま。
    新しい名前で新規に追加する必要がある。
    内部で紐づいて連動しているわけではない。
●   ターゲットは複数のTGに所属できない。
    同様にイニシエータも複数のHGに所属できない。




                              28
COMSTARまとめ
●   長々と話しましたが仕組みは難しくはありません
●   単純なiSCSIとして使うだけならコマンドは2個
    ●   itadm
         ● ターゲットの設定


    ●   stmfadm
         ● STMFの設定。コアコマンド。


●   COMSTARでイニシエータを設定する場合(今回は未使用)
    ●   iscsiadm
         ● イニシエータのパラメータチューニング




                                    29
COMSTAR情報
●   今日お話した内容はちょっと古いですが大体ブログに書い
    てます
    ●   OpenSolaris 2009.06でCOMSTARを試す
        ●   http://d.hatena.ne.jp/tokuhy/20091222/1261487045
    ●   COMSTARでLUとiSCSIターゲットをグループ化する
        ●   http://d.hatena.ne.jp/tokuhy/20091225/1261753437
    ●   OpenSolaris自作ストレージサーバでシン・プロビジョニン
        グを試す
        ●  http://d.hatena.ne.jp/tokuhy/20100108/1262959376
●   Configuring iSCSI Storage Devices With COMSTAR
     ● http://bit.ly/q9ejKw

                                                               30
質疑応答




       31

COMSTARでiSCSI - OpenSolaris勉強会 2011.08

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