47
1

Oracle solaris 10 u9 iSCSI Boot

Embed Size (px)

Citation preview

Page 1: Oracle solaris 10 u9 iSCSI Boot

1

Page 2: Oracle solaris 10 u9 iSCSI Boot

<Insert Picture Here>

Oracle Solaris 10 の新インストール技術 iSCSI Boot SupportKazuyuki Sato

Page 3: Oracle solaris 10 u9 iSCSI Boot

Copyright© 2010, Oracle. All rights reserved.3

Disclaimer

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

Page 4: Oracle solaris 10 u9 iSCSI Boot

Copyright© 2010, Oracle. All rights reserved.4

Agenda

• iSCSIとは?• iSCSI Boot とは?• iSCSI Bootの検証 (x86)• iSCSI Bootにおける Initiatorの冗長化構成について• iSCSI Boot構成の注意点

Page 5: Oracle solaris 10 u9 iSCSI Boot

Copyright© 2010, Oracle. All rights reserved.5

iSCSIとは?そのまえに、 SCSIについて

• 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 6: Oracle solaris 10 u9 iSCSI Boot

Copyright© 2010, Oracle. All rights reserved.6

iSCSIとは?iSCSIは通信プロトコルです

• Internet Small Computer System Interface (iSCSI) – IETF IP Storage ワーキンググループにて策定 (RFC 3720)

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

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

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

SCSI

iSCSI

TCP

IP

Link

PHYIP

network

SCSI

iSCSI

TCP

IP

Link

PHY

TCP/IP プロトコル

iSCSI プロトコル

SCSI プロトコル

SCSIコマンド / データ

SCSIレスポンス / データ ストレージサーバ

Page 7: Oracle solaris 10 u9 iSCSI Boot

Copyright© 2010, Oracle. All rights reserved.7

iSCSIとは?iSCSIのメリット

• メリット

– 導入コストの抑制

• 低価格な Ethernet アダプタを利用することが可能

• 既存のネットワーク資産を利用可能

– IP ネットワークとの統合

– ネットワーク監視 / 管理ツールを利用可能

• ストレージの問題解決にも利用できる

– IP によるルーティングによる通信距離制限の緩和

• 懸念点

– TCP/IP のオーバーヘッドによるパフォーマンスの不安

• ハードウェア処理による負荷の軽減が可能 (TCP Offload Engine)

– ストレージ障害に加え、ネットワークの障害がつきまとう

• パス冗長化などにて対策可能

Page 8: Oracle solaris 10 u9 iSCSI Boot

Copyright© 2010, Oracle. All rights reserved.8

Agenda

• iSCSIとは?• iSCSI Boot とは?• iSCSI Bootの検証 (x86)• iSCSI Bootにおける Initiatorの冗長化構成について• iSCSI Boot構成の注意点

Page 9: Oracle solaris 10 u9 iSCSI Boot

Copyright© 2010, Oracle. All rights reserved.9

iSCSI Bootとは?iSCSIにおける重要なもの

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

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

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

– iSCSI Name (RFC 3721)• ノード識別や管理の為に利用される名前。

– iSCSI Qualified Name や iqn と呼ばれる

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

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

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

Page 10: Oracle solaris 10 u9 iSCSI Boot

Copyright© 2010, Oracle. All rights reserved.10

iSCSI Bootとは?

• ズバリ! iSCSIを利用したブート方法– iSCSI Initiator が受けることが可能なサービス

– iSCSI を利用することで

• Target から提供されるストレージデバイスをローカルデバイスとすることが可能

• さらに、 boot device として利用するための技術

– ネットワークブートに似ているけど・・・

• 専用ブートサーバなどは必要なし

– Oracle Solaris 10 9/10 にてサポート

iSCSI Initiator

IP network

LUN

iSCSI target

LUN

実態は iSCSI Target から提供される LUN

boot deviceLUN LUN

0 1 2

0

Page 11: Oracle solaris 10 u9 iSCSI Boot

Copyright© 2010, Oracle. All rights reserved.11

iSCSI Bootとは?

• iSCSI Boot で重要になるのは・・・– iSCSI Initiator と OS の対応可否

• Initiator 機能サポート = iSCSI Boot サポートではないことに注意

• iSCSI Target としては、特に要件はなし

• 念の為、 Oracle Solaris の iSCSI Initiator 機能について確認してみる

Page 12: Oracle solaris 10 u9 iSCSI Boot

Copyright© 2010, Oracle. All rights reserved.12

