vSAN vSphere

VMware vSAN 入門 〜 信頼性・性能編 〜

こんにちは! VMwareの中村朝之です。
前回からすこし時間があいてしまいましたが、引き続き VMware Virtual SAN (以下VSAN) についてご紹介していきます。本題に入る前に少し前回の復習から…
VSANとは?…
-シンプルな構成、シンプルな運用
ストレージ機能もハイパーバイザーに同梱。ソフトウエアでストレージ管理もシンプル!
-汎用的なハードウエアで実現可能
ストレージ専用ハードウエアは不要。サーバ/HDD等、汎用的なハードウエアを選択!
-新しいアーキテクチャによるワクワク感
vSphere専用ストレージならびに新しいアーキテクチャということで、お客様に安心していただきながらご利用いただいております
それでは第2回の VSAN における信頼性、性能についてみていきましょう。
※VSANでは、ハイブリッドタイプとオールフラッシュタイプがありますが、本記事はハイプリッドタイプを対象としております。

信頼性はどのように実現?

まずVSANにおいて一番気になるのが、データ保護はどうやっているのか?です。VSAN におけるデータ保護は、仮想マシンが持っている VMDK が図1のように異なるホストに複製が配置されます。図1では異なるサーバに2重書きして冗長性を確保しています。
図1
図1:VSANにおけるデータ冗長性
この冗長性は「仮想マシンのストレージポリシー」の failures to tolerate = FTTというパラメータで設定できます。何台の物理ホスト障害に耐えられるようにするか、という設定で決めます。例えば2重化の場合、ホスト2台のうち1台に障害が発生しても、片方の VMDK にアクセスできますので仮想マシンは稼働し続けます。この冗長性を実現するポイントは、仮想マシン単位(もっと細かくいうと、VMDK単位)で定義するということです。VSANは大きな1つのデータストアを準備し、仮想マシン毎に冗長レベルをきめられます。事前に可用性やパフォーマンスを考慮したRAID設計はいりません。ちなみに3重、4重まで指定できます。
このストレージポリシーに関しては、次回VSANハンズオンラボのご紹介の際、どのような項目があるのか触れさせてもらいます。

ハードウェア障害時の挙動を知る!

データ保護はこの冗長性により実現できていますが、実際に障害が発生した場合はどのような動きになるのか表1で見ていきましょう。
表1にあるとおり、FTT= 1 以上であれば大部分のハードウエア障害時、仮想マシン上のサービス継続が可能となります。ホスト障害の場合、落ちてしまった仮想マシン上で動いている仮想マシンは一旦サービス停止が発生しますが、vSphere HAで保護されていれば、vSphere HAと同様の動きをします。
表1 :障害ポイントとサービスへの影響、復旧方法
(VSANノード 4台以上、ストレージポリシー FTT=1を想定)

障害箇所 仮想マシン影響 ユーザへの影響 復旧作業 VSAN内部のリカバリ処理(リカバリ開始のタイミング)
HDD 障害 継続稼動 影響なし ・HDD交換
・VSANへ追加
障害が発生したディスク上のデータのミラーコピー(即時)
SSD 障害 継続稼動 影響なし ・SSD交換
・VSANへ追加
同一ディスクグループ内の全ディスク上のデータコピー(即時)
ストレージ
コントローラー障害
継続稼動 影響なし ・コントローラ交換
・再設定
・VSANへ追加
コントローラ管理下の
全ディスクのデータコピー(即時)
ホスト障害 障害ホスト上の仮想マシン再起動 障害ホスト上で稼働している仮想マシンに数分ダウンタイム
(HAでの自動再起動)
・ホスト交換、
・ホスト初期設定
・VSANへ追加
ホスト内の全ディスク上の
データコピー(60分後*)
*開始までの時間は変更可能

VSAN はハイパーバイザに含まれている、いわば”vSphereストレージ”なので、vCenter Serverで管理が一元化されています。もちろん復旧操作もvCenter Serverでできてしまいます。また VSAN におけるデータ配置は基本的に個別のハードディスクに対して配置されます。
(設定や容量によって分散させることも可能)HDD障害時のリビルド時は、必要なDiskのみ負荷がかかります。(図2参照)復旧時の負荷は、必要最低限な負荷で短時間に復旧できます。

