連載
» 2009年10月13日 00時00分 公開

VMware vSphere 4のストレージ機構(1)VMware vSphere 4徹底解剖(3)(2/4 ページ)

[齋藤康成,ヴイエムウェア株式会社]

Pluggable Storage Architectureの活用

Pluggable Storage Architecture (PSA)

 vSphere 4のストレージ機構における最も大きな変更点は、Pluggable Storage Architecture(以下PSAと略記)の導入だろう。その名の通り、ESXのストレージスタックの一部をモジュール化し、プラグイン可能なアーキテクチャに変更したものである。

 PSAはESXのストレージスタックにおけるマルチパス機構を実装するコンポーネントである。ESX 3.xでは、標準で収録されているマルチパスドライバを利用する以外に選択肢がなかったが、ESX 4.0では、標準提供のマルチパスドライバに加え、サードパーティ製のマルチパスドライバを組み込んで利用することが可能になった。

 vSphere 4に対応するストレージアレイ装置は、多数のベンダから製造・販売されている。そしてその機種ごとに特性があり、I/Oマルチパスソフトウェアも、そのストレージの特性に最適化されたものを利用したいという場合がある。各ストレージベンダは、ESX 4.0のPSA用のモジュールという形態で、独自にマルチパスドライバを開発・提供することができるようになったというわけである。

 PSAは論理デバイス側のI/Oスケジューラと、物理アダプタ側のI/Oスケジューラの間に介在する形で実装されている。

図4 PSAはESXのストレージスタックにおけるマルチパス機構を実装 図4 PSAはESXのストレージスタックにおけるマルチパス機構を実装

 PSAはMulti-Pathing Plugin(以下MPPと略記)と呼ばれるモジュールをロードする。接続されているストレージデバイスの機種などに応じて、適切なMPPが自動的に選択され、適用される。MPPの選択・適用ルールは事前に定義されているが、後から変更することも可能である。

図5 PSAはストレージデバイスに適合するMPPをロードし、そのデバイスとの対応付けを行う 図5 PSAはストレージデバイスに適合するMPPをロードし、そのデバイスとの対応付けを行う

 ESX に標準で搭載されているI/Oマルチパス機能も、MPPの1形態として実装されている。VMware ESX 4.0に標準で収録されているマルチパスプラグインのことをVMware Native Multipathing Plugin(以下NMPと略記)と呼ぶ。

図6 VMware ESX 4.0の標準機能として提供されているマルチパス機構NMPも、MPPとして実装されている 図6 VMware ESX 4.0の標準機能として提供されているマルチパス機構NMPも、MPPとして実装されている

 VMware NMPはさらに、Storage Array Type Plugin(以下SATPと略記)と呼ばれるモジュールと、Path Selection Plugin(以下PSPと略記)と呼ばれるモジュールをサブプラグインとして組み込む形で実装している。

図7 NMPは、さらにSATP、PSPと呼ばれる2種類のサブプラグインを組み込む 図7 NMPは、さらにSATP、PSPと呼ばれる2種類のサブプラグインを組み込む

 SATPはストレージへのアクセスパスのフェイルオーバ処理をハンドルするためのモジュールである。一般的なActive/Activeストレージ、Active/Passiveストレージに対応するためのジェネリック(汎用的)なモジュールのほかに、特定の機種を想定して作成されたモジュールなど、何種類かのSATPが標準で収録されている。

 PSPはI/Oのロードバランス処理をハンドルするためのモジュールである。標準ではMRU、Fixed、Round Robbinの3種類のロードバランシングアルゴリズムを実装したモジュールが収録されている。

 なお、ストレージベンダはVMware NMPに組み込むためのSATP並びにPSPを独自に開発することもできる。従って、ストレージベンダがESX用のマルチパスソフトウェアを開発したいと考えた場合、MPPそのものを開発することもできるし、もしくはVMware NMPへのサブプラグインとしてSATPやPSPを開発・提供することもできる。