iSCSI Bootとは?Oracle Solarisにおける iSCSI Initiator機能の実装

iSCSI Initiator 機能OracleSolaris 10 1/06

Solaris 10 1/06 にて提供

OracleSolaris 10 6/06

2TB 以上のディスクをサポート

iSCSI logout support ●再起動を必要としないターゲットの切り離し

iSCSI Multiple session target (MS/T)●マルチパス機能を利用するために必須

Internet Storage Name Service (iSNS) クライアント

OracleSolaris 10 10/09

initiator 機能を SMF サービス化

OracleSolaris 10 9/10

Initiator のチューナブルパラメータを実装

iSCSI Extensions for RDMA (iSER) のサポート●Infiniband を利用した iSCSI 接続をサポート

iSCSI boot をサポート

Page 13: Oracle solaris 10 u9 iSCSI Boot

Copyright© 2010, Oracle. All rights reserved.13

iSCSI Bootとは?

• Oracle Solaris 10 9/10 は iSCSI boot をサポート

• なんか便利そうだけど・・・ちょっとまって?!– OS が起動していないのにどうやって target を見つけるの?

– iSCSI Target に接続するにはどうするの?

– Initiator の出番はどこから?

– あれ?もしかして・・・

–もしかして・・・他に何か必要だったりします?

ここからは、 x86 プラットフォームに特化した内容となります。

Page 14: Oracle solaris 10 u9 iSCSI Boot

Copyright© 2010, Oracle. All rights reserved.14

iSCSI Bootとは?iSCS Bootに必要となる特別なもの

• iSCSI Initiator 機能を持つ特別なハードウェアが必要に!– iSCSI プロトコルスタックを持つ Ethernet アダプタ

• iSCSI ホストバスアダプタ (iSCSI HBA) と呼ばれる

– HBA が持つ firmware に initiator 機能が搭載されているもの

• firmware に Target 情報を設定可能

– firmware は、 iSCSI Boot Firmware Table (iBFT) と呼ばれるブロックに情報を格納する

– OS が起動する前に iSCSI Target を認識することが可能

– 面倒な部分は firmware が解決してくれる

• iBFT に対応した OS であれば、起動時に iBFT の情報を受け取り自動的に構成する

– ちょっと高価そうなデバイスですね・・・

Page 15: Oracle solaris 10 u9 iSCSI Boot

Copyright© 2010, Oracle. All rights reserved.15

iSCSI Bootとは?こんなものが iSCSI HBAに

• Oracle Solaris 10 における iSCSI boot の要件を満たしているものは・・・– Intel Gigabit Server Adapter ( さらに PCI-Express モノに限る )

• しかし、ほとんどの場合 firmware の書き換えが必要• そのため、 Oracle 製品で iSCSI boot に対応しているものは、 Intel 製 10GbE NIC のみです・・・

• そこで・・・

Page 16: Oracle solaris 10 u9 iSCSI Boot

Copyright© 2010, Oracle. All rights reserved.16

iSCSI Bootとは?やってみました

• 量販店で購入可能な低価格 NIC を iSCSI HBA に– 狙うは、 Intel Gigabit CT Desktop Adapter

• http://www.intel.com/products/desktop/adapters/gigabit-ct/gigabit-ct-overview.htm

– Intel® 82574L Gigabit Ethernet Controller

• 3,500 円 ( 実売価格 ) の投資で iSCSI HBA を入手可能に

• Oracle Solaris 10 の要件を満たした iBFT 対応 HBA に

– Intel iSCSI Remote Boot 機能にて実現

• Intel CT Desktop Adapter の iSCSI HBA 化は、Intel としてはサポート

• 自己責任でお願いします!

Page 17: Oracle solaris 10 u9 iSCSI Boot

Copyright© 2010, Oracle. All rights reserved.17

iSCSI Bootとは?Intel iSCSI Remote Boot情報

• Intel Gigabit Ethernet Adapter の iSCSI HBA 化– Intel® iSCSI Remote Boot

• http://www.intel.com/p/en_US/support/highlights/network/iscsi• Intel(R) Ethernet Connections Boot Utility, Preboot images, and EFI

Drivers 15.6 をダウンロード

• マニュアルに詳細な説明あり– Intel iSCSI Remote Boot Utility Users Guide

http://downloadcenter.intel.com/Detail_Desc.aspx?agr=Y&DwnldID=11848&ProdId=2840&lang=jpn

