どの仮想化システムが優れていますか?

良い一日。



さまざまなシステムで仮想マシンを開発した経験のある人は、私に言ってください

ゲストシステムが主にルーティングに従事することを考慮して、サーバーにどの仮想化システム(オープンソースから)を配置する必要がありますか?





当社では、パケットルーティングからFTPサーバーまでのすべてを処理するサーバー(通常のPC-shki)をサーバーに用意しています。 これらはすべて電気を消費し、冷却が必要であり、部品が古くなると交換します。

たとえば、古いサーバーを交換するために新しいサーバーを運用するには、ハードウェアの購入、インストール、および構成が必要です。

その後、しばらくの間両方のサーバーの電源を入れたままにする必要があります。そのため、新しいサーバーに問題がある場合(調整していない場合、予期しない不具合が発生した場合)、すべてを古いサーバーにすばやく切り替えることができます。



解決策は、これらすべての鉄の怪物を1台のマシンに引き込むことです。



なぜなら 電力の「サーバー」のほとんどは、Core 2 DuoまたはCore 2 Quadに基づいた最新のコンピューターの1つにはるかに遅れていました-計算では、Core 4 Duo E6400 @ 3GHz / 4096 RAMに基づいたコンピューターに少なくとも4を引くことができるという事実から進みました実車。



最も重要なサーバーが転送の候補として選択されました:VPN(約500の同時セッション)、2つのソフトウェアLinuxルーター、RADIUSサーバー、および管理Webインターフェイスを表示する2つのサーバー。



その後、仮想化システムの選択を開始しました。 候補者は次のとおりです。

-OpenVZ

-KVM

-Xen

-VMWare ESXi



選択の結果は次のとおりです。

-OpenVZ。 彼との経験はすでにあった。 通常はシステムを区別せず、カーネルコールエミュレーションのレベルでのみ動作します。 また、システム内の新しいネットワークインターフェイスを上げることはできません。つまり、その上のVPNサーバーは機能しなくなります。 Webホスティングの場合は、引き続き行ってください。 ルーターの場合-いいえ



-VMWare ESXiは、利用可能などのコンピューターでも実行できませんでした。 インストーラーが単純に起動しなかったか、インストール後のシステムが起動しませんでした。



-Xen-各ゲストマシンにはホストマシンと同じカーネルが必要であるため削除されました。 さらに。 実際、私はそれをまったく機能させることができませんでした。 曲がったペンに問題がある可能性があります。 そのため、最後の候補に移り......



-KVM-ホストマシン内で実行されるゲストマシンは関係ありません。 少なくともWindowsで、少なくともOS / 2で。 実際、マシン同士が完全に分離されています。 賄bedと、RedHatがこの特定のシステムに依存しており、エンタープライズアプリケーションの場合に助言するという事実。 したがって、すべての要件を満たしました。



KVMを配置します。 システム内にインストールし、グリッドを設定し、仮想マシン間でルーティングする方法をすばやく見つけました。

スキームはそのようなものでした。 ホストマシンには2つのネットワークカードがあり、内部で次のシステムに接続されています。

eth0-host-machine-仮想br0-[eth0-guest-machine-1-eth1-guest-machine-1]-仮想br1-[eth0-guest-machine-2-eth1-guest-machine-2]-仮想br2 -eth1ホストマシン



彼らはテストを始めました。 テストでは、そのようなスキームは著しく動作しました。 負荷はほとんどありません。 安定して動作します。

生産を開始します。 そしてバム! 負荷が大幅に増加しました。



仮想マシンを通過するトラフィックフローが約15Mbpsの場合、ホストマシンのプロセッサ(トップによると)の40%を消費することが判明しました。 したがって、すでに2台のマシンがホストマシンのほぼすべてのプロセッサパワーを使い果たしています。 同時に、仮想マシン内の負荷は1〜2%です。



私たちは、普通の人はvirtioなしでは生きられないと読んでいます。 これらは、物理ハードウェアをエミュレートせずに仮想マシンに直接転送する特別なドライバーです。 実際、これによりホストマシンの負荷が軽減されます。



試しました。 そして、2つのあいまいなことに直面しました:

1)virtioをオンにすると、3〜8時間の操作後、ゲストマシンが理由もなく何もせずにクラッシュする場合があります。

2)ホストマシンの負荷は減少しませんでしたが、同じレベルのままでした。



2.6.30カーネルが手動でコンパイルされたホストマシンのGentooシステム。 仮想化に必要なものはすべて既に組み込まれています。

ゲストマシンで、UbuntuとArchLinuxを試しました。 違いはありません。 みんな落ちている。



ホストマシンのカーネルの更新、KVMの更新、ゲストマシンの更新を試みましたが、今のところうまくいきませんでした。 すべてがvirtioなしで機能し、時々過負荷になる

今、私は別のマシンでKVMの実験を続けていますが、Xenを試してみるために考えはすでに忍び込んでいます...そして一般的に、私は何か間違っているのでしょうか?

たとえば、virtioが機能するためには、仮想マシンインターフェイスと実際のネットワークカードをソフトウェアブリッジに統合することはできません...または、私はすべてを正しく行っているのかもしれません。 このような負荷、そのような問題...



一般的に、有能な人々の助けが必要です。



P / S:巨大な要求、「Ciscoですべてを置き換える」、「Linuxのゴミ、スリップを入れる」などのアドバイスを与えないでください。 少し考えてみると、これらのヒントが現実とはかけ離れている理由が理解できます。



All Articles