アーキテクチャ概要

SAN・NAS 対応統合パラレルアーキテクチャ

MAGNAはSANとNASを統合し、単一のシステムで複数のワークロードに最適なアクセスパスを提供するパラレルアーキテクチャを採用しています。

イメージ画像

MAGNAのソフトウェアアーキテクチャ

MAGNAはActive-Activeアーキテクチャを採用しており、LUNまたはFile Systemとコントローラのマッピングを考慮する必要がなく、LUNまたはFile Systemに対するアクセスは負荷に応じてコントローラ間で適切にロードバランシングされます。

グローバル負荷分散アルゴリズム

LUNは特定のコントローラに所属しません。各コントローラは、LUNに対する読み取り・書き込み要求をコントローラ間で負荷分散します。 (例えばALUAアーキテクチャでは、LUNへの読み取りおよび書き込み要求は、LUNを所有するコントローラによって処理される必要があります。)

分散ファイルシステム

File Systemは特定のコントローラに所属しません。File System内のディレクトリおよびファイルは、バランシングアルゴリズムによってすべてのコントローラに均等に分配されます。

キャッシュ3コピーとグローバルキャッシュ

すべてのコントローラのキャッシュがグローバルキャッシュを構成します。各LUNまたはFile Systemのデータは、すべてのコントローラのキャッシュに均等に分散され、各コントローラにより分散処理されます。

仮想ブロックアーキテクチャのRAID技術

ストレージプール内のすべてのSSDドライブにデータを均等に分散し、ドライブの負荷を分散します。

MAGNAはActive-Activeアーキテクチャにより負荷分散を実現し、フラッシュネイティブ加速技術により
SSDの特性に基づき最適化されており、オールフラッシュストレージの性能を余すことなく最大限に発揮します。

グローバル負荷分散アルゴリズム

LUNに対するI/Oは64MBの論理ブロックアドレス(LBA)単位でハッシュ値を求め、ハッシュ値に応じて各コントローラ上に分散配置された複数の軽量な仮想ノード(vNode)により処理が行われます。ALUAのようにLUNは特定のコントローラに所属することなく、コントローラ間で最適な負荷分散を行います。

イメージ画像

Multipath、FIM(Front-end Interface Module)およびコントローラは、同じハッシュ方式とパラメータによる調整が可能で、I/O要求のインテリジェントな分散を実装します。

MultipathはI/O要求を最適なコントローラエンクロージャのFIM に送信し、FIMはI/O要求をハッシュ値に基づき最適なコントローラに送信します。
これは FC Interfaceを構成したMAGNA F700の場合のロジックです。

iSCSI InterfaceもしくはMAGNA F200/F300/F400の場合は、MultipathはI/O要求を最適なコントローラのインターフェースモジュールに送信し、インターフェースモジュールは、
I/O要求を接続されているコントローラに直接送信します。

コントローラ間の負荷分散を最適に行うためにMultipathをご利用いただくことをお勧めします。

MAGNA分散ファイルシステム

旧来のファイルシステム単位でコントローラに所属するアルゴリズムではなく、ディレクトリ単位で複数のCPUコア・リソースにて処理される分散型アーキテクチャを採用しています。

イメージ画像

従来型ファイルシステムは特定のコントローラに所属し、クライアントからのアクセスはファイルシステムが所属するコントローラ上の共有CPUリソースで処理されます。

イメージ画像

MAGNA分散ファイルシステムはディレクトリ単位でvNode(各コア上で動作する軽量仮想ノード)に所属し、クライアントからのアクセスはディレクトリ単位で異なるvNodeで分散処理されます。

分散ファイルシステムで利用可能な分散モード

MAGNAファイルシステムは4種類の分散モードがあり、各分散モード毎にディレクトリとvNodeの配置ロジックが異なるので、HPC、EDA、VDIなどの利用シナリオに応じた分散モードを選択することで優れた処理効率を実現します。

イメージ画像

代表的な分散モードの利用効率の違いについて

分散モードは4種類ありますが、Performance ModeとDirectory Balance Modeの2つのモードが利用頻度の高いモードと考えられます。

この2つのモードについての適用シナリオは以下のようになります。