– インテル ® iSCSI Remote Boot ユーザガイド

http://supportapj.dell.com/support/edocs/network/IntelPRO/R231521/ja/iscsi/index.htm

• 次世代の Intel Gigabit NIC は、 iSCSI Remote Boot を標準でサポート

– Intel® Gigabit ET/ET2/EF Server Adapter など

Page 18: Oracle solaris 10 u9 iSCSI Boot

Copyright© 2010, Oracle. All rights reserved.18

Agenda

• iSCSIとは?• iSCSI Boot とは?• iSCSI Bootの検証 (x86)• iSCSI Bootにおける Initiatorの冗長化構成について• iSCSI Boot構成の注意点

Page 19: Oracle solaris 10 u9 iSCSI Boot

Copyright© 2010, Oracle. All rights reserved.19

iSCSI Bootの検証検証の構成情報

• 1 つの Target と 1 つの Initiatroによる 1:1 のシンプルな構成– Initiator は Target の LUN 0 を利用する

– 冗長化構成などは考慮しない

• iSCSI Target– OpenSolaris の

COMSTAR iSCSI Target を用意

– 30 G の容量を持つ LUN をLUN 0 として提供する

0Storage Node

LUNiSCSI Target

Initiator Node

iSCSIInitiatoriSCSI

HBA

Oracle Solaris 10

iBFT

Switch

192.168.200.10

192.168.200.100

diskless

Intel CT Desktop Adapter

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

iSCSI Name: iqn.2010-11.com.oracle:s10u9

Page 20: Oracle solaris 10 u9 iSCSI Boot

Copyright© 2010, Oracle. All rights reserved.20

iSCSI Bootの検証iSCS Bootに必要な情報

iSCSI Target 情報 例

iSCSI Target Name iqn.1986-03.com.sun:02:760428f9-f1fc-ed2f-9102-bf0e4e27eeb9iSCSI Target※ 機器上にて確認してください

IP address/netmask 192.168.200.10/255.255.255.0

gateway iSCSI Target へアクセスするために利用する gateway の IP

LUN Target が提供する LUN 番号 : 0iSCSI Target※ 機器上にて確認してください

Port iSCSI プロトコルに利用するポート番号。通常は 3260

iSCSI Initiator 情報 例

iSCSI Initiator Name iqn.2010-11.com.oracle:s10u9 ( 手動にて生成 )Initiator※ 用 iqn 自動生成機能がないため、手動で設定する必要あり

※ Target によっては、 iqn 識別子の命名規則に従った値でなければ※接続が拒否される場合がある (COMSTAR Target など )

IP address/netmask 192.168.200.100/255.255.255.0OS※ 起動後は、この情報を元に NIC として構成される

Page 21: Oracle solaris 10 u9 iSCSI Boot

Copyright© 2010, Oracle. All rights reserved.21

iSCSI Bootの検証iSCSI HBAの設定について

• Intel iSCSI Remote Boot(firmware) の設定– システム起動時に「 Ctrl + D」にて firmware 設定画面に

– 利用する Port を選択• BOOT:DISABLED になっている場合

– 「 P 」キー押下により BOOT:PRIMARY に変更

Page 22: Oracle solaris 10 u9 iSCSI Boot

Copyright© 2010, Oracle. All rights reserved.22

iSCSI Bootの検証iSCSI HBAの設定について

• Target と Initiator の構成情報を入力– 今回の検証では静的に値を設定

iqn.2010-11.com.oracl.

192.168.200.100______

255.255.255.0_______

___________________

iqn.1986-03.com.sun..

192.168.200.10______

3260______________

0_________________

Initiator の設定

Target の設定

Page 23: Oracle solaris 10 u9 iSCSI Boot

Copyright© 2010, Oracle. All rights reserved.23

iSCSI Bootの検証iSCSI HBAの動作確認

Target 情報

Initiator 情報

ディスク情報 設定に間違いがなければこのようにディスクとして認識する

Page 24: Oracle solaris 10 u9 iSCSI Boot

Copyright© 2010, Oracle. All rights reserved.24

iSCSI Bootの検証iSCSI Boot環境を構築するためのインストールの流れ

• インストール時は、インストールメディアを利用した起動およびインストール方法– PXE boot によるネットワークインストールでも可

• iSCSI HBA は PXE boot device として利用できない

– Firmware 書き換えにより PXE boot 機能を持たない為

• iSCSI Boot を考慮した特別なインストール手順などは必要なく、通常のインストールプロセスと同様– 若干の注意事項あり

