~Solaris 11 をマルチ・プロトコル SCSI ターゲットに~
    「もう一つのストレージ仮想化機能 “COMSTAR”概要」
日本オラクル株式会社システム事業統括ソリューション統括本部プロダクトマネジメント本部
シニアセールスコンサルタント 佐藤和幸
1   Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
以下の事項は、弊社の一般的な製品の方向性に関する概要を説明するものです。
また、情報提供を唯一の目的とするものであり、いかなる契約にも組み込むことは
できません。以下の事項は、マテリアルやコード、機能を提供することをコミットメン
ト(確約)するものではないため、購買決定を行う際の判断材料になさらないで下さ
い。オラクル製品に関して記載されている機能の開発、リリースおよび時期につい
ては、弊社の裁量により決定されます。

    OracleとJavaは、Oracle Corporation 及びその子会社、関連会社の米国及びその他の国における登録商標です。
    文中の社名、商品名等は各社の商標または登録商標である場合があります。


2    Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
Program Agenda


    • COMSTAR 概要
    • iSCSIをつかってみよう
    • VirtualBoxでiSCSIを使ってみる
    • iSCSI における冗長化構成




3   Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
COMSTAR 概要


4   Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
ストレージの仮想化機能 “ZFS”
    スケールアウト指向の組み込まれたデータサービス




           圧縮                                    レプリケーション                    flash deviceと       重複排除   データ暗号化
                                                                              組み合わせる
                                                                           hybrid storage pool
                            重複排除で10倍の利用効率
                        チェックサムによるデータ破壊からの保護
                   仮想化されたストレージリソースを利用した高速なプロビジョニング

5   Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
ストレージの仮想化機能 “COMSTAR”
    マルチ・プロトコルSCSIターゲット機能
    • ホストをSCSIターゲットデバイスに
                   • FibreChannel, Ethernet, InfiniBand を
                     利用してストレージを提供可能に
                      – iSCSI, iSER, FCoE, SRP など多数の
                         ストレージ・プロトコルをサポート
                      – Ethernet を利用した iSCSI Target を
                         構成するならば、追加コストなし
                      – ターゲットとして公開される領域にはZFS
                         を利用 (zvol)



6   Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
ストレージの仮想化機能 “COMSTAR”
    SCSI Target Mode Framework (STMF)
    • STMFが中核となり、下記のサービスを提供
          – COMSTARの構成要素
                   • Logical-Unit Proveider(+ SCSI block device)
                   • Port Proveider (Target サービス)
                   • libstmfによる管理インターフェース
    • これがCOMSTARのコアとなる実装




7   Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
ストレージの仮想化機能 “COMSTAR”
    LUを構成する Logical-unit Provider
    • SCSI Logical-unitを構成するためのもの
          – SCSI block deviceを作成し、SCSI LUとしてSTMF Frameworkに登
            録(Regist)する
                   • SCSI block deviceを作成するには、backing storeが必要に
          – STMF Frameworkに登録されると、GUIDと呼ばれるユニークなIDが
            割り当てられる
          – この割り当てられたGUIDを使ってTargetの結び付きを行う
                                                                           # sbdadm list-lu
                                                                           Found 2 LU(s)

                                                                                         GUID                   DATA SIZE            SOURCE
                                                                           -------------------------------- -------------------   ----------------
                                                                           600144f00003ba12ba194bd6ec950001 21474836480           /dev/zvol/rdsk/rpool2/fct-volume.01
                                                                           600144f00003ba12ba194bd7a0e10002 36417050624           /dev/rdsk/c0t1d0s0


8   Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
ストレージの仮想化機能 “COMSTAR”
    SCSI Target機能を構成する Port Provider (SCSI Target Port)
    • 何らかのインターフェースを利用してtarget機能を提供する
          –      Ethernet (iSCSI)
          –      Fiber Channel (FC, FCoE)
          –      InifiniBand(iSER..)
          –      SAS(未サポート)
    • STMF Frameworkを通してLogical-unit Providerと結び付く
    • SCSIコマンドをLUに運ぶ役割を担う
    • target毎に異なる管理コマンドで操作

9   Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
ストレージの仮想化機能 “COMSTAR”
     管理インターフェース - libstmf
     • STMF Frameworkを操作するためのAPI群
           – Target作成コマンド(itadm, srptadm など)
           – sbdadm/stmfadmコマンド
     • Initiatorはlibstmfで提供されるAPIは利用していない
           – iscsiadm コマンド等
           – そのため、initiator自身はSTMFの影響を受けない
           – Targetとの接続には、既存の方法がそのまま利用される
                    • COMSTAR特有の接続方法は必要なし



10   Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
ストレージの仮想化機能 “COMSTAR”
      管理インターフェース - stmfadm
                                                                             $ stmfadm
                                                                             使用法:        stmfadm -?,-V,--help

• stmfadmコマンド                                                                使用法:
                                                                             使用法:
                                                                             使用法:
                                                                                         stmfadm add-hg-member [-?]
                                                                                         stmfadm add-tg-member [-?]
                                                                                         stmfadm add-view [-?]
  – STMF Frameworkを操作するコマンド                                                  使用法:
                                                                             使用法:
                                                                                         stmfadm create-hg [-?]
                                                                                         stmfadm create-tg [-?]
                                                                             使用法:        stmfadm create-lu [-?]
  – backing storeからSCSI block deviceを                                        使用法:        stmfadm delete-hg [-?]
                                                                             使用法:        stmfadm modify-lu [-?]
    作成しLogical-unitとしてSTMF                                                   使用法:        stmfadm delete-lu [-?]
                                                                             使用法:        stmfadm delete-tg [-?]
    Frameworkに登録するためのコマンド                                                    使用法:        stmfadm import-lu [-?]
                                                                             使用法:        stmfadm list-hg [-?]
  – Logical-unitの操作や、target/host group                                       使用法:
                                                                             使用法:
                                                                                         stmfadm list-lu [-?]
                                                                                         stmfadm list-state [-?]
    の操作、Port Providerとの紐付けなど                                                 使用法:
                                                                             使用法:
                                                                                         stmfadm list-target [-?]
                                                                                         stmfadm list-tg [-?]
                                                                             使用法:        stmfadm list-view [-?]
                                                                             使用法:        stmfadm online-lu [-?]
                                                                             使用法:        stmfadm offline-lu [-?]
                                                                             使用法:        stmfadm online-target [-?]
                                                                             使用法:        stmfadm offline-target [-?]
                                                                             使用法:        stmfadm remove-hg-member [-?]
                                                                             使用法:        stmfadm remove-tg-member [-?]
                                                                             使用法:        stmfadm remove-view [-?]




 11   Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
ストレージの仮想化機能 “COMSTAR”
                                                                                        libstmf



                                                                                        LU Provider




                                                                                        Port Provider




            12   Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
© 2011 Oracle Corporation – Proprietary and Confidential
ストレージの仮想化機能 “COMSTAR”
     COMSTARを利用するための準備
     • Oracle Solaris 11の動作するホストを用意
     • パッケージのインストール
           – # pkg install storage-server
     • サービスの有効化
           – # svcadm enable stmf
     • COMSTARによる SCSI ターゲットサービスが提供可能に
           – ソフトウェアによるフレームワークの実装であるため容易に導入可能
           – 非大域ゾーンでは利用できません

