Storage Magazine翻訳記事

vSphereとデータストレージについて知るべきすべてのこと

著者:Eric Siebert
Storage Magazine 2010年1月号より


VMwareはストレージ管理者には以前から大人気だが、ストレージ専門家の間ではさほどでもない。その後継製品であるvSphereは、VMwareのストレージ関連の短所の多くを克服している。

VMware Inc.が2009年5月にリリースしたvSphereには、100を超える新機能と機能強化が含まれていた。その多くは、データストレージに関するものだ。データストレージ管理に関するvSphereの機能強化には以下のようなものがある。

シンプロビジョニングに関する機能強化
iSCSIに関する改善
Fibre Channel over Ethernet(FCoE)とジャンボフレームのサポート
仮想ディスクをホット拡張する新機能
VMFSボリュームを拡大する新機能
新たに採用されたPluggable Storage Architecture(PSA)
新たに搭載された、準仮想化されたSCSIアダプタ
新たに搭載された、ストレージI/Oデバイス向けのVMDirectPath
VMware Storage VMotionに関する機能強化
新しいvStorage API
vCenter Serverに新たに搭載されたストレージのビューとアラーム

(補足) vSphereとHyper-VおよびXenServerとの比較

vSphereに施された多くのストレージ関連の機能強化の中には、ストレージ環境に大きな影響をもたらす可能性があるものもある。以下でそれぞれについて詳しく解説する。


シンプロビジョニングに関する機能強化

シンプロビジョニングディスクは、始めは小さめに用意して、データが書き込まれていくにつれて拡張していく仮想ディスクである。「シック(thick)」ディスクでは、ディスク作成時にそのスペースが全て割り当てられるのに対し、シンディスクでは、1 MB(またはデフォルトのブロックサイズに応じて最大8 MB)から始めて、ゲストOSによってデータが書き込まれていくにつれて、所定の最大サイズまで拡張していくシンプロビジョニングはVirtual Infrastructure 3(VI3)から利用可能であったが、vSphereでは以下のような多くの変更が施されてより使いやすくなっている。

vSphereでは、仮想マシン(VM)が作成された時にvSphereクライアントを使用してシンディスクを作成できる。これに対しVI3では、シンディスクの作成にvmkfstoolsコマンドラインユーティリティを使用していた。 vSphereでは、VMの実行中にStorage VMotionを使用して既存のシックディスクをシンディスクに変換できる。これに対しVI3では、仮想マシンの電源を一旦オフにする必要があった。

vSphereでは、vSphereクライアントでシンディスクの実際のサイズを確認することができる(VI3ではコマンドラインの機能だった)。 vCenter Serverに新たに搭載されたアラーム機能では、超過割り当てと使用率に関するアラートを設定できる。 新たに搭載された安全機能では、空きスペースが少なくなりすぎた時にシンディスクを使用しているVMが自動的に一時停止される。

これらの改善点により、シンディスクがより管理しやすくより使いやすくなる。ストレージアレイがシンプロビジョニングをサポートしている場合、VMwareのシンディスクを使用すべきか(いわゆる「thin-on-thin」にすべきか)、という質問をユーザから受けることがよくある。可能であれば両方を使用した方が良いが、その場合アレイとVMwareを注意深く監視して、十分な空きスペースがあることを確認する必要がある。そのほかにシンディスクに関して懸念される事項としては、拡張に伴うパフォーマンスへの影響と、断片化が進む可能性が挙げられる。VMwareによると、シンディスクによって生じるパフォーマンスへの影響は無視できる程度だという。

iSCSIに関する改善

iSCSIストレージアレイは、比較的低コストでパフォーマンスも悪くないことから、多くの仮想ホストストレージで選択されるようになった。iSCSIソフトウェアイニシエータを使用すると、TCPオフロードエンジンを搭載したハードウェアに比べて若干パフォーマンスの低下が必ず起きる。vSphereでは、VI3に比べてCPUサイクルが効率的に使用されるようにするとともに、スループットを向上するためのiSCSIソフトウェアイニシエータスタックが全面的に刷新された。

