ハイパースケールのマルチ構造化データ?その方法を数えてみよう

Table of Contents

ハイパースケールのマルチ構造化データ?その方法を数えてみよう

コメント非構造化データ、ファイル、オブジェクトサイロ向けのハイパースケールストレージは、概念的には簡単です。コモディティハードウェアを購入し、並列ファイルシステムソフトウェアまたはオブジェクトソフトウェアを導入するだけです。ハイパースケールブロックストレージは、通常、巨大なSANを購入することを意味します。しかし、ブロック、ファイル、オブジェクトベースにわたるハイパースケールストレージが必要な場合はどうなるでしょうか?

そのとき、軟体動物の魔法が必要になります。Ceph、InfiniDat の創意工夫、または ScaleIO のスキームをご活用ください。

彼らは 4 種類のデータに対処する必要があります。

  • ブロックは、データベースで従来使用されており、ストレージ エリア ネットワーク (SAN) で見られるもの
  • ファイルとは、ローカルの直接アクセス ストレージ (DAS) またはネットワーク接続ストレージ (NAS またはファイラー) に保存されたファイルを含むフォルダーにデータがある一般的なアプリケーションで使用されるものです。
  • オブジェクトの内容は、そのアドレスを計算し、接続されたオブジェクト ストレージ ノードの海の中でそのオブジェクトを見つけるために使用されます。
  • 非構造化データは通常、Hadoop分散ファイルシステム(HDFS)を使用して複数のサーバーノードでHadoopに保存され、各サーバーノードはローカルに保存されたデータに対して並列処理のために計算を実行します。

データがどんどん増えるにつれて、ストレージ システムは数十ノードに拡張され、その後、数百ノードとエクサバイト レベルの容量を備えたハイパースケール領域に移行します。これがハイパースケールの大まかな定義になります。

ハイパースケールでは、通常のストレージ構造では限界があります。10億個のファイルと100万個以上のフォルダを含むファイル・フォルダ構造をトラバースするには、CPUサイクルで膨大な時間がかかります。単一の集中メタデータシステムはアクセスのボトルネックとなり、あらゆる処理を遅くします。ファイルやオブジェクトなど、数百万ものデータ構造へのアクセスを制御するメタデータのモンスターを突破するには、何らかの並列化・高速化アクセスが必要です。

これはIBMのSpectrum Scale(GPFS(General Parallel File System)の名称を改めたサービス)であり、Isilonシステムではフラッシュにキャッシュされたメタデータを利用して高速アクセスを実現しています。複数の種類のデータに対してこれほどのレベルでストレージを拡張する必要がある場合、候補となるものは比較的限られています。

  • オブジェクトストレージ - ファイルも可能だがブロックは不可
  • オープンソースCeph - マルチ構造データ用 - オブジェクト、ファイル、ブラック
  • Infinidat - マルチ構造データ用 - オブジェクト、ファイル、ブラック
  • EMCのDSSDオールフラッシュアレイとScaleIO仮想SAN
  • オープンソースのGluster - ブロックではなくビット単位でオブジェクトやファイルを保存できる

オブジェクトストレージは、実質的にオブジェクトとファイルへのアクセスに制限されており、ブロックアクセスには適していないため、除外します。また、ネットワークストレージスキーマであるため、ノード上でコンピューティングを行うHadoopスタイルのワークロードには一般的に適していません。同様に、Glusterはファイルとオブジェクトのみであるため除外します。

ただし、Ceph は私たちの要件に適合するオブジェクト ストレージの特殊なケースです。

セフ

Ceph(頭足動物、タコをイメージしてください)は、2006年から2007年にかけて、カリフォルニア大学サンタクルーズ校のセージ・ウェイル氏によって博士論文のために開発されました。彼は2007年に卒業し、同僚と共にCephの開発を続け、2012年にCephのサービスとサポートを提供するためにInktank Storageを設立しました。Red Hatは2014年4月にInktankを1億7500万ドルで買収しました。

ワイルの博士論文の要旨には次のように記されている。

新興のオブジェクトベースストレージパラダイムは、プロセッサとメモリをディスクドライブと結合することで、サーバーベース(NFSなど)やSANベースのストレージシステムとは異なり、低レベルのファイルシステム操作(割り当てやスケジューリングなど)をオブジェクトストレージデバイス(OSD)に委譲し、I/O(読み取り/書き込み)とメタデータ(ファイルのオープン/クローズ)操作を分離することを可能にします。しかしながら、近年のオブジェクトベースシステムでさえ、初期のUNIXファイルシステムにまで遡る数十年前のアーキテクチャ上の様々な選択を継承しており、効果的なスケーリング能力に限界が生じています。