13   Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
ストレージの仮想化機能 “COMSTAR”
     SCSIターゲットができるまでのまとめ
 Logical-unit providerの担当                                                       Port Providerの担当                     Initiator との接続
 • backing store を用意                                                            • そして、Target の作成                     • Initiator から Target へ接続
 • backing store を SCSI block                                                   • Logical-unit を紐づける Target を選          • Target が利用するストレー
   device へ変換                                                                     定                                       ジプロトコルをサポートして
 • stmfadmでSCSI clock deviceを                                                      • iSCSI, FC, Inifiniband など....        いるかを確認
   STMF Frameworkに登録し、                                                          • Targetの作成                             • COMSTAR を考慮した特
   Logical-unitに変身させる                                                              • iSCSI なら/usr/sbin/itadm
                                                                                                                          別な接続方法は必要ない
 • ここまでがLogical-unit provider                                                      • SRPなら/usr/sbin/srptadm
                                                                                                                     • 外部ディスクとして認識
   の担当


     •       backing store とは
               – 実データを格納するための入れ物
               – 利用可能なものは、
                     – ディスク、スライス, raw/block device (zvol 含む), ファイル

14       Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
iSCSI
                                              を使ってみよう

15   Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
iSCSIとは?


     • Small Computer System Interface (SCSI)
        – コンピュータと機器を接続し、利用するための標準規格
     • Sun Common SCSI Architecture (SCSA)
        – Solarisに実装されるSCSIを扱うための共通アーキテクチャ
     • ディスクを扱うために普通に利用している機能
       – sd/ssd driverがSCSIプロトコルを使ってデバイスと会話
                       • Fibre Channel, iSCSI, Parallel SCSI, SAS, etc...

     • Solarisは、このような機能をあらかじめ持っています
        – 特に気にする必要はありません
16   Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
iSCSIとは?
     iSCSIは通信プロトコルです
     • Internet Small Computer System Interface (iSCSI)
            – IETF IP Storageワーキンググループにて策定(RFC 3720)
     • TCP/IPネットワーク経由にてSCSIコマンドを送信する通信プロトコル
            – SCSIコマンドをTCP/IPパケットでカプセル化しデータ通信を実現
     • ネットワーク上のストレージをローカルデバイスとして扱うことが可能に
                                SCSI                                                         SCSI
サーバ                           コマンド/データ                                                    レスポンス/データ
                                                                                                      ストレージ
                                         SCSI                               SCSIプロトコル         SCSI
                                        iSCSI                               iSCSIプロトコル        iSCSI
                                         TCP                                TCP/IPプロトコル        TCP
                                          IP                                                    IP
                                         Link                                   IP             Link
                                         PHY                                 network           PHY

17   Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
iSCSI Bootとは?
             • iSCSIを利用するために押さえておくべき事柄
             – iSCSI Initiator
                         •      SCSIコマンドを発行する役割を持つ
             – iSCS Target
                         •      Initiatorから発行されたコマンドを処理する役割持つ
             – iSCSI Name (RFC 3721)
                         •      ノード識別や管理の為に利用される名前。
                                – iSCSI Qualified Nameやiqnと呼ばれる
                                    – iSCSI Initiator/Targetに割り当てられる名前
                                        • 全世界で唯一であることが求められる
                                                                                              iSCSI Name:
      iSCSI Name: iqn.1986-03.com.intel:s10u9                                                 iqn.1986-03.com.sun:02:760428f9-f1fc-ed2f-9102-bf0e4e27eeb9

                                        SCSI                                           IP                      SCSI
                                      コマンド/データ                                      network                 レスポンス/データ                     iSCSI target
iSCSI Initiator
        18   Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
ストレージの仮想化機能 “COMSTAR”
     例: iSCSI Target の作成
     • COMSTARのインストールからLUの作成まで
           # pkg install storage-server
           # svcadm enable stmf
           # zfs create -p -V 4g rpool/zvol/testVolume                                     ZFS 上に 4GB の zvol を作成
           # stmfadm create-lu /dev/zvol/rdsk/rpool/zvol/testVolume                              testVolume を LU として登録
           Logical unit created: 600144F0080027E5D1964EE09C570001
           # stmfadm add-view 600144F0080027E5D1964EE09C570001                                           target と結びつけるため view に追加

     • iSCSI Targetの作成
           # svcadm enable –r svc:/network/iscsi/target:default (初回のみ)
           # itadm create-target                                         iSCSI target を作成
           Target iqn.1986-03.com.sun:02:1ff9b930-7298-c82e-be3b-ad392d9d674f successfully created                 iqn が生成される



     • iSCSI Initiator からの接続 (Solaris iSCSI Initiator の場合)
                                                                            target 探索用 IP address をセット
            # iscsiadm add discovery-address 10.0.2.2
            # iscsiadm modify discovery –t enable                                                        target の探索開始!


19   Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
ストレージの仮想化機能 “COMSTAR”
     その他
     • FC Target や iSCSI Targetなど複数の Target を立てた場合
           – そのままでは、LU が全てのTargetから参照可能
           – host/target groupを作成し、Targetと結び付けるマスキング機能を提供
     • Multipathによる冗長化
           – Initiator側で提供される冗長化ソフトウェアを利用可能
                    • Solaris は MPxIO
           – COMSTARに依存した設定等は必要なし
     • その他のプロトコルを利用する場合でも、
           – LUの作成手順は、すべて同一手順で可能
20   Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
VirtualBox で
                          iSCSIを使ってみる


21   Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
VirtualBox in Oracle Solaris 11 Zones
     Solaris Zones に構成可能な Oracle VM VirtualBox
     • Oracle VM VirtualBox
           – 強力なクロスプラットフォーム仮想化ソフトウェア
           – Oracle Solaris 11 をホストOSとしてサポート
                    • Solais 11上に Solaris, Windows や Linux 環境を構築可能
     • Oracle Solaris Zones Ready
           – Solaris Zones 上での動作をサポート
           – Solaris 11 では Crossbow の仮想NICと連携可能
           – COMSTAR iSCSI target も利用可能                                     https://www.virtualbox.org/

                    • ストレージを iSCSI にすることでゾーンをコンパクトに運用することも可能
                    • VirtualBoxにiSCSI Initiator機能を搭載
22   Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
VirtualBox in Oracle Solaris 11 Zones
     開発環境としての仮想環境                                                                                          vbox-zone02

     • VirtualBox がサポートする OS を Solaris                                                               vbox-zone01
       ホストに集約                                                                                 Solaris 11     VirtualBox
           – Solaris では提供できないサービス                                            Solaris 11
             (他OSに特化した)の提供など                                                                                 Windows

     • Windows, Linux などの開発環境として                                            VirtualBox
       利用可能                                                                 Windows

     • Solaris Zones 単位で VirtualBox を
       動作させることで可搬性の向上を狙う
                                                                                global zone
           – VBox の HDD に iSCSI LUN を割り当てるなど
                                                                                                 e1000g0
     • Solaris 使いとしては、これを ZFS data
       stream 化できることに喜びを感じる
                                                                                                                iSCSI
                                                                                                                 LUN

23   Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
VirtualBox in Oracle Solaris 11 Zones
     開発環境としての仮想環境                                                                                          vbox-zone02

     • サンプル環境の作成方法                                                                                   vbox-zone01
           – 右図の赤い線に囲われている環境を作成
                                                                                              Solaris 11     VirtualBox
     • 大域ゾーンへ VirtualBox をインストール                                             Solaris 11
                                                                                                             Windows
           – カーネル・モジュールが提供する機能を利用する
             必要がある為                                                         VirtualBox
                    # pkgadd –d VirtualBox-4.1.12-SunOS-r77218.pkg          Windows


     • 続いて、非大域ゾーンを作成
                                                                                global zone
           – 非大域ゾーンを作成し、こちらにも VirtualBox を
             インストールする                                                                            e1000g0



                                                                                                                iSCSI
                                                                                                                 LUN

