第四回目はINFINIDATのInfiniBox®((インフィニボックス)のソフトウェアデザインの中でも重要なデータ管理について説明いたします。
INFINIDATのInfiniBox®はSDS(ソフトウェア・デファインド・ストレージ)ではあるものの、主要部分が三重化された特徴的なハードウェアとの
組み合わせにより最大の能力を発揮します。
今回はソフトウェアの数多くの機能のうち、高い可用性と高速なリビルド性能を実現する特許技術である独自RAID機構のInfiniRAID(インフィニレイド)の
詳細とデータ管理について紹介をいたします。
InfiniBox®内部でのデータ管理は3階層のアドレス体系で管理され、全てのハードウェア資源を最小限のオーバーヘッドでバランス良く利用するように設計されています。
●Virtual Unitアドレス・・・コントローラノードの資源(CPU+キャッシュ(SSD+DRAM))のバランス化
●Virtual Diskアドレス・・・ソフトウェアRAIDグループのバランス化
●Physical Diskアドレス・・・物理ディスクのバランス化
3階層のアドレス体系によるデータ管理はInfiniBox®内部のデータフローとして紐づいています。
InfiniBox®内部のストレージ領域は6つのVirtual Unit(VU)で管理されます。各ノード(コントローラ)には2つのVUが割り振られ対象のVUに対するIO処理を担当します。
また、ホストまたはクライアントがアクセスするデータセット(ボリュームまたはファイルシステム)は全てのVUにまたがるように配置されるため、ストレージにアクセスするだけで、
全てのノード(コントローラ)のリソース(CPUやキャッシュメモリ)が均等に利用されるように設計されています。
ユーザはストレージ上のデータ配置を気にすることなく、常にバランス化された最適な性能が得られるよう設計されています。
InfiniBox®は書込みデータを100%DRAMキャッシュで処理し、キャッシュ上で64Kバイトのセクションに分割し管理します。
各セクションには4Kバイトのメタデータが付加され、チェックサム、タイムスタンプ、アクセス状況を示すヒートインデックス等を記録します。
チェックサムはセクション単位のサイレントデータ破壊の抑止に利用され、タイムスタンプはスナップショットで、ヒートインデックスはディスクにデステージする際のグルーピングに利用されます。
書込みデータは最長5分間(場合によっては5分以上)DRAMキャッシュに保持され、セクションに対するアクセスパターンが分析されます。
InfiniRAIDとはペタバイトを超えるストレージシステムのために開発された、高い可用性と高速なリビルド処理を実現するソフトウェアRAID機構です。
データの保護は14個のデータセクションと2個のパリティーセクションで構成される仮想RAIDグループ(RAID6相当)単位に行われ、この仮想RAIDグループに
属する16個のセクションは必ず、異なる16台の物理ディスクに対して保存されます。
また、特定の物理ディスクにデータが集中しないよう全ての物理ディスクに対してストライプして書込みを行います。サーバやクライアントからのI/Oがランダム
アクセスの場合でも、DRAM上で仮想RAIDグループにまとめられ、物理ディスクへの読み書きはシーケンシャルアクセスとなります。
InfiniRAIDの特徴をまとめると以下の通りとなります。
●1,088Kバイトの仮想RAIDグループ(14D+2P)
●全ての物理ディスクにストライプしてセクションを書き込む
●ディスクへの読み書きはシーケンシャルアクセスのみ
●データの上書き時に読出し処理が行われない(Read-Modify-Writeを行わず、シーケンシャルライトのみ)
●スペアディスク無し(全ての物理ディスクの一部の領域を仮想ホットスペアとして予約(InfiniSpare))
●ディスク故障時は消失したデータのみ残る全ての物理ディスクからリビルド(再生成)
●業界最速のリビルド時間(パリティー保護の状態まで最長15分間(F6000シリーズ、4Tバイトのディスク故障時))
●Point
今回は、InfiniBox®のソフトウェアデザインのなかでも重要なデータ管理について紹介しました。
特にストレージメディアの配分とI/Oフローについても紹介しました。さらに最後にデータ管理方式についても触れました。