図2
図2: リビルド時も最低限の負荷で早急に復旧
ハードウエア障害時の動きについては、こちらの vExpertの大塚さま(ソフトバンク C&S)のBlogにて詳細に紹介されておりますので、こちらも参照してみてください。

VSANの性能について〜分散して処理を実行〜

最近のストレージのパフォーマンス向上として、キャッシュ機能としてフラッシュデバイスを有効活用する手法がトレンドです。VSANでもフラッシュデバイスをキャッシュとして性能向上をはかっています。まずは VSAN がどのようにRead/Writeをしているか見ていきましょう。
VSANにおけるキャッシュの考え方は図3がイメージしやすいです。図3の場合、VSANノード(ESXiサーバ)は4台で構成されてます。それぞれのノードに400GBのSSDを搭載しているとすると、1.6TBのキャッシュを持ったストレージとなります。
2-3-1
図3:SSDの総量がVSANのストレージキャッシュとして利用
キャッシュを追加したい場合、ESXi ( VSAN を構成するホスト)を追加したり、ノードにディスクグループを追加することによってキャッシュを増やすことが可能です。
ディスクグループ:
VSANのおけるSSD(キャッシュレイヤ)とHDD(キャパシティレイヤ)を1つのグループとした管理単位
もしキャッシュ量が足りなかったり、またはパフォーマンスを向上させたい場合、キャッシュ容量を柔軟に増やすことができます。追加もとてもシンプルで、vCenter Server実施します。先日 VSAN をお使いのユーザ様も実際ご自身で実施されていました。
VSANにおけるキャッシュ容量の指針としてはサイジングガイドをご参照ください。実データの10%がキャッシュ容量の目安です。

データの読み書きについて

さて実際のデータ読み書きの動きについてもみていきましょう。
書き(Write)
Writeについては 通常のストレージとあまり変わりはないので、イメージしやすいかと思います。FTT = 1であれば、異なる2つのノードから Ackが戻ってきたら書き込み終了です。(Ackを返すのはフラッシュデバイス) フラッシュデバイスから磁気HDDヘの書き込みは順次実施しています。
読み(Read)
Readについては、VSANの特徴がでます。図4を例にみていきましょう。ある仮想マシン( FTT =1)がデータを読み出す場合、1つのノードからReadではなく、分散してデータを読み出します。
2-4
図4: VSANは分散処理が特徴
分散して読み込み処理を行っているので、どこかのホストで読み込み集中したりしません。また仮想基盤の場合、想像してみてください….仮想マシンが頻繁に移動することが考えられますので、もし配置が変わったとしても読み込み処理が分散されているので安心です。
通常のストレージはコントローラが2個( =2重化 )あるのが一般的ですが、VSANの場合で考えると、コントローラがノード数だけあり処理を分散させ処理能力を向上させている、というイメージです。

まとめ

VSANの信頼性と性能についてご紹介しました。VSANの動きがイメージできると安心して使用することができますね!ちなみに 最新バージョン VSAN 6.2についてはこちらの記事を参照ください。それでは次回、オンラインラボで実際にVSANを触ってみましょう!
VMware VSAN 入門:
1/4 〜 従来のストレージと VSAN の違い 〜
2/4 〜 信頼性と性能編 〜(本記事)
3/4 〜 VSAN オンラインハンズオンラボをやってみよう 〜
4/4 〜 VSAN Ready Nodeとは〜
<著者紹介>
VMware シニアシステムズエンジニア(リーダー) 中村 朝之
2010年 VMware入社以後パートナーSEとしてプリセールスに従事。前職ではストレージ関連のサポート業務をしていたため、その経験を活かしながら現在はVSANやハイパーコンバージドインフラ(HCI)に注力しております。プライベートはトライアスロンでIronmanレースを目指して奮闘中。