~Solaris 11 をマルチ・プロトコル SCSI ターゲットに~...

46
1 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Solaris 11 をマルチ・プロトコル SCSI ターゲットに~ 「もう一つのストレージ仮想化機能 COMSTAR”概要」 日本オラクル株式会社システム事業統括ソリューション統括本部プロダクトマネジメント本部 シニアセールスコンサルタント 佐藤和幸

Transcript of ~Solaris 11 をマルチ・プロトコル SCSI ターゲットに~...

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

1 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.

~Solaris 11 をマルチ・プロトコル SCSI ターゲットに~

「もう一つのストレージ仮想化機能 “COMSTAR”概要」 日本オラクル株式会社システム事業統括ソリューション統括本部プロダクトマネジメント本部

シニアセールスコンサルタント 佐藤和幸

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

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

以下の事項は、弊社の一般的な製品の方向性に関する概要を説明するものです。また、情報提供を唯一の目的とするものであり、いかなる契約にも組み込むことはできません。以下の事項は、マテリアルやコード、機能を提供することをコミットメント(確約)するものではないため、購買決定を行う際の判断材料になさらないで下さい。オラクル製品に関して記載されている機能の開発、リリースおよび時期については、弊社の裁量により決定されます。

OracleとJavaは、Oracle Corporation 及びその子会社、関連会社の米国及びその他の国における登録商標です。

文中の社名、商品名等は各社の商標または登録商標である場合があります。

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

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

Program Agenda

• COMSTAR 概要

• iSCSIをつかってみよう

• VirtualBoxでiSCSIを使ってみる

• iSCSI における冗長化構成

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

4 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.

COMSTAR 概要

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

5 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.

ストレージの仮想化機能 “ZFS”

スケールアウト指向の組み込まれたデータサービス

データ暗号化 重複排除 レプリケーション 圧縮 flash deviceと

組み合わせる

hybrid storage pool

重複排除で10倍の利用効率

チェックサムによるデータ破壊からの保護

仮想化されたストレージリソースを利用した高速なプロビジョニング

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

6 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.

ストレージの仮想化機能 “COMSTAR”

• ホストをSCSIターゲットデバイスに • FibreChannel, Ethernet, InfiniBand を

利用してストレージを提供可能に

– iSCSI, iSER, FCoE, SRP など多数の

ストレージ・プロトコルをサポート

– Ethernet を利用した iSCSI Target を

構成するならば、追加コストなし

– ターゲットとして公開される領域にはZFS

を利用 (zvol)

マルチ・プロトコルSCSIターゲット機能

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

7 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.

ストレージの仮想化機能 “COMSTAR”

• STMFが中核となり、下記のサービスを提供

– COMSTARの構成要素

• Logical-Unit Proveider(+ SCSI block device)

• Port Proveider (Target サービス)

• libstmfによる管理インターフェース

• これがCOMSTARのコアとなる実装

SCSI Target Mode Framework (STMF)

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

8 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.

ストレージの仮想化機能 “COMSTAR”

• SCSI Logical-unitを構成するためのもの

– SCSI block deviceを作成し、SCSI LUとしてSTMF Frameworkに登録(Regist)する

• SCSI block deviceを作成するには、backing storeが必要に

– STMF Frameworkに登録されると、GUIDと呼ばれるユニークなIDが割り当てられる

– この割り当てられたGUIDを使ってTargetの結び付きを行う

LUを構成する Logical-unit Provider

# 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

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

9 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.

ストレージの仮想化機能 “COMSTAR”

• 何らかのインターフェースを利用してtarget機能を提供する

– Ethernet (iSCSI)

– Fiber Channel (FC, FCoE)

– InifiniBand(iSER..)

– SAS(未サポート)

• STMF Frameworkを通してLogical-unit Providerと結び付く

• SCSIコマンドをLUに運ぶ役割を担う

• target毎に異なる管理コマンドで操作

SCSI Target機能を構成する Port Provider (SCSI Target Port)

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