またVMkernel TCP/IPスタックも、キャッシュ親和性が最適化され、内部ロック効率が向上するよう強化された。そのほかのiSCSIに関する改善点としては、プロビジョニングと設定がより容易になったこと、およびイニシエータとターゲットの両方が相互に認証を行うようにしてセキュリティを向上させる双方向Challenge Handshake Authentication Protocol(CHAP)がサポートされたことが挙げられる。

FCoEとジャンボフレームのサポート

vSphereでは、最新のストレージ技術とネットワーク技術がサポートされるようになった。たとえば以下の技術だ。

Fibre Channel over Ethernet:vSphereでは統合ネットワークアダプタ(CNA)でFCoEがサポートされるようになった。 ジャンボフレーム:従来のEthernetのフレーム長は1,518バイトであるのに対し、ジャンボフレームの長さは通常9,000バイトで、これによりネットワークのスループットとCPUの効率が向上する可能性がある。

VMwareではESX 3.5からジャンボフレームをサポートしていたが、データストレージプロトコルと組み合わせての使用は公式にはサポートしていなかった。vSphereのリリースから、1 Gbpsまたは10 Gbpsのネットワークインターフェースカード(NIC)を使用してソフトウェアiSCSIとNFSストレージデバイスと組み合わせてジャンボフレームを使用することが公式にサポートされるようになった。

仮想ディスクのホット拡張

VMware vSphereでは、ゲストOSでサポートされている限り、vSphereの電源をオンにしたままで、既存の仮想ディスク(VMDKファイル)のサイズを大きくできる。

仮想ディスクのサイズを大きくすると、以後ゲストOSがそれを使用して新しいディスクパーティションを作成、または既存のパーティションを拡張できるようになる。この機能はWindows Server 2008、Windows Server 2003 EnterpriseおよびDatacenterエディション、および特定のLinuxディストリビューションでサポートされている。以前は、仮想ディスクのサイズを大きくする前にVMの電源をオフにする必要があった。

VMFSボリュームの拡大

vSphereでは、エクステントを使用することなく、また仮想マシンを停止させることなく、VMFSボリュームのサイズを大きくできる。VI3では、VMFSボリュームに別の論理ユニット番号(LUN)をエクステントとして追加する必要があったように、これにはいくつか不便な点があった。vSphereでは、ストレージエリアネットワーク(SAN)の構成ツールを使用して、既存のVMFSボリュームのLUNを拡大した上で、VMFSボリュームを拡張することができるため、より大きなスペースを使用できる。

これはつまり、エクステントを使用する必要がなく、より大きなボリュームを作成するために、VMを他のデータストアに移動し既存のVMFSボリュームを破棄しなくてもいいことを意味する。

Pluggable Storage Architecture

VMware vSphereでは、サードパーティベンダと特定のストレージ機能との間のインターフェースとなる新しいモジュール式ストレージアーキテクチャが採用された。Pluggable Storage Architecture(PSA)によって、ベンダはマルチパス機能のようなストレージI/O機能の制御のためのプラグインを作成することができる。

ストレージに対する複数のパスが利用可能な場合にパスが固定式またはラウンドロビン方式で選択されるようにする機能も内蔵されている。ベンダはこれを基に拡張を行って、ロードバランシングと、よりインテリジェントなパス選択を通じてパフォーマンスの最適化を図る独自のプラグインモジュールを開発することができる。これを達成するために、PSAはvStorageのマルチパス処理APIによる新機能を利用する。

準仮想化されたSCSIアダプタ

準仮想化とは、特定のオペレーティングシステムで、特別なドライバを使用してハイパーバイザと直接通信することを可能にする技術だ。準仮想化を行わないと、ゲストOSは仮想化レイヤを認識せず、バイナリ変換を使用しているハイパーバイザによって特権コールがトラップされてしまう。