• iSCSI HBAが提供する iBFTにより、ほぼハードウェアレベルでの準備をしてくれる

Page 25: Oracle solaris 10 u9 iSCSI Boot

Copyright© 2010, Oracle. All rights reserved.25

iSCSI Bootの検証インストールにおける注意事項

• iSCSI HBA はネットワークインターフェースとして構成– iSCSI HBA が NIC として認識され、さらに自動構成される

• Firmware に設定した Initiator 設定値が利用され構成される

• この設定は変更しない

– IP アドレスなどを変更する場合は、 OS および Firmwareの値を一致させるようにする

• インストール先となるディスク名が長い– cXtXdX の t (Target) 部分に GUID が利用されるため

– c0t600144F05A8C0E0000004CC284780001d0s2• GUID は iSCSI Target が提供する

• 上記以外は、特に大きな変更はなし

Page 26: Oracle solaris 10 u9 iSCSI Boot

Copyright© 2010, Oracle. All rights reserved.26

iSCSI Bootの検証インストールにおける注意事項

• このディスクデバイスに OS がインストールされる

• 再起動後、 iSCSI 経由で OS が起動 (iSCSI Boot)

Page 27: Oracle solaris 10 u9 iSCSI Boot

Copyright© 2010, Oracle. All rights reserved.27

iSCSI Bootの検証起動

• iSCSI Initiator上での情報確認– iscsiadm コマンド

• target の管理

• target の情報採取

• パラメータの変更

# iscsiadm list target vS                       Target: iqn.198603.com.sun:02:760428f9f1fced2f9102bf0e4e27eeb9        Alias:         TPGT: 1        ISID: 4000002a0001        Connections: 1                CID: 0                  IP address (Local): 192.168.200.111:32841                  IP address (Peer): 192.168.200.10:3260                  Discovery Method: Static                   Login Parameters (Negotiated):                        Data Sequence In Order: yes                        Data PDU In Order: yes                        Default Time To Retain: 20                        Default Time To Wait: 2                        Error Recovery Level: 0                        First Burst Length: 65536                        Immediate Data: yes                        Initial Ready To Transfer (R2T): yes                        Max Burst Length: 262144                        Max Outstanding R2T: 1                        Max Receive Data Segment Length: 32768                        Max Connections: 1                        Header Digest: NONE                        Data Digest: NONE

        LUN: 0             Vendor:  SUN                  Product: COMSTAR                      OS Device Name: /dev/rdsk/c0t600144F05A8C0E0000004CC284780001d0s2

# iscsiadm list initiatornode                   Initiator node name: iqn.201011.com.oracle:s10u9Initiator node alias:         Login Parameters (Default/Configured):                Header Digest: NONE/                Data Digest: NONE/        Authentication Type: NONE        RADIUS Server: NONE        RADIUS access: unknown        Tunable Parameters (Default/Configured):                Session Login Response Time: 60/                Maximum Connection Retry Time: 180/                Login Retry Time Interval: 60/        Configured Sessions: 2

Page 28: Oracle solaris 10 u9 iSCSI Boot

Copyright© 2010, Oracle. All rights reserved.28

iSCSI Bootの検証起動

• demo

Page 29: Oracle solaris 10 u9 iSCSI Boot

Copyright© 2010, Oracle. All rights reserved.29

iSCSI Bootとは?iSCSI Bootのメリット

• 内蔵ディスクが不要に

– 管理コスト、消費電力を削減

– 起動ディスクの自由度ある設計が可能に

• OS プロビジョニングの多様化

– 仮想環境におけるゲスト OS の起動ディスクに

• ネットワークに接続しているだけで

• ストレージベースが提供する機能が使用可能に

– RAID 機能で、性能、および可用性の向上

• スナップショット機能で、ブートディスクのバックアップが容易かつ高速に

• 複製機能で、複数台のインストール作業を短縮

• 筐体間コピー機能等で、災害対策環境の構築

• iSCSI のメリットを存分に引き出す

Page 30: Oracle solaris 10 u9 iSCSI Boot

Copyright© 2010, Oracle. All rights reserved.30

Agenda

• iSCSIとは?• iSCSI Boot とは?• iSCSI Bootの検証 (x86)• iSCSI Bootにおける Initiatorの冗長化構成について• iSCSI Boot構成の注意点

Page 31: Oracle solaris 10 u9 iSCSI Boot