10 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.

ストレージの仮想化機能 “COMSTAR”

• STMF Frameworkを操作するためのAPI群

– Target作成コマンド(itadm, srptadm など)

– sbdadm/stmfadmコマンド

• Initiatorはlibstmfで提供されるAPIは利用していない

– iscsiadm コマンド等

– そのため、initiator自身はSTMFの影響を受けない

– Targetとの接続には、既存の方法がそのまま利用される

• COMSTAR特有の接続方法は必要なし

管理インターフェース - libstmf

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

11 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.

ストレージの仮想化機能 “COMSTAR”

• stmfadmコマンド – STMF Frameworkを操作するコマンド

– backing storeからSCSI block deviceを作成しLogical-unitとしてSTMF

Frameworkに登録するためのコマンド

– Logical-unitの操作や、target/host group

の操作、Port Providerとの紐付けなど

$ stmfadm

使用法: stmfadm -?,-V,--help

使用法: stmfadm add-hg-member [-?]

使用法: stmfadm add-tg-member [-?]

使用法: stmfadm add-view [-?]

使用法: stmfadm create-hg [-?]

使用法: stmfadm create-tg [-?]

使用法: stmfadm create-lu [-?]

使用法: stmfadm delete-hg [-?]

使用法: stmfadm modify-lu [-?]

使用法: stmfadm delete-lu [-?]

使用法: stmfadm delete-tg [-?]

使用法: stmfadm import-lu [-?]

使用法: stmfadm list-hg [-?]

使用法: stmfadm list-lu [-?]

使用法: stmfadm list-state [-?]

使用法: 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 [-?]

管理インターフェース - stmfadm

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

12 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. © 2011 Oracle Corporation – Proprietary and Confidential

ストレージの仮想化機能 “COMSTAR”

Port Provider

LU Provider

libstmf

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

13 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.

ストレージの仮想化機能 “COMSTAR”

• Oracle Solaris 11の動作するホストを用意

• パッケージのインストール – # pkg install storage-server

• サービスの有効化 – # svcadm enable stmf

• COMSTARによる SCSI ターゲットサービスが提供可能に – ソフトウェアによるフレームワークの実装であるため容易に導入可能

– 非大域ゾーンでは利用できません

COMSTARを利用するための準備

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

14 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.

Logical-unit providerの担当

• backing store を用意

• backing store を SCSI block

device へ変換

• stmfadmでSCSI clock deviceをSTMF Frameworkに登録し、Logical-unitに変身させる

• ここまでがLogical-unit provider

の担当

Port Providerの担当

• そして、Target の作成

• Logical-unit を紐づける Target を選定

• iSCSI, FC, Inifiniband など....

• Targetの作成

• iSCSI なら/usr/sbin/itadm

• SRPなら/usr/sbin/srptadm

ストレージの仮想化機能 “COMSTAR”

SCSIターゲットができるまでのまとめ

Initiator との接続

• Initiator から Target へ接続

• Target が利用するストレージプロトコルをサポートしているかを確認

• COMSTAR を考慮した特別な接続方法は必要ない

• 外部ディスクとして認識

• backing store とは

– 実データを格納するための入れ物

– 利用可能なものは、

– ディスク、スライス, raw/block device (zvol 含む), ファイル

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

15 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.

iSCSI

を使ってみよう

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

16 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は、このような機能をあらかじめ持っています

– 特に気にする必要はありません

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

17 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.

iSCSIとは?

• Internet Small Computer System Interface (iSCSI)

– IETF IP Storageワーキンググループにて策定(RFC 3720)

• TCP/IPネットワーク経由にてSCSIコマンドを送信する通信プロトコル

– SCSIコマンドをTCP/IPパケットでカプセル化しデータ通信を実現

• ネットワーク上のストレージをローカルデバイスとして扱うことが可能に

iSCSIは通信プロトコルです

SCSI iSCSI TCP IP

Link PHY

IP

network

TCP/IPプロトコル

