VMware Virtual SANで実現するストレージ仮想化:Part2 データの読み書きと耐障害性

2014年4月10日(木)
染谷 文昭
 前回に続き、VMware Virtual SAN(VSAN)について解説します。今回は、VSANの特徴であるハイブリッド型共有ストレージの仕組みや障害時の挙動を説明し、さらにVSAN環境のFAQを取り上げます。
 

データの読み込みと書き込みの動作

 
 VSANはフラッシュデバイスとSASやSATAといったハードディスクを活用したハイブリッド型共有ストレージです。これは物理ストレージで現在人気のハイブリッド構成に似た構造と言えます。両者の違いを図に表し比較してみます。
 
図1 外部ストレージにおけるディスクとフラッシュの管理
図1 外部ストレージにおけるディスクとフラッシュの管理(クリックして拡大)
 
図2 VSAN環境におけるディスクとフラッシュの管理
図2 VSAN環境におけるディスクとフラッシュの管理(クリックして拡大)
 
 
 物理ストレージではフラッシュデバイスの手前にコントローラが搭載されています。VSANではESXi内部にコントローラの役割を担うモジュールが組み込まれています。このモジュールによってデータを最適に読み込み/書き込みを行うかを判別します。
 
 物理ストレージとVSANの違いとして物理ストレージではストレージ側でRAIDの構成を行うのに対して、VSANではVSANストレージ側でRAIDの構成は行わず、ストレージポリシーを適応することで仮想マシン1台1台に対して別々のRAID設定が行えるのも特徴の1つです。さらに、このポリシーは仮想ハードディスク1つ1つにも別々のストレージポリシーを適応することが可能のため、柔軟に仮想マシンを構成することができます。このような動作からVSAN自体がオブジェクトストレージであることを示し、書き込みを行う側でストレージポリシーに応じたSLAを実現しています。
 
図3 VSAN環境における仮想マシンストレージポリシーの利用
図3 VSAN環境における仮想マシンストレージポリシーの利用(クリックして拡大)
 
 物理ストレージはコントローラキャッシュ、フラッシュデバイス、ハードディスクの順にデータの読み込み/書き込みの速度は遅くなります。VSANでも同様にこの物理的な制限を受けますが、VSANは仮想環境で発生する割合が比較的多いとされるランダムI/Oに重点をおいて設計がされています。VSANでは、データを読み込んだり書き込んだりする際、どのハードディスクに保存すれば最適であるかを自律的に判断することでランダムI/Oの処理を高速に行います。次の図を見ながら、VSANがどのようにデータを読み込むか解説します。

読み込みの動作

図4 VSAN環境における読み取りI/Oの流れ
図4 VSAN環境における読み取りI/Oの流れ(クリックして拡大)
 
  1. ESXiホスト1上の仮想マシンが読み込みを実行
  2. データのオーナーを確定
  3. オーナーノード上にあるフラッシュデバイスからデータを読み込む。キャッシュがない場合はハードディスクから読み込む
  4. オーナーはESXiホスト1へ読み込んだデータを返す
  5. ESXiホスト1は受け取ったデータを仮想マシンへ返す
 
 フラッシュデバイスにキャッシュが存在しない場合、ハードディスクからデータを読み込んだあと、フラッシュデバイスにキャッシュを残しておきます。次回以降、同じデータを読み込む際にはフラッシュデバイスに保存したキャッシュから読み込むため、高速にデータを読み込むことが可能です。
 

レプリカ構成時の書き込みの動作

 
図5 VSAN環境における書込みI/Oの流れ
図5 VSAN環境における書き込みI/Oの流れ(クリックして拡大)
 

1. ESXiホスト1上の仮想マシンが書き込みを実行

2. データのオーナーを確定し書き込みを実行

3. ESXiホスト2のESXiホストのフラッシュデバイスキャッシュに書き込みを実行

4. ESXiホスト2に搭載されているフラッシュデバイスに書き込みが完了したらデータのオーナーにACKを返す

5. データのオーナーはESXiホスト1に対して書き込み完了のACKを返す

6. ESXiホスト1は仮想マシンに対して書き込み完了のACKを返す

7. フラッシュデバイスからハードディスクにデータを書き込み(デステージ)

 
 レプリカが構成されている場合でのデータの書き込みは、ESXiホストを跨いで別のフラッシュデバイスにも同様のデータを書き込み、その後フラッシュデバイスからハードディスクへデステージされます。同一のデータを二重に持つことで、ESXiホストがダウンしても仮想マシンは保護される仕組みです。
 
 フラッシュデバイスのキャッシュ容量がいっぱいになると、古いキャッシュは破棄され、新しいキャッシュを保存します。書き込みについてはデータがハードディスクにデステージされた後にキャッシュは破棄されます。次にVSAN環境の障害時の挙動について解説します。