準仮想化は、仮想マシンのスループットを向上させCPUの使用率を下げるため、I/O負荷の高いアプリケーションに適している。準仮想化されたSCSIアダプタは、プライマリでないOSパーティションに使用できる独立したストレージアダプタであり、VMの設定を編集して準仮想化機能を有効にすることで使用できる。

そういうとVMDirectPathに似ているように思われるかもしれないが、大きく違うのは、準仮想化されたSCSIアダプタはホストサーバ上の複数のVMで共有できるので、1つのアダプタを1つの仮想マシン専用にする必要がないことだ。

ストレージI/Oデバイス向けのVMDirectPath

VMDirectPathは、VMがホストアダプタに直接アクセスし、仮想レイヤを迂回してスループットの向上とCPU使用率の低下を図る点で、準仮想化されたSCSIアダプタに似ている。しかしVMDirectPathでは、1つのアダプタを1つのVM専用にしなければならず、そのホスト上の他の仮想マシンがこれを使用することはできない。

VMDirectPathは、ネットワークアダプタとストレージアダプタのいずれでも特定のモデルで利用可能であるが、現時点でvSphereで完全にサポートされているのはネットワークアダプタのみで、ストレージアダプタは実験的にしかサポートされていない。PVSCSIアダプタと同様に、VMDirectPathは、データベースサーバのような、ストレージまたはネットワークのI/O要件が非常に高いVMに使用できる。VMDirectPathでは、これまで物理的に処理してきたワークロードであっても仮想化することが可能だ。VMDirectPathの短所は、VMware VMotionやDistributed Resource Scheduler(DRS)といった機能を使用できないことだ。

Storage VMotionに関する機能強化

VMotionでは仮想マシンの場所はそのままで実行中のVMをホストからホストへ移動できるのに対し、Storage VMotion(SVMotion)ではVMを同じホスト上に置いたままでVMのストレージ場所のみを変更する。SVMotionはESX Version 3.5で初めて導入されたが、コマンドラインユーティリティとしてしか利用できなかった。vSphereではvSphere Clientに統合されたため、SVMotionをすばやく簡単に移動できる。さらに、SVMotionではシックディスクかシンディスクへ、またその逆のシンディスクからシックディスクへの変換も可能になった。

またSVMotionは、データが削除された後のシンディスクを再度縮小する際にも使用できる。通常、Storage VMotionはVMの場所を他のストレージデバイスに移動する際に使用する。しかし、ディスクの変換を行う際にはVMを現在のストレージデバイスに置いたままにすることもできる。SVMotionでは、実行中の仮想マシンを容易に他のストレージデバイスに移動できるため、データストレージの保守を行う際に非常に役立つ可能性がある。

表面からは見えない機能強化としては、移行プロセス全体が格段に効率的になったことが挙げられる。新しいSVMotionでは、スナップショットを使用してディスクを新しい場所にコピーし、操作が完了した時にそれを確定する代わりに、新たに搭載された変更ブロック追跡機能を使用して、移動プロセス開始後に変更されたブロックを追跡し、移動完了後にそれらのブロックをコピーするようになった。

変更ブロック追跡

変更ブロック追跡(CBT)は、新たに搭載された重要なデータストレージ機能で、バックアップ、レプリケーション、その他のデータ保護アプリケーションにとって特に重要だ。vSphereのVMkernelでは、特定の時点から仮想マシン(VM)のどのディスクブロックが変更されたかを追跡できるようになった。データ保護のためのVMware vStorage APIに接続することにより、アプリケーションは情報を自ら探す必要なくVMkernelから入手することができる。またCBTでは、VMディスクファイルのレプリケーション時にほぼリアルタイムの継続的データ保護(CDP)が実現する。さらにCBTでは、変更されたどのブロックをバックアップする必要があるかをバックアップアプリが容易に検出できるため、増分バックアップをスピードアップすることができる。選択されたリストアポイントに対してどのブロックを仮想ディスクに戻す必要があるかをバックアップアプリが正確に認識するため、データのリストアも格段に容易になる。