iSCSIプロトコル

SCSIプロトコル

SCSI

コマンド/データ SCSI

レスポンス/データ ストレージ

サーバ

SCSI iSCSI TCP IP

Link PHY

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

18 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.

iSCSI Bootとは?

– iSCSI Initiator

• SCSIコマンドを発行する役割を持つ

– iSCS Target

• Initiatorから発行されたコマンドを処理する役割持つ

– iSCSI Name (RFC 3721)

• ノード識別や管理の為に利用される名前。

– iSCSI Qualified Nameやiqnと呼ばれる

– iSCSI Initiator/Targetに割り当てられる名前

• 全世界で唯一であることが求められる

• iSCSIを利用するために押さえておくべき事柄

SCSI

コマンド/データ

SCSI

レスポンス/データ iSCSI Initiator iSCSI target

iSCSI Name: iqn.1986-03.com.intel:s10u9

IP

network

iSCSI Name:

iqn.1986-03.com.sun:02:760428f9-f1fc-ed2f-9102-bf0e4e27eeb9

• iSCSIを利用するために押さえておくべき事柄

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

19 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.

ストレージの仮想化機能 “COMSTAR”

• COMSTARのインストールからLUの作成まで

例: iSCSI Target の作成

• iSCSI Targetの作成

# pkg install storage-server

# svcadm enable stmf

# zfs create -p -V 4g rpool/zvol/testVolume

# stmfadm create-lu /dev/zvol/rdsk/rpool/zvol/testVolume

Logical unit created: 600144F0080027E5D1964EE09C570001

# stmfadm add-view 600144F0080027E5D1964EE09C570001

# svcadm enable –r svc:/network/iscsi/target:default (初回のみ)

# itadm create-target

Target iqn.1986-03.com.sun:02:1ff9b930-7298-c82e-be3b-ad392d9d674f successfully created

ZFS 上に 4GB の zvol を作成

testVolume を LU として登録

target と結びつけるため view に追加

iSCSI target を作成 iqn が生成される

• iSCSI Initiator からの接続 (Solaris iSCSI Initiator の場合)

# iscsiadm add discovery-address 10.0.2.2

# iscsiadm modify discovery –t enable

target 探索用 IP address をセット

target の探索開始!

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

20 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の作成手順は、すべて同一手順で可能

その他

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

21 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.

VirtualBox で iSCSIを使ってみる

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

22 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.

VirtualBox in Oracle Solaris 11 Zones

• 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 も利用可能

•ストレージを iSCSI にすることでゾーンをコンパクトに運用することも可能

• VirtualBoxにiSCSI Initiator機能を搭載

Solaris Zones に構成可能な Oracle VM VirtualBox

https://www.virtualbox.org/

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

23 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.

VirtualBox in Oracle Solaris 11 Zones

vbox-zone02

• VirtualBox がサポートする OS を Solaris

ホストに集約

– Solaris では提供できないサービス

(他OSに特化した)の提供など

• Windows, Linux などの開発環境として

利用可能

• Solaris Zones 単位で VirtualBox を

動作させることで可搬性の向上を狙う

– VBox の HDD に iSCSI LUN を割り当てるなど

• Solaris 使いとしては、これを ZFS data

stream 化できることに喜びを感じる

開発環境としての仮想環境

e1000g0

vbox-zone01

Solaris 11 VirtualBox

Windows

global zone

Solaris 11

VirtualBox

Windows

iSCSI

LUN

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

24 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.

VirtualBox in Oracle Solaris 11 Zones

vbox-zone02

• サンプル環境の作成方法

– 右図の赤い線に囲われている環境を作成

• 大域ゾーンへ VirtualBox をインストール – カーネル・モジュールが提供する機能を利用する 必要がある為

• 続いて、非大域ゾーンを作成

– 非大域ゾーンを作成し、こちらにも VirtualBox を

インストールする

開発環境としての仮想環境

e1000g0

vbox-zone01

Solaris 11 VirtualBox

Windows

