J2EEWebアプリケーションホスティング用の仮想サーバーを使用してアーキテクチャを構築しようとしています。仮想化の経験はありません。現在、Apache/Jboss/Postgresq/Proftpdがインストールされているサーバーが1つあり、サービスが異なるサーバーで実行されるようなものを設計したいと考えています。
1つのHTTPロードバランサー(+1つのフェイルオーバー用HTTPサーバー)->複数のアプリケーションサーバーまたはWebサーバー->データベースサーバー(+1つのレプリケーションサーバー)
ファイルはSANおよびデータベースとHTTPロードバランサー用の2つのサーバー(仮想ではない)に保存されます
これが私が心に留めていることです: アーキテクチャ
ありがとうございました !!!
FTPを除いて、その図は私たちのシステムの1つに非常によく似ており、私たちにとっては問題なく機能しています。あなたの他のポイントのいくつかについて:
JBossを実行しているRH4仮想マシン(ESX 3.5)がいくつかありますが、それらはすべて問題ありません。仮想ボックスを構築するときは、JBossのメモリ要件を念頭に置いてください。
余裕があれば、FCベースのSAN)を選択します。これは、高スループットまたは将来の拡張を期待している場合です。
私の経験では、優れたディスクサブシステムを備えた物理DBサーバーとSANにアクセスする仮想サーバーのパフォーマンスに大きな違いはありません。
一般的には問題ありませんが、DBをFCに100%配置しますSAN高負荷が予想される場合は、VMWare ESX3.5U4内のOracleのリバッジされたRHEL5U3でJBossを実行します。非常にうまく機能します。 、必要に応じて、VMWareのHAをフェイルオーバーに使用できますか?
私の2c
Xen仮想化は非常に安定しており、適切に構成されていると、非常に優れたパフォーマンスが得られます(確かに、簡単な作業ではありません)。大きな問題を抱えているアプリケーションのほとんどは、ファイルサーバーやDBMSなどの高帯域幅のアプリケーションです。したがって、負荷が大きいと予想される場合は、DBを実サーバーに配置することをお勧めします。他のすべてはインターネット帯域幅によって制限されるため、それらを仮想化することは問題ではありません。
SANについて:優れたスイッチがある場合は、通常、XenストレージにiSCSIを使用するだけで十分です(難しい方法です。3Comはそれほど優れていません。HPまたはDellを使用することをお勧めします)。 DBがTeraByteの範囲に拡大しない場合は、SANではなく内部ストレージ(10Kまたは15Krpm SASディスク))を使用します。DBがそれを超えて拡大する場合つまり、良いFCに投資するほうがよいSAN(私はあなたを助けることはできません)
ロードバランサーが信頼できないネットワークにさらされている場合は、異なるゾーンにあるアプリケーションサーバーとデータベースサーバーをファイアウォールで保護することを検討します。サーバーの役割はすでに適切に階層化されています。また、FTPファームのデータベースサーバーに直接アクセスしないようにします。
DBMSを物理ハードウェアに配置することは、常により安全な方法です。あなたの背中が壁にあり、あなたの上司があなたよりも大きくない限り、仮想化しないでください。
お金があればFCを手に入れましょう。単一のiSCSIアダプターは、単一のFCHBAよりも4倍低速です。ギガビットイーサネットアダプタを追加することでFCの理論上の帯域幅に到達できますが、低遅延は得られません。
VM(仮想マシン)をSANに配置することを検討しましたか?仮想マシンの場合、VMが多数の小さなI/Oを生成するため、FCの低遅延は非常に重要です。より安価なNAS VMのオプションの場合、iSCSIよりもNFSの方が好きです。VMは単なるフォルダーコピーです。