Copyright© 2010, Oracle. All rights reserved.31

iSCSI Bootにおける Initiatorの冗長化構成について冗長化の必要性

• iSCSI は、 TCP/IP を利用するプロトコル– ネットワークで起こる問題は、 iSCSI の障害要因に

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

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

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

Page 32: Oracle solaris 10 u9 iSCSI Boot

Copyright© 2010, Oracle. All rights reserved.32

iSCSI Bootにおける Initiatorの冗長化構成について簡単な冗長化構成の例

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

• iSCSI Target は Active/Standbyによるパスの冗長化を提供しているストレージと仮定

0Storage Node

LUNiSCSI Target

Initiator Node

iSCSI HBA

Oracle Solaris 10

iBFT

192.168.200.10

iSCSI Initiator

NIC

IPNetwork

この部分の冗長化を考えてみる

Page 33: Oracle solaris 10 u9 iSCSI Boot

Copyright© 2010, Oracle. All rights reserved.33

iSCSI Bootにおける Initiatorの冗長化構成について冗長化が必要な部分

• 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 34: Oracle solaris 10 u9 iSCSI Boot

Copyright© 2010, Oracle. All rights reserved.34

iSCSI Bootにおける Initiatorの冗長化構成についてIPMPによる IP Layerの冗長化

• 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 ae1000g0: 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 35: Oracle solaris 10 u9 iSCSI Boot

Copyright© 2010, Oracle. All rights reserved.35

iSCSI Bootにおける Initiatorの冗長化構成についてIPMPによる IP Layerの冗長化

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

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

# if_mpadm d e1000g0# ifconfig ae1000g0: 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 36: Oracle solaris 10 u9 iSCSI Boot

Copyright© 2010, Oracle. All rights reserved.36

iSCSI Bootにおける Initiatorの冗長化構成についてiSCSI MS/Tを利用した SCSI Layerの冗長化

• iSCSI MS/T を利用した scsi device layer の冗長化– initiator から複数のセッションを 1 つの Target(group) に張る

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

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

# iscsiadm modify initiatornode c 2

iscsi: [ID 240218 kern.notice] NOTICE: iscsi session(13) iqn.198603.com.sun:02:760428f9f1fced2f9102bf0e4e27eeb9 online

genunix: [ID 834635 kern.info] /scsi_vhci/disk@g600144f05a8c0e0000004cc284780001 (sd0) multipath status: optimal, path /iscsi (iscsi0) to target address: 0004iqn.198603.com.sun:02:760428f9f1fced2f9102bf0e4e27eeb90001,0 is online Load balancing: roundrobin

genunix: [ID 834635 kern.info] /scsi_vhci/disk@g600144f05a8c0e0000004cc284780001 (sd0) multipath status: degraded, path /iscsi (iscsi0) to target address: 0000iqn.198603.com.sun:02:760428f9f1fced2f9102bf0e4e27eeb90001,0 is offline Load balancing: roundrobin

iscsi: [ID 328943 kern.notice] NOTICE: iscsi session(10) iqn.198603.com.sun:02:760428f9f1fced2f9102bf0e4e27eeb9 offline

Page 37: Oracle solaris 10 u9 iSCSI Boot

Copyright© 2010, Oracle. All rights reserved.37

iSCSI Bootにおける 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

# 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 38: Oracle solaris 10 u9 iSCSI Boot

Copyright© 2010, Oracle. All rights reserved.38

iSCSI Bootにおける Initiatorの冗長化構成についてMS/Tによるセッションの確認

# iscsiadm list target S (v を追加することで、詳細を出力 )Target: iqn.198603.com.sun:02:760428f9f1fced2f9102bf0e4e27eeb9        Alias:         TPGT: 1        ISID: 4000002a0001        Connections: 1        LUN: 0             Vendor:  SUN                  Product: COMSTAR                      OS Device Name: /dev/rdsk/c0t600144F05A8C0E0000004CC284780001d0s2

Target: iqn.198603.com.sun:02:760428f9f1fced2f9102bf0e4e27eeb9        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 39: Oracle solaris 10 u9 iSCSI Boot

Copyright© 2010, Oracle. All rights reserved.39

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

• iSCSI Initiator側の冗長構成は、– 2 つの Layer を考慮する必要がある

• iSCSI Target (Storage Node側 ) の構成により冗長化構成の設計を考慮する必要あり

0Storage Node

LUNiSCSI Target

Initiator Node

iSCSI HBA