CBTを使用するとわずかにパフォーマンスのオーバーヘッドが発生するため、CBTはデフォルトでは無効になっている。CBTは、CBTを必要とするVM上でのみ、VMに設定パラメータを追加することにより有効にできる。変更ブロック追跡をサポートするバックアップアプリケーションでも、VM上でCBTを有効にすることができる。CBTを有効にすると、変更されたブロックに関する情報が、特別な--ctk.vmdkファイルに格納されるようになる。このファイルは各VMのホームディレクトリに作成される。この処理を行うために、CBTは特定の時点での仮想ディスクの状態に割り当てられる一意の識別子である変更IDを使用する。バックアップアプリケーションによってVMのスナップショットが作成されると、その都度新しい変更IDが作成される。バックアップアプリケーションは、変更IDを使用して、前回のバックアップからどのブロックが変更されたかを認識する。CBTは、仮想マシンハードウェアのバージョンがバージョン7のVMでのみ(vSphereから新しく加わった条件)サポートされるため、CBTを使用するにはVMの仮想ハードウェアをアップグレードする必要がある。

新しいvStorage API

vStorage APIは、サードパーティベンダがvSphere内のデータストレージとシームレスに対話するためのインターフェースの集合だ。vStorage APIには以下4つのカテゴリがある。

アレイ統合:このカテゴリのAPIは、特定のストレージベンダと共同開発中だ。APIが完成すると、アレイベースのスナップショット、ハードウェアの負荷が軽減されたストレージデバイスのロック、VMwareとアレイレベルのシンプロビジョニングの統合、ストレージのプロビジョニング、データのレプリケーションといった、アレイ指向の機能へのアクセスが可能になる。場合によっては、ストレージアレイで特定の操作が可能になることで効率が向上する可能性がある。VMのクローン作成またはテンプレートベースの展開を、ESXサーバ上でのファイルレベルのコピー作業でなく、アレイの負荷軽減によってハードウェア面から加速できる。Storage VMotionでは、ストレージアレイの機能を利用してより迅速に、かつESXホストへの影響がより少ない形でデータをコピーできるだろう。そしてVMwareが使用する従来の「SCSIロック」メカニズムと異なり、アレイは更新される特定のブロックのみをロックするため、1つのデータストア上に展開できるVMの数を劇的に増やすことができる。

マルチパス処理:このカテゴリのAPIはPluggable Storage Architectureによって使用され、ストレージベンダがマルチパス処理をよりインテリジェントに使用してストレージI/Oスループットとストレージパスフェイルオーバーを向上させることを可能にする。ストレージベンダは、自社のマルチパス処理拡張モジュールをESX(i)で使用するためには、VMwareの認定を受けなければならない。vStorageのマルチパス処理APIは複数ある。パス選択プラグイン(PSP)では、任意のI/Oについてパス選択アルゴリズムを拡張できる。ストレージアレイタイププラグイン(SATP)では、新しい/変更されたパスの検出と継続的なパス状態管理が可能だ。マルチパス処理プラグイン(MPP)では、パス管理やパス選択を含むvSphereのパス管理モデル全体を拡張できる。

Site Recovery Manager(SRM):このカテゴリのAPIを使用すると、SRMをブロックとNASストレージのアレイベースのレプリケーションと統合することで、SRMがVMおよびホストのフェイルオーバーとストレージレプリケーションのフェイルオーバーをシームレスに処理できるようになる。また、SRMがその基盤となっているアレイベースのレプリケーションを制御することも可能になる。

データ保護:このカテゴリのAPIは、VI3で導入されたVMware Consolidated Backup(VCB)に取って代わるものだ。これらのAPIはVCB機能を含むが、さらに変更ブロック追跡やVDDKを通じて仮想ディスクの内容と直接対話する新機能も追加する。これらのAPIを使用すると、バックアップやデータ保護のアプリケーションを提供するベンダが、より効果的な統合を実現できる。

補足)vSphereとHyper-VおよびXenServerとの比較

