vSphere vSAN

vSphere 5.5 の新機能紹介 VMware Virtual SAN その3

前回、その2では、ストレージポリシーを利用した仮想マシンのSLAの管理についてご説明しました。今回は、Virtual SANの読み書き、及び障害時の動作についてご説明します。

書き込み処理

許容障害数=1 で作成された仮想マシンを例にとってご説明します。このポリシーを適応され作成された仮想マシン(仮想ディスク)は、VMDKファイルが2つのホスト内のHDDに分かれて配置されます。

1. 上記ケースでは、ホストH1とH2にVMDKファイルが配置されています。その際、このオブジェクトに対するオーナーが決まります(上記例ではH1)
2. 仮想マシンはオブジェクトオーナであるH1に対し、書き込みの要求を発行します
3. オブジェクトオーナーであるH1は書き込み要求を二つ作成し、H1 とH2 に対して発行します
4. 各ホストのSSD上で「準備」が完了すると、それぞれ「ACK」を返します(ライトバック動作となります)
5. オーナーはH1、H2からの「ACK」を受け取るとIO完了を仮想マシンへ通知、仮想マシンでの書き込み処理が完了します
6. SSD内のキャッシュは数秒間蓄積された後、HDDへディステージされ、SSD領域から削除されます

読み込み処理

上記と同じ仮想マシンでの読み込み処理について説明します。

1. 仮想マシンはオブジェクトのオーナーであるH1に対し、読み込みの要求を発行します
2. オブジェクト(VMDK)はある容量毎に読み込みを実行するホストがあらかじめ決められています(上記例ではH2)*
3. H2のキャッシュにヒットした場合はSSDから読み込みます
4. キャッシュミスした場合はHDDから読み込まれ、SSDにキャッシュされます
5. 読み込んだ内容がH1に返ります
6. 仮想マシンの読み込み処理が完了します
※このアルゴリズムにより、同一領域が複数のSSDにキャッシュされることが無くなり、SSDの利用効率が最大化します。

障害及びホストメンテナンスに関して

ディスク障害時やホスト障害時の仮想マシンの可用性、さらにはホストのメンテナンス時の考慮事項と具体的なオペレーションについてご説明します。
ディスク障害
Virtual SANを構成するHDD 1 台が障害を起こした場合、適応されたストレージポリシーに従って仮想マシンの可用性が担保されます。この場合デフォルトである、許容する障害数=1 以上で作成された仮想マシンに関しては連続稼働が担保されます。

障害を起こしたHDDがエラー状態でオペレーション継続不能な状態に陥った場合、ホストは即座に復旧処理を開始します。上記の場合は薄青の仮想ディスクに対し復旧処理を開始し、以下のような状態となります。

”障害を起こしたHDDがエラー状態でオペレーション継続不能な状態” というのが実はミソです。上記したとおりHDDの障害が永久障害と判断される場合は即時復旧となりますが、例えばHDDの状態が分からない様な場合(疑似障害発生のためHDDを抜いた場合など)、ホストはコンポーネントの一時障害か永久障害か区別が付かないため下記ホスト障害同様、一定時間デバイスが復帰するのを待つ動作に入ります。HDDの復旧処理は重い処理であるため、一時障害で戻ってくるのであればそれを待つアルゴリズムになっているということです。
ホスト障害時
ホスト障害時の仮想マシンの可用性は、vSphere HA(ホストの可用性)とVirtual SAN(ストレージの可用性)で担保されます。例えば、vSphere HAとVirtual SANを利用した以下のようなクラスタで、一番右のホストが障害でストップしてしまった場合を考えます。

上記で影響を受けるのは、以下のオブジェクトです。
障害を起こしたホスト上で稼働する仮想マシン
障害を起こしたホスト内に存在する仮想ディスク
薄青・・・3面ミラー構成
薄緑・・・2面ミラー構成
この場合、以下のようになります。

1. 障害を起こしたホスト上稼働していた2つの仮想マシンは、レプリカディスクを利用して他のホストで起動する(vSphere HA)
2. 一定時間経過してもホストが復帰しない場合*、ストレージポリシーに従い仮想ディスクの再配置を行う(Virtual SAN)
※2の一定時間に関しては、ホストの詳細設定VSAN.ClomRepairDelayパラメータで定義されており、デフォルト値は60分となっています。
ホストメンテナンス・削除時
通常のクラスタ環境同様、ホストをメンテナンスモードに変更します。このオペレーション時、以下のような確認画面が表示されます。オプションは以下の3つがあります。このオプションを利用することにより、管理者の意図した形でかつ安全に、ホストをVirtual SANから取り外すことが出来ます。なお、この作業は、必ずvSphere Web Clientで行ってください。vSphere Clientではサポートされません。

・アクセシビリティの確保(デフォルト)
該当ホストをVirtual SANデータストアから外しても仮想マシンの動作に問題ない場合、仮想ディスクの待避は行いません。ホストへのパッチ適応や一時的なシャットダウンなど、ホストをメンテナンスしたい時に利用するオプションです。このオプションを選択すると、ストレージポリシーに違反する仮想マシンが出てくる可能性があります。このため、恒久的にホストを削除する場合には適さないオプションです。
・全データの移行
該当ホスト内の仮想ディスクを他のホストへ待避します。多量のデータ転送が発生するため、メンテナンスモードに移行するまでの時間が長くなります。恒久的にホストをVirtual SANから削除する際に適するオプションです。
・データの移行なし
仮想マシンの稼働にかかわらず、仮想ディスクのデータ待避を行いませんので仮想マシンが仮想ディスクへアクセスが出来なくなる可能性があります。

まとめ

3回に渡りVirtual SANについてご紹介を行いました。Virtual SANは安価なホストローカルのストレージを利用する、拡張性に富んだストレージの新機能です。現在PublicBetaという位置づけですが、将来のFullサポートを視野に入れ、是非この段階での評価をご検討下さい。
Virtual SAN Public Beta登録サイト
http://www.vmware.com/vsan-beta-register.html