Oracle Solaris 10

iBFT

192.168.200.10

iSCSI Initiator

NIC

IPMP

scsi_vhci

MS/T

IPMP IPNetwork

Page 40: Oracle solaris 10 u9 iSCSI Boot

Copyright© 2010, Oracle. All rights reserved.40

Agenda

• iSCSIとは?• iSCSI Boot とは?• iSCSI Bootの検証 (x86)• iSCSI Bootにおける Initiatorの冗長化構成について• iSCSI Boot構成の注意点

Page 41: Oracle solaris 10 u9 iSCSI Boot

Copyright© 2010, Oracle. All rights reserved.41

iSCSI Boot構成の注意点

• iSCSI MC/S(Multi Connection per session) は未実装– 複数の iSCSI HBA からのコネクションを一つのセッションとして扱うことができる機能

– iSCSI Target/Initiator に実装する必要がある

• COMSTAR Target は実装済み

• 残すは、 Initiator の対応のみ!

• dladm (Link Aggregation) を利用することはできない– iSCSI boot 用のインターフェースとして使われているため

aggregation interface として登録できない

• 登録するには使われていない状態 (unplumb) 必須

• dump device として利用できない– panic 時のネットワーク疎通が確保できないため

Page 42: Oracle solaris 10 u9 iSCSI Boot

Copyright© 2010, Oracle. All rights reserved.42

参考情報

• Storage Administration Informationhttp://wikis.sun.com/display/OpenSolarisInfo/Storage+Administration+Information

• OpenSolaris Project: e1000g driver source codehttp://cvs.opensolaris.org/source/xref/onnv/onnv-gate/usr/src/uts/common/io/e1000g/

• iSCSI Boot in Solaris with iBFT/OBPhttp://arc.opensolaris.org/caselog/PSARC/2008/427/

• iSCSI Boot in Solaris with iBFT/OBP (new)http://arc.opensolaris.org/caselog/PSARC/2010/011/

• ターゲットの複数の iSCSI セッションを有効にする方法http://docs.sun.com/app/docs/doc/819-0386/gcawf?a=view

• solaris tip of the week: iscsi failover with COMSTARhttp://blogs.sun.com/jayd/entry/iscsi_failover_with_comstar

• Solaris のシステム管理 (IP サービス ) - 第 30 章 IPMP の紹介 ( 概要 ) http://docs.sun.com/app/docs/doc/819-0380/ipmptm-1?l=ja&a=view

• Solaris のシステム管理 ( デバイスとファイルシステム )第 14 章 Oracle Solaris iSCSI ターゲットおよびイニシエータの構成 ( 手順 )http://docs.sun.com/app/docs/doc/819-0386/fmvcd?l=ja&a=view

Page 43: Oracle solaris 10 u9 iSCSI Boot

<Insert Picture Here>

Appendix

Page 44: Oracle solaris 10 u9 iSCSI Boot

Copyright© 2010, Oracle. All rights reserved.44

おまけOracle Solarisにおける iSCSIの実装

• iSCSI Target 機能– ソフトウェアによるターゲット機能を提供

• Oracle Solaris 10 8/07 にてサポート

– Solaris 10 5/09 で 100 以上の問題を修正

– ZFS との連携 (shareiscsi プロパティ )– Solaris 以外の initiator との接続もサポート

• Linux, VMWare, Windows, Mac OS X など

– Oracle Solaris 11 では大規模改修を予定

– 新しい実装として提供予定

• COMSTAR Framework を用いた kernel レベルでの実装に

• パフォーマンスが向上

– お楽しみに!

Page 45: Oracle solaris 10 u9 iSCSI Boot

Copyright© 2010, Oracle. All rights reserved.45

おまけx86と SPARCサーバの iSCSI Boot実装について

• platform による実装の違い– x86

• NIC が持つ firmware 機能に依存

– iBFT(iSCSI Boot Firmware Table) を利用し、 OS側に情報を引き渡す仕組みを利用

– OS および NIC Hardware双方の対応が必要

– SPARC• OBP (OpenBootPROM)への iSCSI initiator stack の実装

– iBFT のような NIC Hardware の機能は利用しない

– UltraSPARC-T2 以降の sun4v システムをサポート予定

– 実装された OBP は現時点では提供されていない

Page 46: Oracle solaris 10 u9 iSCSI Boot

Copyright© 2010, Oracle. All rights reserved.46

Page 47: Oracle solaris 10 u9 iSCSI Boot

47