Performance Mode

高性能クライアントからの同時高速アクセスを目的とし、クライアント毎にvNodeが割り当てられ、各クライアントに対する処理能力を平準化し、クライアント間における処理能力の競合を避けることで最適な処理応答性を実現します。
これは多数のクライアントによる高速アクセスが必要なHPCや高性能仮想環境(VSI)等のシナリオに最適なモードです。

Directory Balance Mode

ディレクトリ単位でアクセス効率を最大化する目的で、ディレクトリ毎にvNodeが割り当てられ、クライアント数や処理負荷の違いに影響されることなく、ディレクトリ毎の処理能力を平準化することで最適な分散処理を行います。
これは少数クライアント接続、オフィスアプリ利用、EDAといったシナリオに最適なモードです。
また汎用NAS用途(各クライアントの負荷が不均等で予測できない)にも適しているためデフォルトの分散モードとなっています。

上記2つの分散モード以外のCapacity Balance ModeとDirectory Shuffle Modeについては、一般的な利用ケースでは選択されることは少ないと思われます。ご利用のシナリオに適した分散モードが不明な場合はDirectory Balance Modeを選択することを推奨いたします。

豊富なコアリソースを活かした負荷分散アルゴリズム

MAGNAは高性能ARMプロセッサを搭載し、豊富なコアリソースを活かしたIntelligent CPU Partition Scheduling Algorithmにより高性能かつ低遅延の負荷分散を実現します。

イメージ画像

LUNは64Mの粒度で分割され、LBAに基づきハッシュキーを生成し、複数のvNodeに分散されます。

File Systemはディレクトリ名をキーとしてハッシュキーを生成し、複数のvNodeに分散されます。

vNodeは特定のCPUとアフィニティバインドされ、物理CPU間のスケジューリングとCPUキャッシュミス率を低減し、CPU使用効率を改善します。

CPU のコアグループ化アルゴリズムにより、vNode上のI/O処理は各コアグループ毎に相互干渉を回避します。
I/O read/writeは専用のコアグループで実行し、その他のI/O処理は
処理系に応じて専用または共有コアグループで実行します。

vNodeのCPUサブコアアルゴリズムであるコアベースのリソース独立処理により、ある1つのI/Oリクエストは同じコアで継続的に実行されるよう制御され、I/O処理が複数のコア間で頻繁に移動するといったコンテキスト上のオーバーヘッドを回避します。

イメージ画像

キャッシュ3コピーとグローバルキャッシュ

MAGNAはすべてのコントローラのキャッシュがグローバルキャッシュを構成します。LUNまたはFile System に対するアクセスデータは各コントローラのキャッシュに分散され、最適な分散処理を実現します。特にハイエンドモデルではキャッシュの3コピーオプションにより、 高い耐障害性を提供します。

イメージ画像

ホストからの新たな書き込みI/O要求を受け取ったコントローラは、自コントローラ内のキャッシュにデータを書き込み後、異なる別のコントローラ上に2つないし3つのコピーを作成します。(3つのコピーを作成できるのはハイエンドモデルのみ)

別のコントローラ上へのデータの複製に成功すると、ホストにACKを返信し、書き込み処理の完了を通知します。

ホストからの読み込みI/O要求を受け取ったコントローラはデータがキャッシュ上に存在するかどうかを確認します。
データがキャッシュ上に存在する場合は、直ちにホストへACKを返信し、キャッシュ上のデータを送信します。

キャッシュ上にデータが存在しない場合は、LUNまたはFile Systemからデータを読み出し、キャッシュ上に展開後、ホストへACKとデータを送信します。

仮想ブロックアーキテクチャのRAID技術

データをすべてのSSD上に均等配置することで特定のSSDへのデータ集中を防ぎ、システム性能の安定性、SSD 寿命の最大化、ならびにリコンストラクションの高速化を実現します。

イメージ画像

最速レベルのデータリコンストラクション

RAID 2.0+の仮想ブロックアーキテクチャにおけるリコンストラクションはN:Nのデータ復元が行われます。
従来型のN:1のデータ復元と比較して効率的且つ高速なデータリコンストラクションを実現します。

イメージ画像
close