図8 SATP、PSPもサードパーティ製のモジュールを組み込むことができる 図8 SATP、PSPもサードパーティ製のモジュールを組み込むことができる

PSAの管理

 PSAの管理にはコマンドライン操作が必要である。ESX 4.0のユーザーは、sshなどでサービスコンソールにログインしてコマンドを実行できる。また、コマンドラインをリモート実行するためのツールvSphere CLI 4.0を利用するとESX 4.0、ESXi 4.0の双方を管理することができる。vSphere CLI 4.0は以下よりダウンロードできる。

 esxcliというコマンドを用いてPSAの管理を行う。esxcliコマンドはPSAに関係するさまざまな設定やステータス情報にアクセスすることができる。本稿では例としてPSAの構成情報を出力させるコマンドを紹介する。

1) MPP適用ルールの出力

 PSAは接続されているストレージの種類に応じてMPPを選択、適用するが、そのときの適用ルールを以下のコマンドで確認できる。デフォルトでは標準収録されているNMPが原則として選択されるよう設定されている。

# esxcli corestorage claimrule list
      Rule   Class    Type       Plugin     Matches
      0      runtime  transport  NMP        transport=usb
      1      runtime  transport  NMP        transport=sata
      2      runtime  transport  NMP        transport=ide
      3      runtime  transport  NMP        transport=block
      4      runtime  transport  NMP        transport=unknown
      101    runtime  vendor     MASK_PATH  vendor=DELL model=Universal Xport
      101    file     vendor     MASK_PATH  vendor=DELL model=Universal Xport
      65535  runtime  vendor     NMP        vendor=* model=*

2) インストール済みMPP一覧の出力

 システムにインストールされているMPP一覧を出力させるにはesxcfg-mpathコマンドを用いる。vSphere CLIではvicfg-mpathコマンドで同等の操作を実行できる。標準では以下の2種類のMPPが確認できるはずだ。

# esxcfg-mpath -G
      MASK_PATH
      NMP

3) SATP適用ルールの出力

 通常はMPPとしてVMware NMPを利用することになる。NMPはサブプラグインとしてSATPを利用するが、SATPの適用ルールは以下のコマンドで出力させることができる。

# esxcli nmp satp listrules
      Name                 Vendor   Model             Driver  Transport  Options  Claim Options  Description
      VMW_SATP_ALUA_CX     DGC                                                    tpgs_on        CLARiiON array in ALUA mode
      VMW_SATP_SVC         IBM      2145
      VMW_SATP_MSA                  MSA1000 VOLUME
      VMW_SATP_EQL         EQLOGIC                                                               All EqualLogic Arrays
      VMW_SATP_INV         EMC      Invista

4) インストールされているSATP一覧の表示

 VMware NMPには標準でさまざまな種類のSATPが収録されている。インストール済みモジュール一覧の出力には以下のコマンドを用いる。また、該当のSATPがデフォルトで利用するPSPも同時に出力される。

# esxcli nmp satp list
      Name                 Default PSP    Description
      VMW_SATP_ALUA_CX     VMW_PSP_FIXED  Supports EMC CX that use the ALUA protocol
      VMW_SATP_SVC         VMW_PSP_FIXED  Supports IBM SVC
      VMW_SATP_MSA         VMW_PSP_MRU    Supports HP MSA
      VMW_SATP_EQL         VMW_PSP_FIXED  Supports EqualLogic arrays
      VMW_SATP_INV         VMW_PSP_FIXED  Supports EMC Invista

5) インストールされているPSP一覧の表示

 VMware NMPは標準で3種類のI/Oロードバランシングアルゴリズムをサポートしている。それぞれPSPという形態で実装され収録されている。インストール済みPSP一覧の出力には以下のコマンドを用いる。

# esxcli nmp psp list
      Name           Description
      VMW_PSP_MRU    Most Recently Used Path Selection
      VMW_PSP_RR     Round Robin Path Selection
      VMW_PSP_FIXED  Fixed Path Selection

