近年導入が進んでいるオブジェクト・ストレージについて解説する本連載。今回はブジェクト・ストレージの特徴について説明します。

非構造化データをフラット(複雑なディレクトリによる階層がない)に溜めておくのに最適なオブジェクト・ストレージは、その拡張性(パーティショニングする必要がない)、可用性(強力なデータ自動回復機能による冗長性)が特徴となりますが、これらは、データ保存のときにイレイジャー・コーディング (以下、「EC」) を採用することで達成されています。データ保全のための強力な「誤り訂正符号化技術」も併せ持ちますので、高いデータの堅牢性も確保されています。これら特徴を理解したうえで応用分野への提案につなげるために、この符号化技術について触れておきましょう。同時に、なぜ高速処理や数十キロバイト以下の小さなデータを扱うのが苦手なのかも明らかにしていきます。

拡張性と可用性のメリット

簡単なオブジェクト・ストレージを、ECポリシー18/5で組んでみます。ECポリシー18/5 は、一つのデータ(オブジェクト)を18個に分割・分散配置し、その中で同時に5個が読み出せなくても、運用に支障がないようにするというルールです。  

このECポリシーを適用したオブジェクト・ストレージシステムを搭載するハードウエアの例を以下に示します。大容量HDDをJBODに詰めて、データセンター用ラック下部に6段搭載。ラック上部には オブジェクト・ストレージのコントローラーとなる1Uサーバが並びます。このラックを横並びにして拡張して行き、一つのネームスペース(データのプール)として構成します。Western Digital ActiveScaleを用いると、最小構成720TB (10TB HDD x 12台 x 6ドロワー ) からスタートし、1ラック当たり 5.88PB を必要な数だけ並べて拡張可能となっています。

  • オブジェクト・ストレージシステムを搭載するハードウエアの例

簡易構成図では、最小構成と4ラックに拡張した様子を示します。

  • 簡易構成図

この簡易構成図では、ECポリシー18/5を用いてオブジェクトを物理的に18カ所に分散配置した様子が、ラック内でオレンジ色に塗りつぶしたところになります。各オブジェクトの断片には、データ訂正符号が付加されており、読み出し時に検証され、エラーがあれば、ほとんど遅延なく自動修復されたオブジェクトが転送されます。

このエラーが同時に5カ所で発生しても、その他の13個の断片から、完全なオブジェクトを再生できます。図のように分散配置すると、どのJBODが何らかの不具合により完全ストップしても、オブジェクト断片の一部が読み出せないだけで運用に支障がありません。

このデータ分割、訂正符号付加、分散配置が全てのオブジェクト対して行われます。また、一部が破損し繰り返しエラーとなるオブジェクトは、修復して再配置されますので、次からは問題なく読み出せます。この強力な冗長性を利用して可用性を上げることにより、RAID利用時に起こるホットスワップ・リビルドのような緊急対応, 長時間の劣化モードでの運用を回避できるわけです。

分散配置で、どのHDDにどのオブジェクトの断片を保存するかも、空きスペースを見ながら、ハードウエア構成を認識した上で、偏りなく修復可能になるよう配置して行きます。ここで、ラック追加などで拡張した場合も、自動的に認識した新たなスペースへ、オブジェクト断片を配置し始めますので、暫く使い続けるとバランスよく各所のスペースが使われることになります。これにより、容易な拡張性が得られ、RAID構成では得られないメリットとなります。

ストレージ・システム全体の可用性の観点でも、 5個のオブジェクト断片が同時にエラーとなることは稀であり、緊急性がない場合、定期メインテナンスによる部品交換での対応が可能となります。RAIDの劣化モードでスピードが出ない、再構築に手間がかかる、ということも気にせずに運用できるメリットは非常に大きいと認識しています。 

オブジェクト読み出し時の信頼性確保と苦手な高速処理

このECよる分散配置・自動修復能力が強力で拡張性、冗長性に優れていても、読み出されたオブジェクトが間違っていては意味がありません。このデータ堅牢性については、 ECポリシーで処理する前に誤り検知できるような符号化処理が全てのオブジェクトに対して施されることで得られます。

前出のWestern Digital ActiveScaleでは、17×9s ( 99.999999999999999%) というデータ読出の信頼性を確保しています。すなわち、データ読み出し誤り率は0.000000000000001%です。先のECポリシーで18分散配置を例にしましたが、データ堅牢性を得るために実アルゴリズムでは、オブジェクトサイズに関わらず、書き込まれるオブジェクトは、最初に約4000個の断片に分割し、符号化処理されてから 2段目の分割・分散となるECポリシーに合わせて動的に配置していきます。読み出しはこの逆で、エラー検知を行い、もとのオブジェクトとして組み上げますので、これらの処理がかなりの負荷になります。

