Pages

2010/09/20

サーバ仮想化と分散ストレージ/ファイルシステムの組み合わせでスケーラブル なシステムを構築

先日とある製品のパンフにあった構成が目にとまったので個人的にまとめ。

サーバの仮想化と分散型のストレージ/ファイルシステムやデータベースを組み合わせると、あり合わせの材料でスケーラブルな性能・容量に加えて冗長性を備えた環境が構築できます。
 

必要なのは複数の物理サーバ


まず普通の物理サーバ(PSV)が3台あるとして構成してみましょう。

複数の物理サーバ
 

PSV1-3、それぞれにサーバ仮想化の仕組みを入れてVMを一つずつ入れます。
VMwareのESXiとかXenServerなど管理しやすいものがよいかと思います。


それぞれ仮想サーバを1つ
 

次にそれぞれのVMで、分散型のストレージソフト、ファイルシステム、データベースなんかを入れてみます。

分散ファイルシステム/分散ストレージのインストール
 

ファイルシステムはhadoopだったり、データベースはCassandraとかは浸透してるけど、分散型ストレージソフトがそんなにないかな。
例えば複数のノードでiSCSIボリュームを作るLefthandとか、ParaScaleとかですね。
 

すると、PSV間でクラスタ化されたデータストアが作られます。
ここでVMのレイヤは気にならなくなるので以降は言及しません、分散ストレージのVM用アプライアンスもあるのでなおさら。

分散されたデータストア
 

この時点でピンとくるでしょう、分散データストアのインストール先こそVM上ですが、他の物理/仮想サーバからはもちろん、各VMの親であるホストOSからも外部にあるストレージとまったく同じように扱うことができます。
へたすりゃそこらの専用筺体で作られたアプライアンスより堅牢で、容易にスケールアウトが可能です。
 

ということでちょっと利用例を。
 

1台落ちても大丈夫、台数増やしてスケールアウト


まず前提として、分散されたデータストアはそれ自体冗長性を持つことが条件です。
ノードが1つ無くなった程度なら問題なく動作するように作られている必要があります、まあだいたいは備えているでしょう。
 

データストア上のサンプルデータ
 

これなら物理サーバがひとつ無くなっても、データの提供を続けることができます。
 

対策されていれば縮退しても大丈夫
 

さらに物理サーバを増やし、同じようにVMを構築してあげれば容量も性能もUPします。

物理サーバを増やしてスケールアウト
 

いやあ素晴らしい。5台もくっつければ少々のことでは揺るがないシステムになるのでは。
 
 

ファイルシステム、データベースならWEBアプリ、SaaSに


WEBアプリ、SaaSなどのデータベースを分散します。MogileFSなどで利用するのもいいですね。

バックエンドのDBとして
 
 

iSCSIならVMのHAに


これが一番面白いところで、構築された分散データストアがiSCSIを払いだすといった類のものならば、物理サーバ上のハイパーバイザから共用ストレージとして登録することができます。

ハイパーバイザから共用ストレージとして
 

ちょっとした入れ子の構造になるのでややこしいんですが、こうすることによりこれまで外部ストレージ必須であった(信頼性のある)HA構成が最小限のリソースで構成できます。
 

専用ストレージいらずのHA構成
 

HA構成はしたいけど、外部でストレージ買うのも高いし構築するのも信頼性と拡張性が不安だしというときに、こういう構成も面白いんじゃないでしょうか。
 

6 件のコメント:

おこちゃま さんのコメント...

ビジネス私用→ビジネスしよう

おこちゃま さんのコメント...

まーさーにそんな構成で某フィルム会社とか某メディカル企業とか某家電会社がビジネス私用としてる件について。

おこちゃま さんのコメント...

今後メディカル系を代表とする個人データビシバシのサービスが急増する事が予想されますが国内で預けるとセキュリティコストも含めてかなりの高コストになる事が予想されます。その一つの答えが上記のサービスでは無いかと。ただ、海外のストレージも視野に含めると暗号化以外の答えが必要になりますな。

おこちゃま さんのコメント...

以上、だめな日本語の例でした。

Tweets that mention サーバ仮想化と分散ストレージ/ファイルシステムの組み合わせでスケーラブルなシステムを構築 | SawanoBlog 2G -- Topsy.com さんのコメント...

[...] This post was mentioned on Twitter by Kazushi Tominaga, sawanoboly. sawanoboly said: 『 サーバ仮想化と分散ストレージ/ファイルシステムの組み合わせでスケーラブルなシステムを構築 - http://bit.ly/arkamp 』- S [...]

sawanoboly さんのコメント...

なるほど。

コメントを投稿