以前の投稿の1つで、ディスクストレージのアーキテクチャについて説明しました。 この記事には多くの回答が寄せられ、アイデアはクラウドの現在のアーキテクチャ全体を説明するようになりました。
私たち
はプロの会議で
複数の 異なるコンポーネント について話しまし た 。 しかし、第一に、誰もがそれらを訪れる機会があるわけではなく、第二に、私たちのアーキテクチャは動的であり、絶えず進化し、補足されているため、多くの情報はもはや重要ではありません。
条件付きで、Scalaxiプラットフォームの現在のアーキテクチャは、3つの重要な部分に分けることができます。
- 仮想化プール
- ネットワークシステム;
- 管理クラスター。
仮想化プール
仮想マシンを実行するための限られた数の物理サーバーと、共通の高性能通信バスによって結合された仮想マシンのディスクイメージ用のストレージシステム。
コンポーネントアーキテクチャ:
- 仮想化システム。
- ブロックアクセスストレージシステム。
- Infinibandバス。
一般的なアーキテクチャを図に示します:

仮想化システム
仮想化システムは、
オープンソースの Xen 4.0.1ハイパーバイザーを備えたディスクレス仮想化サーバーで構成されています。

仮想化サーバーの構成
-CPU Intel Xeon 55xx / 56xx;
-RAM 68-96 GB;
-ローカルドライブなし。
-Infinibandアダプター。
-イーサネットアダプタ(IPMI 2.0経由の電源管理および緊急アクセス用)。
仮想化サーバーは、管理クラスターからInfinibandネットワーク経由でロードされます。 起動時に、
SUSE Linux Enterprise OSを使用してXen管理ドメインが作成されます。 次に、管理クラスターの要求に応じて、仮想化サーバー上に、それぞれLinuxとWindowsを備えたクライアント
準仮想ドメインと
HVMドメイン(仮想マシン)が作成されます。
各仮想マシンには次のものがあります。
- 16個の仮想プロセッサコア。
- 割り当てられたRAMの指定された量。
- 同じアカウントおよびインターネットの他のクライアントマシンとそれぞれ通信するための内部および外部ネットワークインターフェイス(両方のインターフェイスのIPアドレスは、管理クラスター上のDHCPサーバーを使用して割り当てられます)。
- プライマリおよびセカンダリドライブ(ブロックデバイス)。
管理クラスターによって送信される設定に応じて、次の制限が構成されます。
- Xen sched-creditスケジューラを使用してプロセッサを使用するには、各クライアントドメインの重みは割り当てられたRAMのGB数に等しくなります。
- Linux tcユーティリティを使用して内部および外部のネットワークチャネルを使用するには、
- Linux blkio-throttleドライバーを使用してディスクへのチャネルを使用します。
ブロックアクセスストレージシステム
ブロックアクセスストレージシステムは、プロキシとノードの2種類のサーバーで構成されます。
最後の投稿の写真をご覧ください
。
ブロックレベルでストレージを操作するには、
Infiniband環境で実行されている
SCSIプロトコルの実装
-SRPが使用されます。 SRPは、他のSCSIネットワーク実装と同様に、ターゲットとイニシエーター(サーバーとクライアント)を使用します。 ターゲットは、イニシエーターに特別なSCSIムーン(論理ブロック)を提供します。
SRPイニシエーターとmultipathdデーモンが仮想化サーバーで実行されています。 後者は、異なるプロキシサーバーからの同じ衛星を1つの仮想ブロックデバイスに集約し、フォールトトレランスを提供します。 プロキシサーバーの1つに障害が発生した場合、multipathdはパスを別のプロキシサーバーに切り替え、仮想化サーバー上の仮想マシンが障害に気付かないようにします。
multipathdによって作成されたデバイスは、LVMボリュームの単一の論理グループからのデータに従って論理デバイスに分割されます。 結果のブロックデバイスは、ディスクとして認識される仮想マシンに転送されます。 仮想マシンのディスクサイズを変更する場合は、
LVM論理グループ内の論理デバイスのサイズを変更する必要があります。これは非常に簡単な操作です。
ストレージシステムノードは、SUSE Linux Enterpriseを実行しているディスクサーバーです。
SCSTドライバーからSCSIターゲットを実行します。 ストレージシステムノードとして、
SRP 、
FC、またはNetApp、EMCなどの
iSCSIプロトコルで動作するデータストレージシステムを使用できます。
プロキシはデータ複製機能を実行し、ストレージノードスペースを1つのLVM論理グループに結合します。 データ複製は、ストレージシステムの複数のノード間でLinux
mdドライバーを使用して実行されます。 これを行うには、ストレージシステムの複数のノードの衛星から、指定されたレベルの冗長性を持つレベル
1 + 0の RAIDが収集されます。 デフォルトでは、バックアップレベルは2倍です(仮想マシンの各ディスクはストレージシステムの2つのノードに保存されます)。
ストレージノードの構成
-CPU Intel Xeon 55xx;
-RAM 96 GB;
-36ドライブSAS2 600GB;
-Infinibandアダプター。
-イーサネットアダプタ(IPMI 2.0経由の電源管理および緊急アクセス用)。
プロキシ構成
-CPU Intel Xeon 56xx;
-RAM 4 GB;
-ローカルドライブなし。
-2 x Infinibandアダプター(1つはノードへの接続用、もう1つは仮想化サーバーへの接続用)。
-イーサネットアダプタ(IPMI 2.0経由の電源管理および緊急アクセス用)。
Infinibandタイヤ
Infinibandバスは、Infinibandスイッチとイーサネットゲートウェイの2つの主要な要素で構成されています。