24   Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
VirtualBox in Oracle Solaris 11 Zones
     ゾーンの構成と VirtualBox のインストール
     • 非大域ゾーンの構成 (下記は構成例)
                                                                                            ゾーンの構成開始
                    # /usr/sbin/zonecfg -z VBox_Windows_7
                    zonecfg:VBox_Windows_7> create
                    zonecfg:VBox_Windows_7> set autoboot=true
                    zonecfg:VBox_Windows_7> set zonepath=/rpool/zones/VBox_Windows7
                    zonecfg:VBox_Windows_7> add device
                    zonecfg:VBox_Windows_7:device> set match=/dev/vboxdrv       add device は、大域ゾーンの device file
                    zonecfg:VBox_Windows_7:device> end                          を非大域ゾーンでも利用するために指定
                    zonecfg:VBox_Windows_7> add device
                    zonecfg:VBox_Windows_7:device> set match=/dev/vboxusbmon    (必須)
                    zonecfg:VBox_Windows_7:device> end
                    zonecfg:VBox_Windows_7> commit
                    zonecfg:VBox_Windows_7> exit                        ゾーンのデプロイ
                    # zoneadm –z VBox_Windows_7 install
                    # zoneadm –z VBox_Windows_7 boot
                                                                                            ゾーンの起動
                    # zlogin –C VBox_Windows_7
                                                                                                       ゾーンへのログイン


           – ネットワークは、anet リソースを使用した仮想 NIC自動生成機能にて対応
                    • anet リソース設定は、 すでに設定されている(create より自動生成)
                    • VirtualBox は、この仮想NICをブリッジアダプタとしても利用可能
                        – NAT ,内部ネットワークなども利用可能

25   Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
VirtualBox in Oracle Solaris 11 Zones
     ゾーンの構成と VirtualBox のインストール
     • zlogin コマンドで非大域ゾーンへログイン
           – ネットワーク設定などを実施後、ssh で大域ゾーン等からログイン可能
     • 非大域ゾーンに IPS からパケージを追加                                                大域ゾーンからIPSリポジトリへアクセス
                                                                            可能であれば、組み込まれた Proxy に
           – VirtualBox を動作させるためのパッケージをインストール                               より、非大域ゾーンからもアクセス可能

                    # pkg install X-all



           – 非大域ゾーンは、大域ゾーンの IPS情報を利用するため設定不要

     • 非大域ゾーンにも VirtualBox をインストール                                              大域ゾーンと非大域ゾーンには
                                                                                必ず同一バージョンの VirtualBox
           – VirtualBox を、非大域ゾーンで動作させるため                                        をインストールすること
                    zones # pkgadd –d VirtualBox-4.1.10-SunOS-r76795.pkg




26   Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
VirtualBox in Oracle Solaris 11 Zones
     非大域ゾーンのネットワーク構成例
     • 物理NIC(net0)から仮想NICが生成され割り当てられる
           – 非大域ゾーンの OS は物理 NICとして認識
           – VirtualBox は、このNICをブリッジインターフェース                                global zone        vbox-zone
             として利用可能
           – 構成例では、それぞれ同一ネットワークに接続して                                                                           VirtualBox
             いることになる                                                         Solaris 11      Solaris 11         Windows

     • 外部からみた場合は、完全に独立した
                                                                                  net0           net0 (vnic)
       環境を構成可能
     • リソースが許せば複数のVBox環境を動作可能
     • VBoxのストレージは iSCSI LUN に外出し可能                                                       同一ネットワークへの接続
           – VBox 自身が iSCSI Initiator の機能を持つ



27   Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
VirtualBox in Oracle Solaris 11 Zones
     COMSTARとの連携 - iSCSI Target の作成
     • ゲストVMで利用するストレージを iSCSI LUNとして外出しする例
     • COMSTARを利用した、40GBのiSCSI LUN 作成例
           # pkg install storage-server
           # svcadm enable stmf
           # zfs create -p -V 40g rpool/zvol/testVolume                         ZFS 上に 40GB の zvol を作成
           # stmfadm create-lu /dev/zvol/rdsk/rpool/zvol/testVolume
           Logical unit created: 600144F0080027E5D1964EE09C570001
                                                                                                               testVolume を LU として登録
           # stmfadm add-view 600144F0080027E5D1964EE09C570001                             target と結びつけるため view に追加

     • iSCSI Targetの作成
           # svcadm enable –r svc:/network/iscsi/target:default (初回のみ)
           # itadm create-target                                                                     iSCSI target を作成
           Target iqn.1986-03.com.sun:02:1ff9b930-7298-c82e-be3b-ad392d9d674f successfully created                      iqn が生成される




28   Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
VirtualBox in Oracle Solaris 11 Zones
     COMSTARとの連携 - iSCSI LUNの利用
     • VirtualBox に iSCSI LUN を登録
           –      VirtualBox 自身が iSCSI Initiator の機能を持つ
           –      VirtualBox 4.x では CUI でのみ iSCSI LUN を登録可能
           –      VM: dummy を登録し、これをベースに iSCSI LUN を登録 (登録後は削除する)
           –      Virtual Media Manager に登録される為、以降の VM作成時にストレージとして指定可能
           –      起動ディスクにすることで、ゾーンで抱えるデータを最小限にすることが可能

           $ /opt/VirtualBox/VBoxManage createvm -name dummy --register

           $ VBoxManage storagectl dummy --name "SATA Controller" --add sata --controller IntelAHCI
                                                                                              ※192.168.10.254 – iSCSI Target
           $ /opt/VirtualBox/VBoxManage storageattach dummy ¥
           --storagectl "SATA Controller" --port 0 --device 0 --type hdd --medium iscsi ¥
           --server 192.168.10.254 --target iqn.1986-03.com.sun:02:1ff9b930-7298-c82e-be3b-ad392d9d674f



29   Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
VirtualBox in Oracle Solaris 11 Zones
     Solarisの仮想化機能をフルに活用した一例
     • 利用されるSolarisの仮想化機能
           – Solaris Zones (隔離された実行環境)
           – Crossbow (仮想ネットワーク)
           – COMSTAR (仮想ストレージ)
           – ZFS (データ管理)




30   Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
iSCSIにおける
                                               冗長化構成

31   Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
iSCSI における冗長化構成について
     冗長化の必要性
     • iSCSIは、TCP/IPを利用するプロトコル
        – ネットワークで起こる問題は、iSCSIの障害要因に
                       • NICやスイッチの故障、断線などいろいろ

     • さらにiSCSIはSCSIデバイスを扱っているのと同等
       – iSCSI Targetから提供されるLUNへの冗長化も考慮する必要がある
     • ネットワークとSCSIデバイスの冗長化が必要に




32   Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
iSCSI における冗長化構成について
     簡単な冗長化構成の例                                                                        Initiator Node
     • Initiator側は2つのNICを持ち
         1つのiSCSI Targetへのネット                                                              iSCSI Initiator
         ワークとLUNへのパスを                                                          iSCSI
                                                                                       NIC            NIC
                                                                               HBA
         冗長化構成にする

                                                                                                IP
     • iSCSI Targetは 2 つの NICを持ち                                                              Network
         ネットワークパスの冗長化を確保
         する必要がある                                                                       NIC           NIC

                                                                             iSCSI Target           LUN
                                                                                                     0
                                                                            Storage Node

33   Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
iSCSI における冗長化構成について
     冗長化が必要な部分
     • IP LayerとSCSI Layerのfailover機構が必要に
        – ネットワークの冗長化
                       • IP Layerの冗長化
                                  – IPMP機能によるネットワーク・パスの冗長化
            – LUNへのパス冗長化
                       • SCSI Layerの冗長化
                                  – iSCSI MS/TにSCSI Layerの冗長化
                                     • iSCSI Multi Session Per Target

     • IPMP+iSCSI MS/Tで冗長化を構成することが可能