仮想化ツールはVMwareだけではない。Microsoft Corp.のHyper-VとCitrix Systems Inc.のXenServerも人気がある仮想化ツールだ。この表では、vSphereのストレージ関連機能とHyper-VおよびXenServerのストレージ関連機能を比較した。

 

VMware vSphere 4.0

Microsoft Hyper-V R2

Citrix XenServer 5.5

仮想ディスクのシンプロビジョニング

限定的、StorageLinkとサポートされているSANが必要

Fibre Channel over Ethernet(FCoE)のサポート

FCoEはサポートされるがInfiniBandはサポートされない

限定的、FCoEもInfiniBandもサポートされない

ジャンボフレームのサポート

×

仮想ディスクのホット拡張

×

×

ストレージボリュームの動的拡大

×(LUNの拡大縮小にはサードパーティ製SANツールが必要)

×

ストレージアダプタの準仮想化のサポート

○(Linuxゲストの場合)

ストレージデバイスへの直接アクセス(VMDirectPath)

×

×

VMware Storage VMotionの実行中操作

×(Quick Storage Migrationの実行中は不可)

×

データ保護API

×

×

マルチパス処理API

×

シンディスクの監視とアラート

×

×



vCenter Serverに新たに搭載されたストレージのビューとアラーム

vCenter Serverのストレージ関連のレポートとアラームも改善された。最も顕著な改善は、ストレージ測定指標に関する詳細な情報を表示するストレージビューが新たに搭載されたことだ。アラームも拡張され、データストアのオーバーコミットメントやディスクスペースの不足といった特定のストレージ関連問題にも対応できるようになった。

vCenter Serverのストレージビューはプラグインであるため、インストールして有効にする必要がある。有効にすると、左ペインでいずれかのオブジェクトを選択したときに右ペインに[ストレージビュー]タブが追加表示されるようになる。そのタブでは列を選択することにより、VMが使用しているディスクスペース総量(スナップショット、スワップファイルなどを含む)、スナップショットが使用している総容量、仮想ディスクが使用している総容量、容量の使用状況に関するその他の統計情報などが表できる。

この機能は、使用している環境内で各コンポーネントについてどれだけのスペースが使用されているかをすばやく把握し、スナップショットのスペース使用状況を容易に監視することができる便利なツールだ。また、仮想マシン、ホスト、およびストレージコンポーネントの間の関係が見られるマップビューもある。

VI3で利用可能なストレージに関するアラームは、ホストとVMのディスク使用量(KBps)に関するもののみだった。今回数百の新しいアラームが追加され、その多くは、例えば空きスペースが不足しそうなデータストアに関するアラートなど、ストレージに関するものだ。これは、スナップショットとシンディスクのデータ量が増えて空きスペースをすべて使い切ってしまうという二重の懸念があるときに特に重要だ。そのほかのストレージ関連のアラームには以下のものがある。

データストアのディスク超過割り当て率
すべてのホストに対するデータストアの状況
作成/拡大/削除/検出/拡張されたデータストア
ストレージパスの冗長性の低下
ストレージ接続の切断

ストレージの改善に役立つvSphere

vSphereには、ストレージ業務に関する大きな機能強化に加えて、ここでは取り上げなかったより軽微な改善が数多く施されている。それらの数々の機能強化が結集されたことにより、ストレージのパフォーマンスと操作性が向上し、ストレージがより管理しやすくなる。現在VMwareを使用しているユーザがvSphereにアップグレードする気になるだけの十分な魅力があるといえるかもしれない。


略歴:Eric Siebert氏は、IT業界で25年以上の経験を持つベテラン技術者で、現在はサーバ管理と仮想化を専門としている。著書に『VMware VI3 Implementation and Administration』(Prentice Hall、2009年)がある。


All Rights Reserved, Copyright 2000 - 2008, TechTarget
*この翻訳記事の著作権はJDSFが所有しています。
このページに掲載されている記事・写真・図表などの無断転載を禁じます。