web-dev-qa-db-ja.com

XENの状態vs KVMライブファームのような社内仮想サーバーファームの場合)

つまり、仮想化されていない従来のものであるライフサーバーファームがあります。これは、しばらくの間そのようにとどまることです。ここで説明しているサーバーは、ロードバランサー、DBマスター、DBスレーブ(2x)、Webサーバー(2x)、CMSサーバーです。ファームごとに7台すべてのサーバーのすべて。

私たちは、社内の目的のために、生命構造の1つから多くのかなり正確な「コピー」を持ちたいと思っています。

  • テスト/ステージング:同じソフトウェア構成を使用しない場合にすり抜ける可能性のあるバグをライブ前に見つける
  • デバッグ/ベンチマーク:テストと同じですが、追加のツールがあります。デバッグフラグを設定し、Tetsing/Stagingから分離してQAに干渉しないようにします。私たちのライブシステムで物事がどのようになっているのかについて、より深い洞察を得ることを目的としています
  • 開発/実験:システムコンポーネント、ソフトウェアバージョン、ライブラリ、構成を変更して、パフォーマンス、開発者の有効性を向上させ、システムの将来性を保証します。

3つの仮想「ファーム」すべてで、それぞれ7つの仮想サーバーがきちんと分離されています。

これは、さまざまな種類の仮想化で実現できることがわかりました。質問は、何が最高ですか? VMwareがオープンソースになっていないことは、戦略的な観点から使用したいことではありません。 XENとKVMを見ると、オープンソース仮想化の2つの最大のプレーヤーであり、何をどのように選択するかについてのアドバイスを聞きたいと思います。 Webは未定のようです。

追加情報:

  • 購入したサーバーハードウェアの「寿命」は2〜3年です
  • 仮想化テクノロジーの選択で考慮すべき要素である場合、後でシステムをクラウド環境に移行する可能性があります。
  • 高負荷シナリオでのサーバーファーム/サーバーの分離は重要です。誰かが実験農場で大混乱を引き起こしたときにQAが苦しむべきではありません
  • もちろん、効率的なリソースの使用は高く評価されています(メモリのオーバーコミットメント/共有ページ?linux-vserver hashifyのようなハードドライブ上のオブジェクトを自動的に共有しますか?)
  • 定期的なメンテナンス要件と管理のしやすさ

流れていることは承知しておりますが、3年以上はこの技術を使い、ノウハウを積み上げて再利用したいと考えておりますので、今何を選べばいいのかご意見をお聞かせいただければ幸いです。また、最終的には、XENとKVMのどちらも戦いを決定するのではなく、他の要因であることに気付くでしょう。その点での啓蒙は、今の私たちにとってさらに価値があります。

p.s。:そして炎を上げない:D

4

現在Xenを使用していますが、2011年にはKVMに移行すると思います。いくつかの理由があります:

  • KVMの開発は、Xenの開発よりもLinuxカーネルと統合されています。
  • KVM vmsは、Linuxカーネルへのプロセスとして実行されます。これには、スケジューリング、メモリ管理など、多くの影響があります。これにより、KVMがメモリのオーバーコミットを実行できるようになります(単にvm /を交換するだけです)。 Xenは、独自のコードを使用してすべてのことを実行しますが、悪くはありませんが、Linuxカーネルほどテストおよび実証されていません。
  • フルバートはKVMでうまく機能するようです。

KVMに対する主なポイントはパフォーマンスですが、LinuxおよびWindows VMでVirtIOドライバーを使用した最後のレポートでは、そのポイントがますます目立たなくなっているようです。

機械の管理は ganeti を使います。 Ganetiは、ノードを追加するクラスター仮想サーバー管理システムであり、作成、開始、再起動、移行など、それらのノード上のVMですべての操作を実行できます。また、ミラーリングされたディスクイメージを持つDRBDインスタンスの作成もサポートします。ノードの1つに障害が発生した場合に、自動フェイルオーバー/移行を提供する2つのノード。 KVMまたはXenをサポートしますが、混合クラスターはサポートしません。Ganetiはテキストベースですが、非常にうまく機能している Webインターフェイス プロジェクトがあります。ganeti+ debootstrapを使用するとさまざまなタイプのvmsを非常に高速にデプロイ/クローン化し、テストなどのためにディスクからLVMスナップショットを作成するので、それについて説明できると思います。

どちらを選択しても、ファイルサーバーやDBなどの高IOマシンを仮想化して、同じように動作することを期待しないでください。場合によっては、高IO VMは、ホスト上の他のすべてのVMを劣化させる可能性さえあります。すべてを安全に仮想化できるわけではありません。

編集:テストと開発について言及したので、 この記事 を読んでください。それに非常に近いものを組み立てようと思っています。

8
coredump

信頼性が高く可用性の高いソリューションがビジネスで必要になる前に、オープンソースを愛することは危険です。 freeESXiとHyper-Vサーバーが非常に人気があるのには理由があります。有料サポートが比較的安価であることに加えて、より多くの専門家が歩き回っています。

そうは言っても、 XenServer はCirtixでサポートされています。そして、KVM/QEmuは Red Hat によってサポートされています(そしておそらく他の人たち、私はそれについてはそれほど詳しくありません);ただし、特定の構成でのみ発生するため、注意が必要です。 XenはVHD形式をネイティブにサポートしており、VHDファイルはHyper-V、仮想サーバー、仮想PC、およびXen間で変更なしで転送できます(サイズ制限はVPCに適用されます)。 KVMはqcow2形式を使用します。サードパーティのユーティリティを使用して他の形式に変換できますが、他の誰も使用しません。これらのサーバーで使用できる管理ツールも少なくなります。

0
Chris S

Linuxのみを使用していて、それが長期間(つまり、そこで作業している限り、または別の戦略的決定によってサーバーがクラウドなどに移行されている限り)そのようになると確信している場合は、 KVMまたはXenオープンソースを試すことができます。さらに、xen対応(つまり、準仮想化)カーネル(少なくともDebian/Ubuntu)を出荷するディストリビューションを使用する場合、Xenは優れていますおそらくKVMもそうですが、私はXenをお勧めします。それは私がよく知っていることだからです。YMMV。VMのクラスターにXenとPacemakerを組み合わせるのは、私たちが数回行ったことです。良い結果。

さて、もしあなたがいくつか/多くのWindowsシステムを持っているなら、私はいくらかのお金を費やしてXenServerに行きます。有料版では、高可用性とXenCenter(すべてを簡単にするWindowsベースのコンソール)が提供されます(IIRC。確認してください)。 XenオープンソースでWindowsを実行することもできますが、少し注意が必要です。また、XenServerの無料バージョンもありますが、そのコマンドラインはあいまいで難しいと思います。あなたはそれを習得することができますが、それは少し時間がかかります。

XenServerを使用する場合は、「ゲストユーティリティ」または「PVドライバ」が必要になることに注意してください。それらがないと、パフォーマンスが低下します。

0
rsuarez

XEN-hy これを試してみてください。過去2年間使用しているので、今まで問題はありませんでした。古いバージョンを使用しています

0
Rajat