34   Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
iSCSI における冗長化構成について
     IPMPによるIP Layerの冗長化(Solaris 10)
     • IPMPを利用したIP Layerの冗長化
            – iSCSI HBAとは異なるNICを追加で用意
            – /etc/hostname.e1000g0 (iSCSI HBA)
                • 192.168.200.100 netmask + broadcast + group ipmp0 up
            – /etc/hostname.e1000g1 (追加NIC)
                • group ipmp0 up
            – 再起動でIPMP リンクベース障害検出機能が有効になる
# ifconfig -a
e1000g0: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 1
        inet 192.168.200.100 netmask ffffff00 broadcast 192.168.200.255
        groupname ipmp0
        ether 0:1b:21:76:f:a1
e1000g1: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 3
        inet 0.0.0.0 netmask ff000000 broadcast 0.255.255.255
        groupname ipmp0
        ether 0:1b:21:77:81:32

35   Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
iSCSI における冗長化構成について
     IPMPによるIP Layerの冗長化 (Solaris 11)
     • IPMPを利用したIP Layerの冗長化
            – 2 つの NIC を用意
            – ネットワークは手動構成が必須
                   – # netadm enable –p ncp DefaultFixed
            – ipadm コマンドで IPMP interface を構成
                         # ipadm create-ip net0
                         # ipadm create-ip net1
                         # ipadm create-ipmp -i net0 -i net4 ipmp1
                         # ipadm create-addr -T static -a 192.168.10.13/24 ipmp1/v4
                         # ipmpstat –a
                         ADDRESS                   STATE GROUP        INBOUND     OUTBOUND
                         ::                        down   ipmp1       --          --
                         192.168.10.13             up     ipmp1       net5        net5 net1




36   Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
iSCSI における冗長化構成について
     IPMPによるIP Layerの冗長化
     • NICの疑似障害によるインターフェースのfailover
        – IPMPの機能により、追加NIC(e1000g1)の論理インターフェースが作成
          され failoverが完了する
     • e1000g0 (iSCSI HBA)に疑似障害を発生
     # if_mpadm -d e1000g0
     # ifconfig -a
     e1000g0: flags=89000842<BROADCAST,RUNNING,MULTICAST,IPv4,NOFAILOVER,OFFLINE> mtu 0 index 1
             inet 0.0.0.0 netmask 0
             groupname ipmp0
             ether 0:1b:21:76:f:a1
     e1000g1: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 3
             inet 0.0.0.0 netmask ff000000 broadcast 0.255.255.255
             groupname ipmp0
             ether 0:1b:21:77:81:32
     e1000g1:1: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 3
             inet 192.168.200.100 netmask ffffff00 broadcast 192.168.200.255


37   Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
iSCSI における冗長化構成について (Initiator)
     iSCSI MS/Tを利用したSCSI Layerの冗長化
     • iSCSI MS/Tを利用したscsi device layerの冗長化
        – initiatorから複数のセッションを1つのTarget(group)に張る
                       • 内部的にmultipath機能が有効に

                                        # iscsiadm modify initiator-node -c 2
     iscsi: [ID 240218 kern.notice] NOTICE: iscsi session(13)               設定可能なセッション数: 1 - 4
     iqn.1986-03.com.sun:02:760428f9-f1fc-ed2f-9102-bf0e4e27eeb9 online
     genunix: [ID 834635 kern.info] /scsi_vhci/disk@g600144f05a8c0e0000004cc284780001
      (sd0) multipath status: optimal, path /iscsi (iscsi0) to target address:
     0004iqn.1986-03.com.sun:02:760428f9-f1fc-ed2f-9102-bf0e4e27eeb90001,0
     is online Load balancing: round-robin
     genunix: [ID 834635 kern.info] /scsi_vhci/disk@g600144f05a8c0e0000004cc284780001
      (sd0) multipath status: degraded, path /iscsi (iscsi0) to target address:
     0000iqn.1986-03.com.sun:02:760428f9-f1fc-ed2f-9102-bf0e4e27eeb90001,0
     is offline Load balancing: round-robin
     iscsi: [ID 328943 kern.notice] NOTICE: iscsi session(10)
     iqn.1986-03.com.sun:02:760428f9-f1fc-ed2f-9102-bf0e4e27eeb9 offline

38   Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
iSCSI における冗長化構成について (Initiator)
     iSCSI MS/Tを利用したSCSI Layerの冗長化
     • iSCSI MS/T無効時
        – Path Countの変化に注目
                     # mpathadm list lu
                             /dev/rdsk/c0t600144F05A8C0E0000004CC284780001d0s2
                                     Total Path Count: 2
                                     Operational Path Count: 1 この状態では、ネットワーク側の冗長化は機能しているが
                                                                            iSCSI Targetへのセッションが1つであるためfailoverに失敗する


     • iSCSI MS/T有効時
               – Path Countの変化に注目
                      # mpathadm list lu
                              /dev/rdsk/c0t600144F05A8C0E0000004CC284780001d0s2
                                      Total Path Count: 3
                                      Operational Path Count: 2    Path Countが増え、iSCSI Targetへのセッションが
                                                                   2つになる
                                                                   この状態になることで、failoverが可能になる


39   Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
iSCSI における冗長化構成について (Initiator)
     MS/Tによるセッションの確認

# iscsiadm list target -S (-vを追加することで、詳細を出力)
Target: iqn.1986-03.com.sun:02:760428f9-f1fc-ed2f-9102-bf0e4e27eeb9
        Alias: -
        TPGT: 1
                                                                            セッションが1つ増えたことにより
        ISID: 4000002a0001
        Connections: 1
                                                                            新たなセッションIDが生成される
                                                           ※追加されたセッション情報
        LUN: 0
             Vendor: SUN
             Product: COMSTAR
             OS Device Name: /dev/rdsk/c0t600144F05A8C0E0000004CC284780001d0s2

Target: iqn.1986-03.com.sun:02:760428f9-f1fc-ed2f-9102-bf0e4e27eeb9
        Alias: -
        TPGT: 1
        ISID: 4000002a0000
        Connections: 1
                                                                                 ISID = Initiator Session ID
        LUN: 0                                             ※既存のセッション情報
             Vendor: SUN
             Product: COMSTAR
             OS Device Name: /dev/rdsk/c0t600144F05A8C0E0000004CC284780001d0s2


40   Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
iSCSI における冗長化構成について
     まとめ
     • Initiator側の冗長化構成
           – 2 つのパスで冗長化構成を行う必要がある
                    • ネットワークパス (IPMP, Link Aggregation)
                    • LUN へのパス (iSCSI MS/T, MC/S)
     • Target側の冗長化構成
           – ネットワークパスのみ冗長化構成
                    • IPMP, Link Aggregation を使用




41   Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
参考情報
     ストレージの仮想化機能 “COMSTAR”
     • Oracle Solaris の管理: デバイスとファイルシステム
       第 14 章 COMSTAR を使用した iSCSI ストレージデバイスの構成
       http://docs.oracle.com/cd/E26924_01/html/E25880/fmvcd.html#scrolltoc
     • Oracle Solaris 10 の新インストール技術 – iSCSI Boot Support (iSCSI の冗長化構成)
       http://www.slideshare.net/satokaz/oracle-solaris-10u9iscsiboot20101111public
     • PSARC/2007/523 COMSTAR: Common Multiprotocol SCSI Target
       http://arc.opensolaris.org/caselog/PSARC/2007/523/
     • PSARC/2008/235 SCSI Block Disk Provider for COMSTAR
       http://arc.opensolaris.org/caselog/PSARC/2008/235
     • PSARC/2008/587 iSCSI Port Provider for COMSTAR
       http://arc.opensolaris.org/caselog/PSARC/2008/587
     • PSARC/2008/434 libstmf enhancement for provider data
       http://arc.opensolaris.org/caselog/PSARC/2008/434