global zone

Solaris 11

VirtualBox

Windows

iSCSI

LUN

# pkgadd –d VirtualBox-4.1.12-SunOS-r77218.pkg

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

25 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.

VirtualBox in Oracle Solaris 11 Zones

• 非大域ゾーンの構成 (下記は構成例)

– ネットワークは、anet リソースを使用した仮想 NIC自動生成機能にて対応

• anet リソース設定は、 すでに設定されている(create より自動生成)

• VirtualBox は、この仮想NICをブリッジアダプタとしても利用可能

– NAT ,内部ネットワークなども利用可能

ゾーンの構成と 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 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

add device は、大域ゾーンの device file

を非大域ゾーンでも利用するために指定

(必須)

ゾーンの構成開始

ゾーンのデプロイ ゾーンの起動

ゾーンへのログイン

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

26 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.

VirtualBox in Oracle Solaris 11 Zones

• zlogin コマンドで非大域ゾーンへログイン

– ネットワーク設定などを実施後、ssh で大域ゾーン等からログイン可能

• 非大域ゾーンに IPS からパケージを追加 – VirtualBox を動作させるためのパッケージをインストール

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

• 非大域ゾーンにも VirtualBox をインストール – VirtualBox を、非大域ゾーンで動作させるため

ゾーンの構成と VirtualBox のインストール

# pkg install X-all

zones # pkgadd –d VirtualBox-4.1.10-SunOS-r76795.pkg

大域ゾーンからIPSリポジトリへアクセス

可能であれば、組み込まれた Proxy に

より、非大域ゾーンからもアクセス可能

大域ゾーンと非大域ゾーンには

必ず同一バージョンの VirtualBox

をインストールすること

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

27 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.

VirtualBox in Oracle Solaris 11 Zones

• 物理NIC(net0)から仮想NICが生成され割り当てられる

– 非大域ゾーンの OS は物理 NICとして認識

– VirtualBox は、このNICをブリッジインターフェース

として利用可能

– 構成例では、それぞれ同一ネットワークに接続して

いることになる

• 外部からみた場合は、完全に独立した

環境を構成可能

• リソースが許せば複数のVBox環境を動作可能

• VBoxのストレージは iSCSI LUN に外出し可能

– VBox 自身が iSCSI Initiator の機能を持つ

非大域ゾーンのネットワーク構成例

net0

vbox-zone

Solaris 11

VirtualBox

Windows

global zone

Solaris 11

net0 (vnic)

同一ネットワークへの接続

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

28 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.

VirtualBox in Oracle Solaris 11 Zones

• COMSTARを利用した、40GBのiSCSI LUN 作成例

COMSTARとの連携 - iSCSI Target の作成

• iSCSI Targetの作成

# pkg install storage-server

# svcadm enable stmf

# zfs create -p -V 40g rpool/zvol/testVolume

# stmfadm create-lu /dev/zvol/rdsk/rpool/zvol/testVolume

Logical unit created: 600144F0080027E5D1964EE09C570001

# stmfadm add-view 600144F0080027E5D1964EE09C570001

# svcadm enable –r svc:/network/iscsi/target:default (初回のみ)

# itadm create-target

Target iqn.1986-03.com.sun:02:1ff9b930-7298-c82e-be3b-ad392d9d674f successfully created

ZFS 上に 40GB の zvol を作成

testVolume を LU として登録

target と結びつけるため view に追加

iSCSI target を作成 iqn が生成される

• ゲストVMで利用するストレージを iSCSI LUNとして外出しする例

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

29 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.

VirtualBox in Oracle Solaris 11 Zones

• 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 $ /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

COMSTARとの連携 - iSCSI LUNの利用

※192.168.10.254 – iSCSI Target

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

30 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.

VirtualBox in Oracle Solaris 11 Zones

• 利用されるSolarisの仮想化機能 – Solaris Zones (隔離された実行環境)

– Crossbow (仮想ネットワーク)

– COMSTAR (仮想ストレージ)