本論文は、デバイスインテリジェンスを活用することで、動的クラスタ環境において信頼性、拡張性、および高性能なファイルサービスを提供できることを示しています。本論文では、任意のノードクラッシュを許容しながら、変動の激しいシステムワークロードに適応することで、優れたパフォーマンスと拡張性を実現する分散メタデータ管理アーキテクチャを提示します。柔軟で堅牢なデータ分散機能は、データオブジェクトを大規模で動的なストレージデバイスクラスタに配置することで、メタデータを簡素化し、システムの拡張性を促進するとともに、データの均一な分散、相関性のあるデバイス障害からの保護、そして効率的なデータ移行を実現します。

このソフトウェアは、複数のノードにまたがる信頼性の高い自律分散オブジェクト ストアである RADOS をベースにしており、その上にファイルとブロックのアクセスが階層化されています。

Ceph_basic_Scheme

Cephの基本構造

オブジェクトストアへの直接アクセスは、C、C++、Java、Python、PHPをサポートするLIBRADOS呼び出しライブラリを介して行われます。CEPH FSは、Linuxシステムで実行されるアプリケーションからPOSIX準拠のファイルシステムへのアクセスルートを提供します。ファイルとフォルダはオブジェクトに変換されます。CephクライアントはLinuxカーネルに組み込まれています。

RBDはRADOSブロックデバイスであり、ブロックアクセス呼び出しはLIBRADOSによってRADOS呼び出しに変換されます。また、LIBRADOSを使用してRADOSにアクセスするための、S3およびOpenStack Swift互換のRESTゲートウェイも存在します。

Cephは、クラスタ化されたストレージノード間でデータをストライプ化します。クラスタは拡張または縮小可能で、ノード間でデータがバランス調整されるため、負荷の偏りを回避できます。Cephの機能には、シンプロビジョニング、レプリケーション、イレイジャーコーディング、キャッシュ階層化などがあります。Cephは自己修復機能と自己管理機能を備えていると言われています。

RedHatのCephの現在のリリースバージョンはv0.94(Hammer)で、8番目の安定版リリースとされています。これはFireflyリリースに代わるものです。

SuSE には Ceph ディストリビューションである SuSE Enterprise Storage もあり、Ceph を「市場で最も人気のある OpenStack 分散ストレージ ソリューション」と呼んでいます。

SuSE Ceph は Firefly リリースを使用しており、間違いなくすぐにアップグレードされるでしょう。

富士通 CD10000

Cephアレイの一例として、富士通のETERNUS CD10000が挙げられます。この製品は現在、4ノードから224ノードまで拡張可能で、最大56PBの容量を備えています。ノードはInfiniBandで相互接続され、ノード間の高速データ転送とメタデータ転送を実現しますが、これは次世代では変更される予定です。富士通はETERNUS CD10000を、Ceph、ハードウェア、インターコネクト、サービスをバンドルした単一のアプライアンスとして設計しました。また、管理レイヤーにより、管理者はCephとハードウェアの両方を単一のインスタンスとして管理できるとしています。

ストレージ容量は、最高速のデータ アクセス用の PCIe SSD、それほど高速ではないアクセス用の 2.5 インチ 10K ディスク ドライブ、および大容量のニーズに対応する 3.5 インチ ディスク ドライブの組み合わせに基づいており、合計 3 層になっています。

224ノードのCD10Kシステムには、13,000台以上のディスクドライブが搭載されます。オブジェクトストレージは、RAIDよりも効率的な方法でデータを保存し、ディスク障害から保護するため、RAIDスキームのオーバーヘッドは不要です。また、ドライブ障害発生後のデータの再構築は、RAIDベースの再構築よりも高速です。これは、システムの容量が拡張されるにつれて、ますます重要になります。

サポートされているアプリケーションインターフェースは、KVM、Open Stack Swift、Amazon S3、CephFSです。CD10000にはRADOSブロックデバイス機能が搭載されています。

ノードは無停止で追加でき、データ負荷はノードセット全体で再分散されます。古いノードを新しいノードに交換し、データの移行はシステムのダウンタイムなしで行えます。つまり、富士通が新しいコントローラー/ストレージハードウェアでシステムをアップデートする際に、フォークリフトアップグレードを必要とせず、新旧のノードを混在させることができます。

このシステムは本質的にフォールト トレランスと自己修復機能を備えており、富士通によると、顧客は自分でハードウェアを調達する手間をかけずにオープン ソース ソフトウェアのメリットを享受できるという。

Discover More