42   Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
参考情報
     Oracle Solaris 11 をすぐに試せる VM テンプレート
     • Oracle Solaris 11 VM Downloads
         http://www.oracle.com/technetwork/server-storage/solaris11/downloads/virtual-
         machines-1355605.html
           – Oracle Solaris 11 VM for Oracle VM VirtualBox
                    • VirtualBox にインポートするだけで Oracle Solaris 11 を試用可能
           – Oracle VM Template for Oracle Solaris 10 Zones for SPARC/x86
                    • Oracle Solaris 10 Zones の構成情報テンプレート
                    • Oracle Solaris 11 VM for Oracle VM VirtualBox と組み合わせることで、
                      VirtulBox 上で Solaris 11 と Solaris 10 Zones の試用環境を構築可能
                    • Solaris 11が動作する環境にて利用可能


43   Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
参考情報

     • 製品情報とダウンロード
           – oracle.co.jp/solaris
     • Oracle Technology Network
           – http://www.oracle.com/technetwork/jp/server-
             storage/solaris11/overview/index.html
     • System administrators community
           – oracle.com/technetwork/systems
     • @ORCL_Solaris
     • facebook.com/SolarisJP


44   Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
45   Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
46   Copyright © 2012, Oracle and/or its affiliates. All rights reserved.

~Solaris 11 をマルチ・プロトコル SCSI ターゲットに~ 「もう一つのストレージ仮想化機能 “COMSTAR”概要」

  • 1.
    ~Solaris 11 をマルチ・プロトコルSCSI ターゲットに~ 「もう一つのストレージ仮想化機能 “COMSTAR”概要」 日本オラクル株式会社システム事業統括ソリューション統括本部プロダクトマネジメント本部 シニアセールスコンサルタント 佐藤和幸 1 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  • 2.
    以下の事項は、弊社の一般的な製品の方向性に関する概要を説明するものです。 また、情報提供を唯一の目的とするものであり、いかなる契約にも組み込むことは できません。以下の事項は、マテリアルやコード、機能を提供することをコミットメン ト(確約)するものではないため、購買決定を行う際の判断材料になさらないで下さ い。オラクル製品に関して記載されている機能の開発、リリースおよび時期につい ては、弊社の裁量により決定されます。 OracleとJavaは、Oracle Corporation 及びその子会社、関連会社の米国及びその他の国における登録商標です。 文中の社名、商品名等は各社の商標または登録商標である場合があります。 2 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  • 3.
    Program Agenda • COMSTAR 概要 • iSCSIをつかってみよう • VirtualBoxでiSCSIを使ってみる • iSCSI における冗長化構成 3 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  • 4.
    COMSTAR 概要 4 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  • 5.
    ストレージの仮想化機能 “ZFS” スケールアウト指向の組み込まれたデータサービス 圧縮 レプリケーション flash deviceと 重複排除 データ暗号化 組み合わせる hybrid storage pool 重複排除で10倍の利用効率 チェックサムによるデータ破壊からの保護 仮想化されたストレージリソースを利用した高速なプロビジョニング 5 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  • 6.
    ストレージの仮想化機能 “COMSTAR” マルチ・プロトコルSCSIターゲット機能 • ホストをSCSIターゲットデバイスに • FibreChannel, Ethernet, InfiniBand を 利用してストレージを提供可能に – iSCSI, iSER, FCoE, SRP など多数の ストレージ・プロトコルをサポート – Ethernet を利用した iSCSI Target を 構成するならば、追加コストなし – ターゲットとして公開される領域にはZFS を利用 (zvol) 6 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  • 7.
    ストレージの仮想化機能 “COMSTAR” SCSI Target Mode Framework (STMF) • STMFが中核となり、下記のサービスを提供 – COMSTARの構成要素 • Logical-Unit Proveider(+ SCSI block device) • Port Proveider (Target サービス) • libstmfによる管理インターフェース • これがCOMSTARのコアとなる実装 7 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  • 8.
    ストレージの仮想化機能 “COMSTAR” LUを構成する Logical-unit Provider • SCSI Logical-unitを構成するためのもの – SCSI block deviceを作成し、SCSI LUとしてSTMF Frameworkに登 録(Regist)する • SCSI block deviceを作成するには、backing storeが必要に – STMF Frameworkに登録されると、GUIDと呼ばれるユニークなIDが 割り当てられる – この割り当てられたGUIDを使ってTargetの結び付きを行う # sbdadm list-lu Found 2 LU(s) GUID DATA SIZE SOURCE -------------------------------- ------------------- ---------------- 600144f00003ba12ba194bd6ec950001 21474836480 /dev/zvol/rdsk/rpool2/fct-volume.01 600144f00003ba12ba194bd7a0e10002 36417050624 /dev/rdsk/c0t1d0s0 8 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  • 9.
    ストレージの仮想化機能 “COMSTAR” SCSI Target機能を構成する Port Provider (SCSI Target Port) • 何らかのインターフェースを利用してtarget機能を提供する – Ethernet (iSCSI) – Fiber Channel (FC, FCoE) – InifiniBand(iSER..) – SAS(未サポート) • STMF Frameworkを通してLogical-unit Providerと結び付く • SCSIコマンドをLUに運ぶ役割を担う • target毎に異なる管理コマンドで操作 9 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  • 10.
    ストレージの仮想化機能 “COMSTAR” 管理インターフェース - libstmf • STMF Frameworkを操作するためのAPI群 – Target作成コマンド(itadm, srptadm など) – sbdadm/stmfadmコマンド • Initiatorはlibstmfで提供されるAPIは利用していない – iscsiadm コマンド等 – そのため、initiator自身はSTMFの影響を受けない – Targetとの接続には、既存の方法がそのまま利用される • COMSTAR特有の接続方法は必要なし 10 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  • 11.
    ストレージの仮想化機能 “COMSTAR” 管理インターフェース - stmfadm $ stmfadm 使用法: stmfadm -?,-V,--help • stmfadmコマンド 使用法: 使用法: 使用法: stmfadm add-hg-member [-?] stmfadm add-tg-member [-?] stmfadm add-view [-?] – STMF Frameworkを操作するコマンド 使用法: 使用法: stmfadm create-hg [-?] stmfadm create-tg [-?] 使用法: stmfadm create-lu [-?] – backing storeからSCSI block deviceを 使用法: stmfadm delete-hg [-?] 使用法: stmfadm modify-lu [-?] 作成しLogical-unitとしてSTMF 使用法: stmfadm delete-lu [-?] 使用法: stmfadm delete-tg [-?] Frameworkに登録するためのコマンド 使用法: stmfadm import-lu [-?] 使用法: stmfadm list-hg [-?] – Logical-unitの操作や、target/host group 使用法: 使用法: stmfadm list-lu [-?] stmfadm list-state [-?] の操作、Port Providerとの紐付けなど 使用法: 使用法: stmfadm list-target [-?] stmfadm list-tg [-?] 使用法: stmfadm list-view [-?] 使用法: stmfadm online-lu [-?] 使用法: stmfadm offline-lu [-?] 使用法: stmfadm online-target [-?] 使用法: stmfadm offline-target [-?] 使用法: stmfadm remove-hg-member [-?] 使用法: stmfadm remove-tg-member [-?] 使用法: stmfadm remove-view [-?] 11 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  • 12.
    ストレージの仮想化機能 “COMSTAR” libstmf LU Provider Port Provider 12 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. © 2011 Oracle Corporation – Proprietary and Confidential
  • 13.
    ストレージの仮想化機能 “COMSTAR” COMSTARを利用するための準備 • Oracle Solaris 11の動作するホストを用意 • パッケージのインストール – # pkg install storage-server • サービスの有効化 – # svcadm enable stmf • COMSTARによる SCSI ターゲットサービスが提供可能に – ソフトウェアによるフレームワークの実装であるため容易に導入可能 – 非大域ゾーンでは利用できません 13 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  • 14.
    ストレージの仮想化機能 “COMSTAR” SCSIターゲットができるまでのまとめ Logical-unit providerの担当 Port Providerの担当 Initiator との接続 • backing store を用意 • そして、Target の作成 • Initiator から Target へ接続 • backing store を SCSI block • Logical-unit を紐づける Target を選 • Target が利用するストレー device へ変換 定 ジプロトコルをサポートして • stmfadmでSCSI clock deviceを • iSCSI, FC, Inifiniband など.... いるかを確認 STMF Frameworkに登録し、 • Targetの作成 • COMSTAR を考慮した特 Logical-unitに変身させる • iSCSI なら/usr/sbin/itadm 別な接続方法は必要ない • ここまでがLogical-unit provider • SRPなら/usr/sbin/srptadm • 外部ディスクとして認識 の担当 • backing store とは – 実データを格納するための入れ物 – 利用可能なものは、 – ディスク、スライス, raw/block device (zvol 含む), ファイル 14 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  • 15.
    iSCSI を使ってみよう 15 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  • 16.
    iSCSIとは? • Small Computer System Interface (SCSI) – コンピュータと機器を接続し、利用するための標準規格 • Sun Common SCSI Architecture (SCSA) – Solarisに実装されるSCSIを扱うための共通アーキテクチャ • ディスクを扱うために普通に利用している機能 – sd/ssd driverがSCSIプロトコルを使ってデバイスと会話 • Fibre Channel, iSCSI, Parallel SCSI, SAS, etc... • Solarisは、このような機能をあらかじめ持っています – 特に気にする必要はありません 16 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  • 17.
    iSCSIとは? iSCSIは通信プロトコルです • Internet Small Computer System Interface (iSCSI) – IETF IP Storageワーキンググループにて策定(RFC 3720) • TCP/IPネットワーク経由にてSCSIコマンドを送信する通信プロトコル – SCSIコマンドをTCP/IPパケットでカプセル化しデータ通信を実現 • ネットワーク上のストレージをローカルデバイスとして扱うことが可能に SCSI SCSI サーバ コマンド/データ レスポンス/データ ストレージ SCSI SCSIプロトコル SCSI iSCSI iSCSIプロトコル iSCSI TCP TCP/IPプロトコル TCP IP IP Link IP Link PHY network PHY 17 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  • 18.
    iSCSI Bootとは? • iSCSIを利用するために押さえておくべき事柄 – iSCSI Initiator • SCSIコマンドを発行する役割を持つ – iSCS Target • Initiatorから発行されたコマンドを処理する役割持つ – iSCSI Name (RFC 3721) • ノード識別や管理の為に利用される名前。 – iSCSI Qualified Nameやiqnと呼ばれる – iSCSI Initiator/Targetに割り当てられる名前 • 全世界で唯一であることが求められる iSCSI Name: iSCSI Name: iqn.1986-03.com.intel:s10u9 iqn.1986-03.com.sun:02:760428f9-f1fc-ed2f-9102-bf0e4e27eeb9 SCSI IP SCSI コマンド/データ network レスポンス/データ iSCSI target iSCSI Initiator 18 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  • 19.
    ストレージの仮想化機能 “COMSTAR” 例: iSCSI Target の作成 • COMSTARのインストールからLUの作成まで # pkg install storage-server # svcadm enable stmf # zfs create -p -V 4g rpool/zvol/testVolume ZFS 上に 4GB の zvol を作成 # stmfadm create-lu /dev/zvol/rdsk/rpool/zvol/testVolume testVolume を LU として登録 Logical unit created: 600144F0080027E5D1964EE09C570001 # stmfadm add-view 600144F0080027E5D1964EE09C570001 target と結びつけるため view に追加 • iSCSI Targetの作成 # svcadm enable –r svc:/network/iscsi/target:default (初回のみ) # itadm create-target iSCSI target を作成 Target iqn.1986-03.com.sun:02:1ff9b930-7298-c82e-be3b-ad392d9d674f successfully created iqn が生成される • iSCSI Initiator からの接続 (Solaris iSCSI Initiator の場合) target 探索用 IP address をセット # iscsiadm add discovery-address 10.0.2.2 # iscsiadm modify discovery –t enable target の探索開始! 19 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  • 20.
    ストレージの仮想化機能 “COMSTAR” その他 • FC Target や iSCSI Targetなど複数の Target を立てた場合 – そのままでは、LU が全てのTargetから参照可能 – host/target groupを作成し、Targetと結び付けるマスキング機能を提供 • Multipathによる冗長化 – Initiator側で提供される冗長化ソフトウェアを利用可能 • Solaris は MPxIO – COMSTARに依存した設定等は必要なし • その他のプロトコルを利用する場合でも、 – LUの作成手順は、すべて同一手順で可能 20 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  • 21.
    VirtualBox で iSCSIを使ってみる 21 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  • 22.
    VirtualBox in OracleSolaris 11 Zones Solaris Zones に構成可能な Oracle VM VirtualBox • Oracle VM VirtualBox – 強力なクロスプラットフォーム仮想化ソフトウェア – Oracle Solaris 11 をホストOSとしてサポート • Solais 11上に Solaris, Windows や Linux 環境を構築可能 • Oracle Solaris Zones Ready – Solaris Zones 上での動作をサポート – Solaris 11 では Crossbow の仮想NICと連携可能 – COMSTAR iSCSI target も利用可能 https://www.virtualbox.org/ • ストレージを iSCSI にすることでゾーンをコンパクトに運用することも可能 • VirtualBoxにiSCSI Initiator機能を搭載 22 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  • 23.
    VirtualBox in OracleSolaris 11 Zones 開発環境としての仮想環境 vbox-zone02 • VirtualBox がサポートする OS を Solaris vbox-zone01 ホストに集約 Solaris 11 VirtualBox – Solaris では提供できないサービス Solaris 11 (他OSに特化した)の提供など Windows • Windows, Linux などの開発環境として VirtualBox 利用可能 Windows • Solaris Zones 単位で VirtualBox を 動作させることで可搬性の向上を狙う global zone – VBox の HDD に iSCSI LUN を割り当てるなど e1000g0 • Solaris 使いとしては、これを ZFS data stream 化できることに喜びを感じる iSCSI LUN 23 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  • 24.
    VirtualBox in OracleSolaris 11 Zones 開発環境としての仮想環境 vbox-zone02 • サンプル環境の作成方法 vbox-zone01 – 右図の赤い線に囲われている環境を作成 Solaris 11 VirtualBox • 大域ゾーンへ VirtualBox をインストール Solaris 11 Windows – カーネル・モジュールが提供する機能を利用する 必要がある為 VirtualBox # pkgadd –d VirtualBox-4.1.12-SunOS-r77218.pkg Windows • 続いて、非大域ゾーンを作成 global zone – 非大域ゾーンを作成し、こちらにも VirtualBox を インストールする e1000g0 iSCSI LUN 24 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  • 25.
    VirtualBox in OracleSolaris 11 Zones ゾーンの構成と VirtualBox のインストール • 非大域ゾーンの構成 (下記は構成例) ゾーンの構成開始 # /usr/sbin/zonecfg -z VBox_Windows_7 zonecfg:VBox_Windows_7> create zonecfg:VBox_Windows_7> set autoboot=true zonecfg:VBox_Windows_7> set zonepath=/rpool/zones/VBox_Windows7 zonecfg:VBox_Windows_7> add device zonecfg:VBox_Windows_7:device> set match=/dev/vboxdrv add device は、大域ゾーンの device file zonecfg:VBox_Windows_7:device> end を非大域ゾーンでも利用するために指定 zonecfg:VBox_Windows_7> add device zonecfg:VBox_Windows_7:device> set match=/dev/vboxusbmon (必須) zonecfg:VBox_Windows_7:device> end zonecfg:VBox_Windows_7> commit zonecfg:VBox_Windows_7> exit ゾーンのデプロイ # zoneadm –z VBox_Windows_7 install # zoneadm –z VBox_Windows_7 boot ゾーンの起動 # zlogin –C VBox_Windows_7 ゾーンへのログイン – ネットワークは、anet リソースを使用した仮想 NIC自動生成機能にて対応 • anet リソース設定は、 すでに設定されている(create より自動生成) • VirtualBox は、この仮想NICをブリッジアダプタとしても利用可能 – NAT ,内部ネットワークなども利用可能 25 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  • 26.
    VirtualBox in OracleSolaris 11 Zones ゾーンの構成と VirtualBox のインストール • zlogin コマンドで非大域ゾーンへログイン – ネットワーク設定などを実施後、ssh で大域ゾーン等からログイン可能 • 非大域ゾーンに IPS からパケージを追加 大域ゾーンからIPSリポジトリへアクセス 可能であれば、組み込まれた Proxy に – VirtualBox を動作させるためのパッケージをインストール より、非大域ゾーンからもアクセス可能 # pkg install X-all – 非大域ゾーンは、大域ゾーンの IPS情報を利用するため設定不要 • 非大域ゾーンにも VirtualBox をインストール 大域ゾーンと非大域ゾーンには 必ず同一バージョンの VirtualBox – VirtualBox を、非大域ゾーンで動作させるため をインストールすること zones # pkgadd –d VirtualBox-4.1.10-SunOS-r76795.pkg 26 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  • 27.
    VirtualBox in OracleSolaris 11 Zones 非大域ゾーンのネットワーク構成例 • 物理NIC(net0)から仮想NICが生成され割り当てられる – 非大域ゾーンの OS は物理 NICとして認識 – VirtualBox は、このNICをブリッジインターフェース global zone vbox-zone として利用可能 – 構成例では、それぞれ同一ネットワークに接続して VirtualBox いることになる Solaris 11 Solaris 11 Windows • 外部からみた場合は、完全に独立した net0 net0 (vnic) 環境を構成可能 • リソースが許せば複数のVBox環境を動作可能 • VBoxのストレージは iSCSI LUN に外出し可能 同一ネットワークへの接続 – VBox 自身が iSCSI Initiator の機能を持つ 27 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  • 28.
    VirtualBox in OracleSolaris 11 Zones COMSTARとの連携 - iSCSI Target の作成 • ゲストVMで利用するストレージを iSCSI LUNとして外出しする例 • COMSTARを利用した、40GBのiSCSI LUN 作成例 # pkg install storage-server # svcadm enable stmf # zfs create -p -V 40g rpool/zvol/testVolume ZFS 上に 40GB の zvol を作成 # stmfadm create-lu /dev/zvol/rdsk/rpool/zvol/testVolume Logical unit created: 600144F0080027E5D1964EE09C570001 testVolume を LU として登録 # stmfadm add-view 600144F0080027E5D1964EE09C570001 target と結びつけるため view に追加 • iSCSI Targetの作成 # svcadm enable –r svc:/network/iscsi/target:default (初回のみ) # itadm create-target iSCSI target を作成 Target iqn.1986-03.com.sun:02:1ff9b930-7298-c82e-be3b-ad392d9d674f successfully created iqn が生成される 28 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  • 29.
    VirtualBox in OracleSolaris 11 Zones COMSTARとの連携 - iSCSI LUNの利用 • VirtualBox に iSCSI LUN を登録 – VirtualBox 自身が iSCSI Initiator の機能を持つ – VirtualBox 4.x では CUI でのみ iSCSI LUN を登録可能 – VM: dummy を登録し、これをベースに iSCSI LUN を登録 (登録後は削除する) – Virtual Media Manager に登録される為、以降の VM作成時にストレージとして指定可能 – 起動ディスクにすることで、ゾーンで抱えるデータを最小限にすることが可能 $ /opt/VirtualBox/VBoxManage createvm -name dummy --register $ VBoxManage storagectl dummy --name "SATA Controller" --add sata --controller IntelAHCI ※192.168.10.254 – iSCSI Target $ /opt/VirtualBox/VBoxManage storageattach dummy ¥ --storagectl "SATA Controller" --port 0 --device 0 --type hdd --medium iscsi ¥ --server 192.168.10.254 --target iqn.1986-03.com.sun:02:1ff9b930-7298-c82e-be3b-ad392d9d674f 29 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  • 30.
    VirtualBox in OracleSolaris 11 Zones Solarisの仮想化機能をフルに活用した一例 • 利用されるSolarisの仮想化機能 – Solaris Zones (隔離された実行環境) – Crossbow (仮想ネットワーク) – COMSTAR (仮想ストレージ) – ZFS (データ管理) 30 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  • 31.
    iSCSIにおける 冗長化構成 31 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  • 32.
    iSCSI における冗長化構成について 冗長化の必要性 • iSCSIは、TCP/IPを利用するプロトコル – ネットワークで起こる問題は、iSCSIの障害要因に • NICやスイッチの故障、断線などいろいろ • さらにiSCSIはSCSIデバイスを扱っているのと同等 – iSCSI Targetから提供されるLUNへの冗長化も考慮する必要がある • ネットワークとSCSIデバイスの冗長化が必要に 32 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  • 33.
    iSCSI における冗長化構成について 簡単な冗長化構成の例 Initiator Node • Initiator側は2つのNICを持ち 1つのiSCSI Targetへのネット iSCSI Initiator ワークとLUNへのパスを iSCSI NIC NIC HBA 冗長化構成にする IP • iSCSI Targetは 2 つの NICを持ち Network ネットワークパスの冗長化を確保 する必要がある NIC NIC iSCSI Target LUN 0 Storage Node 33 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  • 34.
    iSCSI における冗長化構成について 冗長化が必要な部分 • IP LayerとSCSI Layerのfailover機構が必要に – ネットワークの冗長化 • IP Layerの冗長化 – IPMP機能によるネットワーク・パスの冗長化 – LUNへのパス冗長化 • SCSI Layerの冗長化 – iSCSI MS/TにSCSI Layerの冗長化 • iSCSI Multi Session Per Target • IPMP+iSCSI MS/Tで冗長化を構成することが可能 34 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  • 35.
    iSCSI における冗長化構成について IPMPによるIP Layerの冗長化(Solaris 10) • IPMPを利用したIP Layerの冗長化 – iSCSI HBAとは異なるNICを追加で用意 – /etc/hostname.e1000g0 (iSCSI HBA) • 192.168.200.100 netmask + broadcast + group ipmp0 up – /etc/hostname.e1000g1 (追加NIC) • group ipmp0 up – 再起動でIPMP リンクベース障害検出機能が有効になる # ifconfig -a e1000g0: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 1 inet 192.168.200.100 netmask ffffff00 broadcast 192.168.200.255 groupname ipmp0 ether 0:1b:21:76:f:a1 e1000g1: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 3 inet 0.0.0.0 netmask ff000000 broadcast 0.255.255.255 groupname ipmp0 ether 0:1b:21:77:81:32 35 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  • 36.
    iSCSI における冗長化構成について IPMPによるIP Layerの冗長化 (Solaris 11) • IPMPを利用したIP Layerの冗長化 – 2 つの NIC を用意 – ネットワークは手動構成が必須 – # netadm enable –p ncp DefaultFixed – ipadm コマンドで IPMP interface を構成 # ipadm create-ip net0 # ipadm create-ip net1 # ipadm create-ipmp -i net0 -i net4 ipmp1 # ipadm create-addr -T static -a 192.168.10.13/24 ipmp1/v4 # ipmpstat –a ADDRESS STATE GROUP INBOUND OUTBOUND :: down ipmp1 -- -- 192.168.10.13 up ipmp1 net5 net5 net1 36 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  • 37.
    iSCSI における冗長化構成について IPMPによるIP Layerの冗長化 • NICの疑似障害によるインターフェースのfailover – IPMPの機能により、追加NIC(e1000g1)の論理インターフェースが作成 され failoverが完了する • e1000g0 (iSCSI HBA)に疑似障害を発生 # if_mpadm -d e1000g0 # ifconfig -a e1000g0: flags=89000842<BROADCAST,RUNNING,MULTICAST,IPv4,NOFAILOVER,OFFLINE> mtu 0 index 1 inet 0.0.0.0 netmask 0 groupname ipmp0 ether 0:1b:21:76:f:a1 e1000g1: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 3 inet 0.0.0.0 netmask ff000000 broadcast 0.255.255.255 groupname ipmp0 ether 0:1b:21:77:81:32 e1000g1:1: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 3 inet 192.168.200.100 netmask ffffff00 broadcast 192.168.200.255 37 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  • 38.
    iSCSI における冗長化構成について (Initiator) iSCSI MS/Tを利用したSCSI Layerの冗長化 • iSCSI MS/Tを利用したscsi device layerの冗長化 – initiatorから複数のセッションを1つのTarget(group)に張る • 内部的にmultipath機能が有効に # iscsiadm modify initiator-node -c 2 iscsi: [ID 240218 kern.notice] NOTICE: iscsi session(13) 設定可能なセッション数: 1 - 4 iqn.1986-03.com.sun:02:760428f9-f1fc-ed2f-9102-bf0e4e27eeb9 online genunix: [ID 834635 kern.info] /scsi_vhci/disk@g600144f05a8c0e0000004cc284780001 (sd0) multipath status: optimal, path /iscsi (iscsi0) to target address: 0004iqn.1986-03.com.sun:02:760428f9-f1fc-ed2f-9102-bf0e4e27eeb90001,0 is online Load balancing: round-robin genunix: [ID 834635 kern.info] /scsi_vhci/disk@g600144f05a8c0e0000004cc284780001 (sd0) multipath status: degraded, path /iscsi (iscsi0) to target address: 0000iqn.1986-03.com.sun:02:760428f9-f1fc-ed2f-9102-bf0e4e27eeb90001,0 is offline Load balancing: round-robin iscsi: [ID 328943 kern.notice] NOTICE: iscsi session(10) iqn.1986-03.com.sun:02:760428f9-f1fc-ed2f-9102-bf0e4e27eeb9 offline 38 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  • 39.
    iSCSI における冗長化構成について (Initiator) iSCSI MS/Tを利用したSCSI Layerの冗長化 • iSCSI MS/T無効時 – Path Countの変化に注目 # mpathadm list lu /dev/rdsk/c0t600144F05A8C0E0000004CC284780001d0s2 Total Path Count: 2 Operational Path Count: 1 この状態では、ネットワーク側の冗長化は機能しているが iSCSI Targetへのセッションが1つであるためfailoverに失敗する • iSCSI MS/T有効時 – Path Countの変化に注目 # mpathadm list lu /dev/rdsk/c0t600144F05A8C0E0000004CC284780001d0s2 Total Path Count: 3 Operational Path Count: 2 Path Countが増え、iSCSI Targetへのセッションが 2つになる この状態になることで、failoverが可能になる 39 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  • 40.
    iSCSI における冗長化構成について (Initiator) MS/Tによるセッションの確認 # iscsiadm list target -S (-vを追加することで、詳細を出力) Target: iqn.1986-03.com.sun:02:760428f9-f1fc-ed2f-9102-bf0e4e27eeb9 Alias: - TPGT: 1 セッションが1つ増えたことにより ISID: 4000002a0001 Connections: 1 新たなセッションIDが生成される ※追加されたセッション情報 LUN: 0 Vendor: SUN Product: COMSTAR OS Device Name: /dev/rdsk/c0t600144F05A8C0E0000004CC284780001d0s2 Target: iqn.1986-03.com.sun:02:760428f9-f1fc-ed2f-9102-bf0e4e27eeb9 Alias: - TPGT: 1 ISID: 4000002a0000 Connections: 1 ISID = Initiator Session ID LUN: 0 ※既存のセッション情報 Vendor: SUN Product: COMSTAR OS Device Name: /dev/rdsk/c0t600144F05A8C0E0000004CC284780001d0s2 40 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  • 41.
    iSCSI における冗長化構成について まとめ • Initiator側の冗長化構成 – 2 つのパスで冗長化構成を行う必要がある • ネットワークパス (IPMP, Link Aggregation) • LUN へのパス (iSCSI MS/T, MC/S) • Target側の冗長化構成 – ネットワークパスのみ冗長化構成 • IPMP, Link Aggregation を使用 41 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  • 42.
    参考情報 ストレージの仮想化機能 “COMSTAR” • Oracle Solaris の管理: デバイスとファイルシステム 第 14 章 COMSTAR を使用した iSCSI ストレージデバイスの構成 http://docs.oracle.com/cd/E26924_01/html/E25880/fmvcd.html#scrolltoc • Oracle Solaris 10 の新インストール技術 – iSCSI Boot Support (iSCSI の冗長化構成) http://www.slideshare.net/satokaz/oracle-solaris-10u9iscsiboot20101111public • PSARC/2007/523 COMSTAR: Common Multiprotocol SCSI Target http://arc.opensolaris.org/caselog/PSARC/2007/523/ • PSARC/2008/235 SCSI Block Disk Provider for COMSTAR http://arc.opensolaris.org/caselog/PSARC/2008/235 • PSARC/2008/587 iSCSI Port Provider for COMSTAR http://arc.opensolaris.org/caselog/PSARC/2008/587 • PSARC/2008/434 libstmf enhancement for provider data http://arc.opensolaris.org/caselog/PSARC/2008/434 42 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  • 43.
    参考情報 Oracle Solaris 11 をすぐに試せる VM テンプレート • Oracle Solaris 11 VM Downloads http://www.oracle.com/technetwork/server-storage/solaris11/downloads/virtual- machines-1355605.html – Oracle Solaris 11 VM for Oracle VM VirtualBox • VirtualBox にインポートするだけで Oracle Solaris 11 を試用可能 – Oracle VM Template for Oracle Solaris 10 Zones for SPARC/x86 • Oracle Solaris 10 Zones の構成情報テンプレート • Oracle Solaris 11 VM for Oracle VM VirtualBox と組み合わせることで、 VirtulBox 上で Solaris 11 と Solaris 10 Zones の試用環境を構築可能 • Solaris 11が動作する環境にて利用可能 43 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  • 44.
    参考情報 • 製品情報とダウンロード – oracle.co.jp/solaris • Oracle Technology Network – http://www.oracle.com/technetwork/jp/server- storage/solaris11/overview/index.html • System administrators community – oracle.com/technetwork/systems • @ORCL_Solaris • facebook.com/SolarisJP 44 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  • 45.
    45 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  • 46.
    46 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.