プールは、324ポートの
InfinibandスイッチGrid Director 4700を使用します。 現時点では、スイッチはモジュールレベルで予約されています(モジュールに障害が発生しても操作が中断されない場合、完全にパッシブなバックプレーンとモジュラーアーキテクチャを備えています)。 将来的には、開発に伴い、Infinibandスイッチはシャーシレベルで予約されます。
イーサネットゲートウェイは、SUSE Linux Enterprise OSおよびInfinibandアダプターとイーサネットアダプターを備えたサーバーです。 ゲートウェイは予約されています。
ネットワークシステム
ネットワークシステムは、スイッチとマルチサービスゲートウェイという2つの主要な要素で構成されています。
Juniper EX8208スイッチはIPトラフィックをルーティングします。 スイッチは予約されています。
ジュニパーSRX3600マルチサービスゲートウェイは、シグネチャライブラリを使用してさまざまなタイプの攻撃を認識することにより、偽のトラフィックからシステムを保護します。 マルチサービスゲートウェイは予約されています。 写真を見る
ことができます 。
管理クラスター
管理クラスターの主な要素は、ストレージシステム、ノード、およびノードで実行されているシステムサービスです。

管理クラスターストレージシステムは、それぞれ2つのコントローラーを備えた
HP MSA2312saハードウェアRAIDです。 各RAIDは、
SASを介して制御クラスターの4つのノードに接続されます。 2つのRAID間のデータはサービスレベルでバックアップされます。
管理クラスターのノードは、SUSE Linux EnterpriseおよびXen 4.0.1ハイパーバイザーを実行しているサーバーです。 各管理クラスターサービスは、適切なソフトウェアを備えた1つ以上の仮想マシンです。
サービス
次のシステムサービスが管理クラスターに存在します。
- 仮想リソース管理システム(CloudEngine)、 Ruby on Railsを使用して開発されたアプリケーション。
- 仮想リソースダッシュボード、Ruby on Railsを使用して開発されたWebアプリケーション。
- 仮想リソースのステータスとロードを監視するためのZabbixベースのシステム。
- LDAPベースのユーザー権利管理システム。
- IPアドレスを仮想マシンとクラスターサーバーに配布するDHCPサーバー。
- ドメイン名を提供するDNSサーバー。
- 仮想マシンのVNCコンソールへのアクセスを提供するコンソールサービス。
- クラスタサーバーのイメージを読み込むためのTFTPサーバー。
- 仮想マシンイメージテンプレートをロードするためのHTTPサーバー。
各サービスは2つ以上のインスタンスで起動され、データ複製はMySQL DBMS複製を使用して実行されます。
このドキュメントはすべて
wikiで入手できます。この
Wikiには、よくある質問とAPIの説明、例もあります。