6) 各ターゲットデバイスへのNMPの適用状況の確認

 NMPはターゲットとなるLUNやデバイスごとに適切なSATP、PSPを選択し、適用する。認識されている全ターゲットのPSAの構成情報を出力するには以下のコマンドを用いる。

# esxcli nmp device list
          naa.60060160967021004fe70806e311de11
            Device Display Name: DGC Fibre Channel Disk (naa.60060160967021004fe70806e311de11)
            Storage Array Type: VMW_SATP_CX
            Storage Array Type Device Config: {navireg ipfilter}
            Path Selection Policy: VMW_PSP_MRU
            Path Selection Policy Device Config: Current Path=vmhba1:C0:T1:L4
            Working Paths: vmhba1:C0:T1:L4
          mpx.vmhba3:C0:T0:L0
            Device Display Name: Local TEAC CD-ROM (mpx.vmhba3:C0:T0:L0)
            Storage Array Type: VMW_SATP_LOCAL
            Storage Array Type Device Config:
            Path Selection Policy: VMW_PSP_FIXED
            Path Selection Policy Device Config: {preferred=vmhba3:C0:T0:L0;current=vmhba3:C0:T0:L0}
            Working Paths: vmhba3:C0:T0:L0
               :

7) ターゲットデバイスへのパス情報の出力

 I/Oマルチパス機構はターゲットとなるLUN単位で構成される。あるLUNに対して構成されているパス情報、並びに適用されているPSAの情報はesxcfg-mpathコマンド(vSphere CLI利用時はvicfg-mpathコマンド)にて確認することができる。以下の例ではターゲットとなるLUNへの到達経路が4通り存在しており、詳細情報が経路ごとに出力されている。

# esxcfg-mpath -l -d naa.60060160967021004fe70806e311de11
fc.20000000c97ec04d:10000000c97ec04d-fc.50060160c1e0e1d6:5006016841e0e1d6-naa.60060160967021004fe70806e311de11
Runtime Name: vmhba2:C0:T1:L4
  Device: naa.60060160967021004fe70806e311de11
  Device Display Name: DGC Fibre Channel Disk (naa.60060160967021004fe70806e311de11)
  Adapter: vmhba2 Channel: 0 Target: 1 LUN: 4
  Adapter Identifier: fc.20000000c97ec04d:10000000c97ec04d
  Target Identifier: fc.50060160c1e0e1d6:5006016841e0e1d6
  Plugin: NMP
  State: active
  Transport: fc
  Adapter Transport Details: WWNN: 20:00:00:00:c9:7e:c0:4d WWPN: 10:00:00:00:c9:7e:c0:4d
  Target Transport Details: WWNN: 50:06:01:60:c1:e0:e1:d6 WWPN: 50:06:01:68:41:e0:e1:d6
fc.20000000c97ec04d:10000000c97ec04d-fc.50060160c1e0e1d6:5006016041e0e1d6-naa.60060160967021004fe70806e311de11
     :
fc.20000000c97ec04c:10000000c97ec04c-fc.50060160c1e0e1d6:5006016941e0e1d6-naa.60060160967021004fe70806e311de11
     :
fc.20000000c97ec04c:10000000c97ec04c-fc.50060160c1e0e1d6:5006016141e0e1d6-naa.60060160967021004fe70806e311de11
     :

 vSphere 4で標準提供されるマルチパス機構を利用している限り、PSAの管理コマンドを実行する機会はあまりない。しかし、現在の構成情報の確認のみであっても、上記のようなコマンドを実行してみることで、ESX 4.0で採用されたデバイスネーミングの方式や、PSAの全体構造に関する理解を深めることができるだろう。

 サードパーティより提供されるPSAモジュールをインストールして利用する場合は、PSAのアーキテクチャを理解しておくことが望ましいため、必要に応じて詳細をご確認いただければ幸いである。本稿では構成情報を出力させるコマンドを紹介したが、ルールの編集や追加を行うこともできる。詳細はマニュアル「ESX Configuration Guide」をご参照いただきたい。

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。