障害時の挙動について

 
 前回は、VSANのストレージポリシー、そして今回はVSANのデータの読み込みと書き込み方法について解説しました。VSAN環境ではストレージポリシーを適応することで仮想マシンを保護することができますが、今回は障害時の挙動について解説します。まずはVSANの健全性を示すステータスを説明します。VSANのステータスは以下の4つです。
 
  • Active:健全な状態。VSAN環境は正常に動作している。
  • Absent:一時的な障害として認識している状態。障害を検知してから60分(デフォルト)経過すると恒久的な障害と認識する。
  • Degraded:恒久的な障害として認識している状態。恒久的な障害と判断した場合、他のESXiホストへデータを複製します。
  • Reconfiguring:データを同期中と認識している状態。
 

ESXiホスト障害時の挙動について

 VSANではESXiホストやハードディスクに障害が発生したとしても、即座に失ったデータを複製することはありません。発生した障害が一時的なものか判別するためです。障害検知から60分(デフォルト)経過すると恒久的な障害と判断し、他のESXiホストへデータの複製を開始します。
 

ハードディスク障害時の挙動について

 ハードディスクについては一時的な障害とは想定されにくいため、障害を検知次第、すぐにデータの復旧が開始されます。
 

フラッシュデバイス障害時の挙動について

 フラッシュデバイスが障害した場合にはステータスが「Absent」または「Degraded」のどちらかのステータスになります。いずれのステータスも障害のあったフラッシュデバイスが所属するディスクグループ自体は利用できなくなります。また、「Absent」のステータスでは一時的な障害と判断すると前述しましたが、フラッシュデバイスの障害については、「Absent」は「Degraded」と同様の挙動となり、即座にデータの復旧が開始されます。

VSAN環境のFAQ

 
 ここではVSANにおけるFAQについて記載いたします。VSANをこれから触る方や疑問点について解消されることを期待します。
 
【1】VSANクラスタ内のESXiホストすべてにフラッシュデバイスとハードディスクを用意する必要はありますか?
用意する必要はありません。CPUとメモリリソースのみ不足しているようであれば、ハードディスクを搭載していないESXiホストをvSANクラスタ内に作成または追加することでvSANデータストアを利用することができます。
 
【2】ハードディスクの増減は無停止で可能ですか?
はい、可能です。ディスクグループ内にあるハードディスクを減らす場合、ディスクグループをメンテナンスモードにしないでハードディスクを削除しますとそのハードディスクに含まれているデータは失われますのでご注意ください。ディスクグループにあるデータを退避するにはディスクグループをメンテナンスモードにする必要があります。
 
【3】ハードディスクの容量よりサイズの大きい仮想ハードディスクを保存することはできますか?
はい、可能です。通常、VSANのストレージポリシーでストライプ数を1に設定した場合、1つのハードディスクにデータが格納されます。36GBのハードディスクを4本搭載したESXiホストがある場合、72GBの仮想ハードディスクを作成するのはポリシー違反となり、本来であればデータを保存することはできませんが、VSAN側で自動的にストライプ数を増やしデータを分散して保存します。
 
【4】フラッシュデバイスの容量はどのようにサイジングすれば良いですか?
ディスクグループにあるハードディスク合計容量の10%の容量を持ったフラッシュデバイスをご用意いただくことを推奨しています。
 
【5】フラッシュデバイスのキャッシュ領域は、読み込みと書き込みの割合はどのように割り当てられていますか?
フラッシュデバイスの全容量のうち読み取りキャッシュ領域が70%、書き込みキャッシュ領域が30%に設定されています。
 
【6】VSANデータストア内にある仮想マシンはvFRCを利用することはできますか?
vFRCは物理ストレージを利用する時に有効となるため、vSANデータストアに保存してある場合は利用することができません。両方の機能を有効化し、それぞれの機能を利用することは可能です。
 
 今回は6つのFAQを挙げさせていただきました。疑問点は払拭されましたでしょうか。参考にしていただけると幸いです。
 
 VSANはESXiホストを増やすことで共有ストレージ容量の拡張、性能をスケールアウトするだけでなく、コスト面、運用面、そして可用性も備えた設計がされていることがお分かりいただけたかと思います。これまで共有ストレージが抱えていた展開におけるハードルとなっていた仮想デスクトップ環境においてもVSANであれば構築が容易であり、かつ展開の高速化を図る1つの手段となりえる可能性があると考えられます。
 
 次回はESXiホストにフラッシュデバイスを搭載させ、読み込みと書き込みキャッシュ機能を有して物理共有ストレージへのアクセス高速化を図るPernixData FVPについて紹介します。
 
株式会社ネットワールドに新卒入社し仮想化業務に携わること5年。
vExpert2014-2015取得。
最近のマイブームはVDI環境での3Dベンチマーク。
軟弱モーターサイクリスト。愛車はトライアンフのスクランブラー(今のところ)。

 

連載バックナンバー

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています