自作ストレージアレイ
Storage Magazine 2015年2月号より
ストレージと数台のサーバーを用意して、そこに特製ソフトウェアを加えれば、はい、即席アレイのできあがり。
ストレージアレイの基本概念は単純明快だ。
ストレージアレイとは、サーバーから書き込みできるように、単一または複数の論理ボリュームにまとめられハードディスクの集合体である。
これらのシステムの機能は単純なボリューム管理から進化して、スナップショット、データ重複排除、圧縮、ティアリング、レプリケーションなどの先進的なエンタープライズ機能を持つようになった。これらの機能を提供するソフトウェアは、時代とともに、それが稼動するハードウェアと同程度に重要になってきた。
これこそが、従来のストレージシステムに対して効率の良い代替手段として登場したソフトウェア定義のストレージ(Software Defined Storage: SDS)の背景である。SDSは物理ハードウェアからこれらの管理機能を抽出し、ユーザーが効率よく自作のデータストレージ・アレイを作り、独自のハードウェアとソフトウェアの組み合わせを選べるようにしてくれる。
ソフトウェア定義のストレージとは、実は製品カテゴリー
ソフトウェア定義のストレージは、行く通りかの方法で提供可能であり、特定の製品群というよりはむしろ、ひとつの製品カテゴリーを記述したもの、として考えるべきなのだ。このカテゴリーには、ストレージ仮想化、コンバージド・ストレージおよびハイパーコンバージド・ストレージが含まれ、それぞれがバリエーションを持っている。DIYの全貌を俯瞰するため、ここではSDSカテゴリーのひとつひとつの機能とそのバリエーションについて説明する。また、SDS型のソリューションがあなたの会社にとって役に立つかどうかを判断するためのガイダンスも提供する。
ストレージ仮想化
ストレージ仮想化は、ストレージハードウェアからストレージソフトウェアを抜き出す初めての試みだった。初期のストレージ仮想化製品は、ストレージソフトウェアを稼動するために、相当高い性能をもったハードウェアアプライアンスで構成されていた。論理的には、このアプライアンスはサーバーとストレージの間に置かれ、すべてのI/Oがそこを通過していた。これらのアプライアンスは、共通のストレージ管理ソフトウェアでプールされコントロールされた、様々なベンダーのストレージハードウェアと連携することができた。その中でいくつかの製品は、個々のストレージアプライアンスを1台の論理ユニットに集約する機能や、異なるストレージシステム間を透過的に移動する機能を提供していた。例えば、ひとつのボリュームの負荷が高い間、そのボリュームをハードディスク・ベースのシステムからフラッシュ・ベースのシステムに無停止で移動することができた。この分野の製品の例としては、DataCore SANsymphony-V、FalconStor Network Storage Server (NSS) 、IBM SAN Volume Controller (SVC)などがある。ソフトウェア製品はこの他にもあり、ほとんどの大手ストレージベンダーは何らかの形でストレージ仮想化を提供している。
DataCoreとFalconStorは10年以上もこの市場でビジネスを展開しており、両社ともにユーザーが自分で選択したサーバーハードウェア上で稼動可能なソフトウェアソリューションを提供している。特にDataCoreは、あまたのトップクラス・ストレージベンダーの機能と同等あるいはそれを超える高度な機能をそろえている。両社ともに自社のソリューションを進化させており、これから説明する他のSDS機能を持つ分野への参入も果たしている。
IBMのSVCはIBMストレージ製品とは別に、単独で購入できる専用アプライアンスだ。IBMではSVCと自社の他製品、Storwize系列製品やFlashSystemアレイ・ファミリーとの統合も行っている。ストレージの柔軟性は制限されるが、このアプローチは複数ベンダーからサポートを受ける煩わしさを無くしてくれる。IBMの提供する様々な機能は、ソフトウェアプロダクトに比肩するものであり、その中にはReal-Time Compression(リアルタイム圧縮)技術も入っている。IBM SVCは、サードパーティーのアプリケーションを自身のアプライアンス上で動かすユニークな機能を持っている。
ストレージ仮想化を仮想化する
ストレージ仮想化ベンダーが論理的必然として進む次のステップは、サーバーの仮想化環境において一台の仮想マシン(VM)としてソフトウェアが動作できるようにすることだった。仮想化をこのレベルまで行うことで、ハードウェアを別に用意することは不要になったが、能力的にコンバージド・ストレージやハイパーコンバージド・ストレージと同等というわけには行かなかった。この仮想化ソフトウェアは、通常ストレージへの共有アクセスを可能にする。VMが稼動しているサーバーホスト直付けのストレージか、ストレージ基盤内の共有アレイがその対象となった。
コンバージド・ストレージとハイパーコンバージド・ストレージ
コンバージド・ストレージやハイパーコンバージド・ストレージは、最も注目を集めているSDSのタイプである。このタイプのSDSは、仮想クラスター内の何台かのサーバーの内蔵ストレージを利用する。ボリューム管理、スナップショット、キャッシング、重複排除、圧縮、レプリケーション、などのストレージ機能を提供する点ではストレージ仮想化に似ている。VMware、Atlantis Computing、StarWind Software、Maxtaなど多くの会社がこのタイプのソリューションを提供している。
これらの製品は全て、ストレージコストの劇的削減を謳い文句にしている。これらの製品では、仮想クラスターを構成する物理サーバーの内蔵ストレージを利用できるからだ。また、ベンダー達は、専用のストレージネットワークが不要になるために、ストレージ基盤がシンプルになる、と主張している。これらの製品はサーバーサイド・ストレージネットワークを作るので、共有ストレージは全く必要なくなる。このソリューションの差別化の核のひとつは、ストレージの共有方法とストレージ上のデータの保護方法である。
レプリケーション&ウィットネス・データ保護
コンバージドおよびハイパーコンバージド・ストレージは、共に仮想環境において重要なデータ保護とデータ共有のために「レプリケーション&ウィットネス」モデルを利用している。この技術によってVM上のデータは自分のいるサーバー上で100%そのままの状態で、ユーザーによって決められた他の複数のサーバー(通常は3台)にレプリケートされる。(3台目のサーバーにコピーされたものは「ウィットネス」と呼ばれる)これによりVMはそのままの形で他の2台のサーバーに移行可能になる。物理サーバーのうちの1台が壊れた時や内蔵ドライブが壊れた時、VMは生き残った方のサーバーから起動することができる。
この技術の利点の一つは、作りが極めてシンプルなところだ。それでいて、VMを動かす責任を負っているサーバーが行わなければならない、複雑なRAIDの演算処理も必要ない。またこれは、全てのリード処理においてネットワークI/Oが不要であることを意味する。何故ならそれらのI/Oは、全てローカル物理サーバーから来るからだ。このカテゴリーのいくつかの製品は、アクティブ(活発な)データ用に各ノードのフラッシュストレージ領域を利用している。その場合、データはフラッシュから直接読み込まれ、ネットワークを経由する必要がないため、リードにはほとんどレイテンシが発生しない。
レプリケーション・ウィットネス方式の欠点は、ストレージ容量を約3倍増やす必要があるところだ。容量の追加費用はサーバーに内蔵されるレベルの(安価な)ストレージによる節約分と相殺できるにしても、全てのデータセンターが300%の容量増加要求に対処できるわけではない。もう一つの課題は、これらのサーバーをつないでいるネットワークが、運用の要であるにもかかわらず、ストレージ専用ネットワークではない、という点だ。そのネットワーク上をストレージのデータが行き来することになるので、十分なチューニングを行う必要がある。
ソフトウェア定義による集約
これに代わる技術は、クラスターサーバー内の内蔵ストレージを集約して、接続しているホストから仮想共有ボリュームが見えるようにしてやることだ。このアーキテクチャーによって、VMのデータはクラスター内の全ドライブにストライピングされ、単一のドライブや単一のノードの障害によってデータ損失が起こらないようにパリティビットが生成される。このデータ分散の形態は、消失訂正符号処理(Erasure Coding)として知られており、データ保護の用語のRAID5やRAID6と同様のものである。この技術は、ストレージ容量要件の面では、より効率が良いという利点を持っているが、全てのリード・ライトがネットワークを経由して集約されたストレージプールから行われるため、ネットワーク利用効率は良くない。この方式ではVMをあらかじめレプリケーション時に設定されていたターゲットだけでなく、ネットワーク上の任意の物理サーバーに移動させることができる。
混合型ソフトウェア定義のストレージ
コンバージドおよびハイパーコンバージドSDSの最終形は、技術のブレンドだ。この方法では、VMのデータは、自身が置かれている物理サーバーの内蔵ストレージに100%そのまま書き込まれる。次にデータは、クラスター内の物理サーバーの内蔵ドライブを集約して作ったボリュームへと分散される。多くの場合VMの手付かずのコピーを保存する内蔵ドライブはフラッシュドライブであり、集約されたボリュームはハードディスクドライブである。リードはこのローカルドライブから行われ、ライトはローカルドライブと集約されたボリュームに行われる。この方法は前述のレプリケーション・ウィットネス方式よりも優れたデータ効率を提供する。また集約方式に比べてリード処理中のネットワーク要求が少なくて済む。
コンバージド型の欠点:予測性
コンバージドSDSは非常に魅力的ではあるが、ITプランナーが考慮すべき独特な欠点を抱えている。それは、予測が不可能なことだ。
ストレージ仮想化と従来の共有ストレージの長所は、CPUのパワーをストレージソフトウェアに専念させる事だった。コンバージド方式では、ハイパーバイザと、ソフトウェア定義のストレージを使っているアプリケーションを動かしているVMにもCPUが使われる。負荷がピークに達した時、これらのアプリケーションとストレージソフトウェアの間で競合が起こり、両者共にパフォーマンスが悪化するという状況が起こりうるのだ。
ソフトウェア定義のストレージのことをもっと知ろう
■ユーザーは仮想化ストレージやSDSにどう取り組んでいるのか
■ESGパートナーRandy Kearnsがソフトウェア定義のストレージのオプションを語る
■NetAppがなぜVMware EVO:RAILへの対応をコミットしたのか読んでみよう
あなたのSDSを選ぶ
あなたのデータセンターにとって、どのSDS方式が向いているかを決める前に、そもそもSDSそのものが、あなたの会社に向いているのかを判断しなければならない。コスト削減と管理の簡素化というSDSベンダーの主張にもかかわらず、専用、共有ストレージ装置はデータセンターにおける選択の主流であり続けるだろう。
とはいえ、大半の共有ストレージ製品は、汎用のハードウェアでも動作する。それは、あなたがSDS環境用として選択するかもしれないものとまさに同様のハードウェアである。では、何故これらの専用・共有ストレージ製品が主流を占めているのか。
一点目はターンキー製品としての価値だ。ITプランナーは、ストレージソフトウェアとストレージハードウェア、両方を調査検討をしなくてもよい。二点目は一般にこれらの製品が、SDSベンダーでは提供できないようなユニークな機能を持っているところだ。三点目は、多くのITプロフェッショナルが、SDS ソリューションのトータルコストは、ターンキーで同じ事を行った時と大して変わらないと感じている点だ。
ストレージの仮想化はSDSを把握する上で最もシンプルな形態だ。デザインは従来の共有ストレージと同様だが、ストレージコントローラーの役割が従来のストレージジステムから抜き出されて、専用のアプライアンスに置かれている。このやり方は、複数ベンダーによる複数のストレージシステムを使っているユーザーにとっては、グッとくるものがある。共通のインターフェースと特徴を追加する機能は、かなりの運用コストを前もって節約してくれるだろうし、将来製品を購入する際も柔軟な選択ができるようになる。ストレージの購入の際、バンドルされたソフトウェアという要素がなくなり、ハードウェアの性能だけを考慮すればよくなる。
コンバージドまたはハイパーコンバージド型SDS製品が成功するには、これらの製品が、従来製品と同等またはより優れたパフォーマンスと、従来の共有ストレージをより安い価格で使える機能を提供しなければならない。ほとんどのSDSソリューションは同じ様な特徴を持ち、正しいチューニングをすれば、優れたパフォーマンスを提供できる。これは、特にデータアクセスがネットワーク転送を必要としないデザインの場合に有効だ。ただし、これらのデザインで使われるフラッシュとハードディスクドライブのストレージを評価する時間を取らなければならないのが、ストレージ・プロフェッショナルには頭の痛い問題だ。それ以外に、このI/Oのためにネットワークをチューニングする時間も取らなければならないのだ。さらに、繰り返すが、パフォーマンスの予測がつかないという問題も潜んでいる。
選択のプロセスとサーバーネットワークの設計に十分な時間が取れるのであれば、コンバージド型ソフトウェア定義のソリューションは、相当なコスト節約をもたらしてくれる筈だ。しかし、以下のことは重要なので銘記して頂きたい。
これらの技術によって浮いた費用は、潜在的なパフォーマンスの予測不可能性の問題を埋め合わせるために、より強力なサーバーのCPUとより多くの容量のサーバーRAMの購入に使われる可能性が高い、という事だ。
著者略歴:George Crumpは、ストレージと仮想化を専門とするITアナリスト企業Storage Switzerlandの社長である