したがって、単純にHDDをストライピングしたようには転送速度が上がりません。より小さなオブジェクトを扱うのは、さらに苦手になります。たった数十キロバイトのデータを4000個に分割して符号化処理を加えていては、非常に効率が悪くなるのは簡単に想像できます。そこで、ある規定のサイズ以下では、初段のオブジェクト分割数と分散配置するECポリシー共に自動的に変更して、オブジェクトそのままのコピーも別に保存することと組み合わせて論理的に同等のデータ堅牢性を確保しながら保全する手法に切り替えています。したがって、さらにスピードが出にくくなってしまいます。データ堅牢性と可用性を高い次元で達成するために取られている手法ですが、スピード性能に制限をかけることにもなっています。

そうはいっても、オブジェクト・ストレージシステムとしては、ECポリシー18/5でユーザースペースは、全容量の69%利用可能、拡張性、冗長性、データ堅牢性があり、データ転送速度が遅いといっても、6-8GB/秒程度は出ていますので、非構造化データが多く、データサイズも大きい傾向にあるクラウドサービスやビッグデータ解析という分野では、ネットワークスピードも考えると十分なパフォーマンスを持つのではないかと思います。これを、RAID 10, 60 などの構成でECと同等のユーザースペースを確保しながら、高いデータ堅牢性と冗長性を得ようとすると、スピードを犠牲にしても比べようがないくらい非効率となります。ちなみに、クラウド・サービスを行うAmazon Web Service が公表しているデータ堅牢性は 11×9sです。

ECポリシーに合わせたハードウエア構成を考える

ここで注意が必要なのは、ECポリシー設定と、ハードウエア構成には密接な関係があり、拡張性・冗長性を十分確保するには、オブジェクト・ストレージ・コントローラーの数と、その支配下に置かれる物理デバイスの数、電源系統がどうなっていて、それらにオブジェクト分散配置をどのように行うか、拡張するときの容量単位をどうするか、などを含めたデザインが必要になります。

ISV (Independent Software Vender) から提供されているオブジェクト・ストレージソフトウエアが、どのような設定でも可能ですといっても、ハードウエアによる制約や推奨構成が存在します。これを踏まえてシステム構成を組み上げるのは、ちょっと厄介です。システム設計、導入、運用開始まで時間がかかり過ぎては無駄になります。

今までのオブジェクト・ストレージ導入では、ソフトウエアとストレージサーバを集めて組み上げていますが、アプライアンスとしてセットになっており、ハードウエア構成を踏まえた推奨ECポリシーが数種類オプションとして設定されており、冗長性と使用可能なユーザー容量のバランスを選択するだけでいい製品も出てきています。迅速な導入、拡張、運用重視としてTCOを考えたこのような選択肢が増えてくるのも、普及が進んでいることの表れではないでしょうか。 

データ保全のベスト・プラクティス

データ保全の方法として、3-2-1 プラクティスがあります。サーバなどの貴重なデータを保存するには、コピーは3つ、使うストレージメディアは2種類 (HDDとテープなど)、1つのコピーは災害回避のために遠隔地に保存、というものです。大切な企業データやデータセンターのバックアップでは、これが慣行となっていることも多々あります。しかし、オブジェクト・ストレージを多く使うデータセンターやプライベートクラウドユーザーでは、最後のコピーとして、複数バックアップを取らない運用をしている例もあります。

先述のECによるデータ堅牢性、強力な自動回復の恩恵をうける運用のし易さにより、実用上問題がないと判断されているケースです。ここで、まだ満たされないのが、災害対策のためコピーを遠隔地に、という項目です。さらにECポリシーを変更して複数地域に分散配置(3-GEO)することにより、1カ所が災害で運用不能となってもストレージシステムとして継続運用可能な構成ができます。2拠点によるリプリケーションも可能ですが、ECの応用としては簡易構成図のような2拠点の例が可能です。ラックを6台まで拡張した構成を2台ずつに分けて、ネットワーク接続して3カ所に配置します。

この時、ECポリシーは18/8 など変更が必要ですが、3カ所、6ラック構成で一つのネームスペースです。これで1カ所 (6個のオブジェクト断片)が災害で稼働不可能となっても他の2カ所から 12個のオブジェクト断片を集め、通常運用が可能です。

複数コピーが不要なほど堅牢なシステムを、3カ所に配置して運用することで、ベスト・プラクティスと呼ばれる慣行から逃れ、費用を節減できることになります。これもオブジェクト・ストレージの魅力となります。

著者プロフィール

山本慎一
株式会社HGSTジャパン ジャパンセールスディレクター
データストレージ技術とソリューションを提供するグローバル企業ウエスタンデジタルにおいて、オブジェクト・ストレージを中心としたデータセンター・ソリューションのビジネス開発を主に日本で推進。

IBM、日立、 Western Digitalなど、30年以上にわたりストレージ業界に従事。コンシューマー製品からエンタープライズ・ソリューションまで、幅広い分野において製品開発、ビジネス開発、マーケテイングなどの経験を持つ。