« clustered Data ONTAPパフォーマンス監視への道のり⑤ | メイン | クラウドにバックアップするには?(クラウドゲートウェイ編) »

2016/02/02

最新のVMware VSANに搭載される 「Erasure Coding」とは何か?

新しいVSANは最強のVMware用ストレージになる!?

VMware VSANは6.0でVMFSベースのファイルシステムから、VSAN専用のVSANFSへとファイルシステムを転換し、(VMFS-Lを悪くいうわけではありませんが、)フォルトドメイン機能の実装によってデータセンタトポロジに合わせたデータの保全性を実現しています。パフォーマンス面でもオールフラッシュモードが搭載され、ミッションクリティカルな領域でも十分に利用出来るようになってきました。それから半年と空けずにリリースされたVSAN 6.1ではいよいよ様々なデータサービスがVSAN上に実装されてきています。2ノードから始められるVSANもその一つですし、(まだいろいろと課題はあるものの)コモディティのサーバだけでメトロクラスタを実現する事も可能になってきました。

Vsan61

非常に短期間で様々な機能を実装しているVSANの次なる一歩は何でしょうか? VSAN.nextのベータとして公開され、周知になっている機能は以下の3つです。

  • Compression(圧縮)
  • Dedupe(重複排除)
  • Erasure Coding(* 本日の本題)

圧縮・重複排除は様々なストレージ上にすでに実装され、みなさまはよくご存知のテクノロジーだと思いますが、3つめのErasure Codingとは一体何なのでしょうか?

そもそも「Erasure Coding」って何?

英単語の意味をしらべると「Erasure」は消去、抹消と言った意味であり、「Erasure Coding」といった場合、「抹消されてしまった情報」についての操作となります。わかりにくいですね。もっと身近でわかりやすい実装を上げるとRAID5やRAID 6の様な技術で、失われてしまったデータを残ったデータから復元するためのテクノロジーのことです。

WikiPediaにも「情報産業におけるErasure Codingはforward error correctionのことを指す」とあり、つまり情報の伝達の際に紛れ込むエラーを訂正する実装のことだと記載されています。

これがVSANに載ると何がいいのか?

現在(VSAN 6.1)まではこのエラー訂正のための機能は実装されておらず、ノード(サーバ)障害への対応にはレプリカを作成するという実装になっています。

Vsanftt1上の図にあるように、1ノードへの耐障害(FTT=1)で構成した場合には、単純に実際に仮想マシンが使える領域サイズの2倍のサイズが物理ディスク上で消費されてしまいます(今回は簡単のためWitnessについては説明しません)。逆を言うと最低限の障害に備えるためにもディスクの消費が2倍になってしまう事になります。

サーバに入れるディスクはストレージに内蔵されるディスクに比べ比較的安価であることを考えるとこの実装でも十分なケースもあるとは思いますが、RAID5、RAID6を知る我々からすると少し物足りなく感じた方もいらっしゃったのではないでしょうか。これを解決してくれるのがErasure Codingのテクノロジーです。

Erasure Codingを利用して1ノード障害耐性(3+1)を実現した場合は以下の様になります。

Vsan31※上の図はあくまで3+1を考えた場合のデータサイズ量をわかりやすくするための図で、実際にリリースされるVSAN.nextの実装とは異なるはずです。

この場合、各々のノードに格納されるデータはVMDKのサイズの1/3となり、パリティと合わせると、ディスク上で実際に消費されるデータはもとの仮想マシンのサイズの 4/3 ≒ 1.33倍で済むことになります。

実データ (1/3) x 3ノード + パリティ (1/3) x 1ノード = 4/3 ≒ 1.333・・・

またVSANのクラスタノードサイズが大きくなれば4+2の構成も取ることが出来るようになり、この場合は

実データ1/4 x 4ノード + パリティ (1/4) x 2ノード = 6/4 = 1.5

となります。

お気づきになった方もいらっしゃると思いますが、この方式を利用するためには最低でも4ノードまたは6ノード以上の構成が必要になってしまいます。(実際に正式にリリースされた後に、サポート対象になるのがどの構成で最低何ノード必要になるのか改めてご確認ください。)

また、もう一つの注意点として、ネットワーク障害時の耐性も考えておく必要があります。上の3+1の例では4ノードのうち2ノードがネットワークアクセスできなくなってしまった場合にはデータを正しく訂正することができません。NICの冗長化、スイッチなどの構成にも注意が必要です。

圧縮・重複排除と合わせて利用可能に

今回のErasure Codingが利用できるレベルのクラスタサイズであれば、従来のストレージ装置と同じレベルのスペース消費でVSANを利用することができます。更に新たに圧縮、重複排除の機能も追加されるため、いわゆる新世代のストレージと同じく、容量の消費を削減しての利用が可能になります。

さぁ、VSAN.nextを待ちましょう!

すでにあちこちで騒がれていますが、リリースは目前です。今回ご紹介した以外にも様々な機能が搭載されてくることでしょう。是非次世代のVSANにご期待ください!

記事担当者: マーケティング本部 三好哲生 (@pernixdata_netw)