スケールアウトするブロックストレージ「ScaleIO」をEMCが無償公開。VagrantとGitHubを使って超簡単にインストール[PR]
すでに普及しているといえる仮想化やクラウドの環境では、ストレージの専用機器ではなく汎用サーバをいつでもソフトウェアによってストレージサーバ化して、柔軟なシステム構成を実現したいというニーズが確実に高まっています。
例えばOpenStackやVMwareのソフトウェアを導入してプライベートクラウドを構築したとしても、ストレージへのニーズが増えるたびにストレージ機器を買い足していく必要があるのでは、システムの柔軟性やアジリティが高いとはいえません。
もし汎用サーバをあるときはサーバとして、あるときはストレージとして柔軟に使えれば、サーバを追加していくだけでシステム構成に高い柔軟性をもたらしてくれるはずです。
EMCが発表したソフトウェアによるスケールアウトストレージ「ScaleIO」
それに応えるべく、主要なストレージベンダはソフトウェアによるストレージ製品に取り組んでいます。そして、もっとも積極的に取り組んでいるベンダの1つがストレージ大手のEMCであることは間違いないでしょう。
EMCは2013年5月にストレージコントローラの機能を備えたソフトウェア「ViPR」を発表、昨年末にオープンソース化しました。そしてもう1つ、2015年に発表し無償公開しているのが、スケールアウト可能なブロックストレージを実現する「ScaleIO」です。
ScaleIOは同社のハイパーコンバージドインフラストラクチャ製品であるVxRackにも採用されており、国内でも採用が始まっています。
ブロックストレージを分散スケールアウトで実現する利点
ScaleIOとは、ブロックストレージを分散スケールアウトストレージで実現するために開発されたソフトウェアです。
つまりScaleIOで作られたストレージは、通常のディスクドライブのようにOSからマウントして利用できます。OpenStackのストレージAPIであるCinderにも対応。OpenStackでのブロックストレージとしても最適で、優れた能力を発揮します。
ScaleIOは最初からブロックストレージ専用に設計されたため、高い性能を発揮できるうえ、ストレージのノードが増えるほど性能や容量が向上していくという特徴を備えています。最大で1000以上のノードにまで大規模にスケールできます(ノード数に上限はないものの、EMCでのサポートは1024ノードまでとのこと)。
昨年ScaleIOが発表されたときには、500ノードで100ミリオンIOPS、すなわち1億IOPSもの驚異的な性能を叩き出したと紹介されました。
これまでのストレージでは、性能を向上させるためにはより高速なハードディスクやSSDのような物理メディアとして性能の高いものに置き換え、またストレージの容量が足りなくなった場合にはより大容量のストレージに置き換える、というのが一番簡単な解決方法でした。
ScaleIOが提供するスケールアウトストレージは、この性能向上と容量拡大を、どちらもノードを追加していくだけで向上させていけるという大きな利点を備えています。例えば、3ノードからスタートして容量が足りなくなったら1ノード追加する、性能向上が必要ならさらに2ノード追加することで解決できます。
いちいちストレージを入れ替えてデータを複製する必要もなく、自動的にノード間でデータをリバランス、再構成のためにストレージを止めるなどの必要もありません。非常に高い柔軟性と効率性、高可用性を実現してくれるのです。
もちろんScaleIOには最新のストレージが一般的に備えている機能、例えばスナップショット、シンプロビジョニング、レプリケーション、データの冗長化による高可用性、IOPSのQoS、なども搭載しています。
クライアントノードはわずか2MBのメモリ消費
こうした利点を備えたScaleIOの構造を見てみましょう。
ScaleIOは、ストレージをマウントする側のクライアントノードを作る「Data Client」と、スケールアウトストレージを構成するストレージノードとなる「Data Server」の2つのソフトウェアから構成されます。
Data Clientをインストールしたサーバにはあらたなデバイス、例えばLinuxならば「/dev/scinib」といったデバイスが見えるようになり、これをマウントすることでScaleIOがストレージとして使えるようになります。
クライアントノードを実現するData Clientは消費メモリが約2MBと非常に軽量です。しかもストレージノードを実現するData Serverもオーバーヘッドが非常に小さくできているため、複数のマシン上でData ClientとData Serverを同時に実行し、それぞれのサーバがストレージプールの利点である柔軟な性能や容量の追加構成、データの冗長化による安全性などを活用する、ハイパーコンバージドインフラストラクチャのような使い方もできます。
ScaleIOに保存されるデータは、Data Clientで自動的に複数の「チャンク」に分割され、複数のストレージノードに保存されます。データが並列して複数のノードに対して読み書きされるため高速なアクセスが実現し、しかも1つのチャンクは複数のストレージノードに書き込まれてデータの冗長化が実現するため、高い保護レベルも実現します。
ScaleIOはこのようなシンプルな構造でスケールアウトストレージを構成しているのです。
Linux、VMware、Windowsに対応、VagrantとGitHubでインストール
EMCはこのScaleIOを機能や容量、使用期間などの制限なく、評価用として無償公開しています(無償版はEMCによる正式サポートと本番用ライセンスは含まれていません)。
対応するOSはLinux、VMware、Windows。評価版ソフトウェア本体に加え、ユーザーガイド、クイックスタートガイド、リリースノートが含まれています。また、ScaleIOのコミュニティサイトでは、eラーニング教材、コミュニティによるサポートなどが用意されています。
YouTubeで公開されている動画「Vagrantを活用した超簡単なScaleIOのインストール方法」では、「15分程度でScaleIOの評価環境を構築できる」と、Vagrant、VirtualBox、GitHubを使って半自動でScaleIOのシステムを評価用に構成するための方法が日本語で解説されています。
それ以外にもEMCではDocker化したScaleIO、Ansible用スクリプトなどのサンプルをGitHubの「EMC{CODE}」で公開しています。
スケールアウト可能なブロックストレージの選択肢はそれほど多くありません。ScaleIOはその中で、特に仮想化基盤、OpenStackなどのクラウド基盤に不可欠なブロックストレージの有力な選択肢の1つとして位置づけられるものといえるでしょう。
(本記事はEMCジャパン株式会社の提供によるタイアップ記事です)
あわせて読みたい
スケールアウトNASのIsilon、新機能でAmazon S3やMicrosoft Azureなどクラウドストレージを保存領域として利用可能に。OneFS 8.0リリース
≪前の記事
Google Compute Engine、68万IOPSの性能を持つ3TBの高速SSDと、64TBのブロックストレージが利用可能に