質問

仮想マシンを使用して複数のOSをホストすることを検討しており、多くのOSがある無料のソリューションを検討しています。ハイパーバイザーとは何か、なぜ「標準」とは異なるか、それより優れているのか混乱しています。仮想マシン。標準を意味する場合、ベンチマーク仮想マシンVMWare Server 2.0を使用します。

最大3つのVMを実行できる4 GBのRAMを備えたデュアルコアシステムの場合。どちらが最良の選択ですか?ハイパーバイザーまたは非ハイパーバイザーとその理由すでにウィキペディアの記事を読んでいますが、技術的な詳細は頭にあります。これらの異なるVMフレーバーが私にできることの基本的な答えが必要です。

主な質問は、複数の環境でテストを行う方法に関するものです。 OSの分離が心配なので、複数のOSで同時にアプリケーションをテストできます。また、実際のマシンがどのように動作するかをより詳細に体験できるフレーバーはどれですか?

次のことを検討しています:

(ハイパーバイザー)

  • Xen
  • Hyper-V

(非ハイパーバイザー)

  • VirtualBox
  • VMWare Server 2.0
  • Virtual PC 2007

*リストしたVMの分類が間違っている可能性があります。

役に立ちましたか?

解決

主な違いは、Hyper-VはOS上で実行されるのではなく、システムとともにhypervisorと呼ばれる薄いレイヤー上で実行されることです。ハイパーバイザーは、複数のオペレーティングシステムをホストコンピューターで同時に実行できるコンピューターハードウェアプラットフォーム仮想化ソフトウェアです。

他の多くの仮想化ソリューションは、エミュレーションなどの他の手法を使用しています。詳細については、ウィキペディアを参照してください。

他のヒント

免責事項、以下はすべて(大まかに)私の意見です。

仮想マシンモニター(ハイパーバイザー)を非常に小さなマイクロカーネルと見なすと役立ちます。イベントチャネルの監視や特定のリソースへのゲストドメインアクセスの許可など、基盤となるハードウェアへのアクセス以外のジョブはほとんどありません。

すべてのゲストマシンは他のマシンを完全に無視しており、分離は事実です。ゲストは、特権ゲスト(または相互)とメモリを共有しません。そのため、この例では、VMMに関する限り、各ゲスト(特権ユーザーを含む)を(大まかに)プロセスと考えることができます。通常、最初のゲストは、残りを管理できるように追加の特権を取得します。これは、仮想マシンを運用環境に入れて世界に公開するときに使用する理想的なテクノロジーです。

さらに、一部のゲストはパッチを適用してハイパーバイザーを認識できるため、パフォーマンスが大幅に向上します。

一方、VMWareやQEMUなど、ホストカーネルに依存してベアメタルと存在するのに十分なメモリにアクセスできるものがあります。彼らは、すべてのゲストに完全なマシンを提示する必要があると想定しており、これらを提示するプロセスに課される制限(多かれ少なかれ)が仮想マシンの制限になります。デバイスマッパーのQoSは一般に実装されていないため、多かれ少なかれ言います。これは、他のOSや他のアーキテクチャでコードを試すのに理想的なソリューションです。多くの人は、QEMU、SimicsまたはVMWare(製品によって異なる)を「シミュレータ」と呼びます。

プロダクションロールアウトにはXenを使用し、クロスコンパイルしたものをテストするにはQEMU、Simics、またはVirtualBoxを使用します。

さまざまなオペレーティングシステムとアーキテクチャで新しいコードをテスト/ローリングしているだけの場合、#2を強くお勧めします。内省が必要な場合(つまり、悪いプログラムがゲストで実行されるとゲストのメモリが変化するのを見る)...答える前に、さらに説明が必要です。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top