– ZFS (データ管理)

Solarisの仮想化機能をフルに活用した一例

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

31 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.

iSCSIにおける

冗長化構成

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

32 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.

iSCSI における冗長化構成について

• iSCSIは、TCP/IPを利用するプロトコル

– ネットワークで起こる問題は、iSCSIの障害要因に

• NICやスイッチの故障、断線などいろいろ

• さらにiSCSIはSCSIデバイスを扱っているのと同等

– iSCSI Targetから提供されるLUNへの冗長化も考慮する必要がある

• ネットワークとSCSIデバイスの冗長化が必要に

冗長化の必要性

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

33 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.

iSCSI における冗長化構成について

• Initiator側は2つのNICを持ち 1つのiSCSI Targetへのネット ワークとLUNへのパスを 冗長化構成にする

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

簡単な冗長化構成の例

0 Storage Node

LUN iSCSI Target

Initiator Node

iSCSI

HBA NIC

iSCSI Initiator

NIC

IP

Network

NIC NIC

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

34 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で冗長化を構成することが可能

冗長化が必要な部分

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

35 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.

iSCSI における冗長化構成について

• 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 リンクベース障害検出機能が有効になる

IPMPによるIP Layerの冗長化(Solaris 10)

# 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

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

36 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.

iSCSI における冗長化構成について

• IPMPを利用したIP Layerの冗長化

– 2 つの NIC を用意

– ネットワークは手動構成が必須

– # netadm enable –p ncp DefaultFixed

– ipadm コマンドで IPMP interface を構成

IPMPによるIP Layerの冗長化 (Solaris 11)

# 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

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

37 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.

iSCSI における冗長化構成について

• NICの疑似障害によるインターフェースのfailover – IPMPの機能により、追加NIC(e1000g1)の論理インターフェースが作成され failoverが完了する

• e1000g0 (iSCSI HBA)に疑似障害を発生

IPMPによるIP Layerの冗長化

# 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

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

38 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.

iSCSI における冗長化構成について (Initiator)

• iSCSI MS/Tを利用したscsi device layerの冗長化

– initiatorから複数のセッションを1つのTarget(group)に張る

• 内部的にmultipath機能が有効に

iSCSI MS/Tを利用したSCSI Layerの冗長化

設定可能なセッション数: 1 - 4

# iscsiadm modify initiator-node -c 2

iscsi: [ID 240218 kern.notice] NOTICE: iscsi session(13) 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

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

39 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.

iSCSI における冗長化構成について (Initiator)

• iSCSI MS/T無効時

– Path Countの変化に注目

iSCSI MS/Tを利用したSCSI Layerの冗長化

# mpathadm list lu /dev/rdsk/c0t600144F05A8C0E0000004CC284780001d0s2 Total Path Count: 2 Operational Path Count: 1

# mpathadm list lu

/dev/rdsk/c0t600144F05A8C0E0000004CC284780001d0s2

Total Path Count: 3

Operational Path Count: 2

• iSCSI MS/T有効時

– Path Countの変化に注目

この状態では、ネットワーク側の冗長化は機能しているが

iSCSI Targetへのセッションが1つであるためfailoverに失敗する

Path Countが増え、iSCSI Targetへのセッションが

2つになる

この状態になることで、failoverが可能になる

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

40 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 ISID: 4000002a0001 Connections: 1 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 LUN: 0 Vendor: SUN Product: COMSTAR OS Device Name: /dev/rdsk/c0t600144F05A8C0E0000004CC284780001d0s2

ISID = Initiator Session ID

セッションが1つ増えたことにより

新たなセッションIDが生成される

※既存のセッション情報

※追加されたセッション情報

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

41 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 を使用

まとめ

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

42 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.

参考情報

• 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

ストレージの仮想化機能 “COMSTAR”

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

43 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.

参考情報

• 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が動作する環境にて利用可能

Oracle Solaris 11 をすぐに試せる VM テンプレート

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

44 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

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

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

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

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