web-dev-qa-db-ja.com

別の仮想マシン内に仮想マシンをセットアップすることは可能ですか

私は仮想マシンlatleyで遊んでいて、仮想マシン内で仮想マシンを実行できるかどうか疑問に思いましたか?
出来ますか?
それは実用的ですか?

30
Tester101

VMのネストは、IBMメインフレームハードウェアで永遠に行われてきたものです。そのハードウェアは、プロセスを非常に効率的にするために多くのことを行います。 VMを任意の深さにネストすることができ、非常にうまく機能します。

ごく最近のPCハードウェアは、これをやっと実現可能にしています。 VMwareのWebサイトの ドキュメント で説明されていますが、要点は、VMを2階層にネストできることですが、真のハードウェア仮想化(VT-xまたはAMD-V)をサポートする非常に最新のハードウェアでのみ可能です。 2番目のVM depthは、古いスタイルのBT /バイナリ変換スタイルの仮想化を実行している必要があります。また、内部ゲストで実行できる仮想モニターにも厳しい制限があります。

言うまでもなく、これはサポートされておらず、リモートで奇妙なこと(ESXでのHyper-Vなど)を実行する場合は、かなり不安定になると思います。そして、それが安定しているかどうかに関係なく、パフォーマンスは良くありません。

27
chris

レガシーシステムなどの特定のシステムを仮想化する必要がある場合は、いつでもソフトウェアで実行できます。ネストは問題になりません。 qemuを試してみてください。私はそれを2レベル深くしましたが、もっと深くすることもできますが、パフォーマンスはおそらく役に立たないでしょう。ところで、PCアーキテクチャはIBMによって作られた名目通りでしたが、今日使用されているものとはまったく異なる用途で使用されました。

2
MichaelS

はい、できます。たとえば、Linuxでは、OpenVZ、VirtualServer、または他の種類のVMシステムを実行している複数のVMを使用してXenを実行できます。目的に応じて、非常に確かに可能であり、非常に実用的です。

これを行うために考えられる理由の1つは、単一の物理マシン上で複数のサーバーを実行することです。単一レベルのVM階層として実行するか、複数の階層として実行するかは、リソース分離計画によって異なります。

2
sybreon

ほとんどの仮想化パッケージでVMでVM=を実行できるとは思わない。VMwareがインストールされたときにチェックされ、VMにインストールされているかどうかを確認する。他の製品も同じです。必要なCPU命令は、ハードウェアで実行されているハイパーバイザーからVMを介して2番目のVMに到達するまで)を通じて提示されるとは思いません。また、見返りに何も得ずにオーバーヘッドを追加することになります。

それが実用的であるかどうかについては-理由はわかりません。別のVMが必要な場合は、すでに実行しているVMの隣で実行できます。別のVM内でVMを実行している必要があるケースは想像できません。リソースの比例的な増加なしにオーバーヘッドを追加すると、これは非現実的になります。

1
baumgart

はい。仮想マシンでVMware ESX/vSphereを実行する方法もあります。なぜあなたが実際にやりたいのかは分かりませんが、それは行われています。

1
Kevin Kuphal

はい、できますが、多くのことが好きなわけではありません。別の仮想ESXサーバーが内部にある仮想マシンを実行している仮想化されたESXサーバーを見たことがあります。それができるかどうかを確認するためのテストだったとしたら、それは可能です(できることです)。

1
SQLChicken

それは仮想化技術に依存します。 UMLのような「実際の」仮想化ではないソリューションを使用する場合は、それらをVMWareなどの内部で実行できます。またはそのことについては自分自身。

UMLベースのインストールは、VMWare VMおよび他のUMLベースのインストール(ネストされている場合も含む)内で実行できます。ただし、パフォーマンスメトリックはそれほど美しくありません。

1
David Spillett

はい、それは可能ですが、本当に遅いです。

これは、割り当てられたパブリックIPが制限されたサーバーをレンタルする場合に特に役立ちます(たとえば、サーバープロバイダーのネットワークを侵害しないようにMACアドレスに依存します)。 VM IPをブリッジしてインターネットと直接通信する必要があります。たとえば、パブリックIPアドレスが3つを超えることはできないが、10個のVMが必要な場合は、 VMをグローバルに配置することは非常に良い考えですVM:指定したパブリックIPの1つだけを使用し、サブブリッジVMを多数持つことになります。

しかし、実際には、ブリッジとルーティングされたネットワーク構成を組み合わせて使用​​することもできます。構成に関しては、それよりも困難です。

1
Yannovitch

私の知る限りそれは不可能ですが、VMware ESXはたとえばVMware Workstationで run を実行できます。私見それはテストのためだけに良いです。

0
Saabi

多くの人が言っているように、もちろんそれは可能です。 VMハードウェアがどれだけエミュレートされているか、および使用している仮想化ソフトウェアによって異なります。少なくとも、VMWare Workstationは仮想化を望んでいません。

それが実用的であるかどうかについては、おそらくあなたに質問を投げかける必要があります:なぜあなたはそのようなことをする必要があるのですか? 2つのVMを並べて実行することの何が問題になっていますか?そして、それが実用的であるかどうか、どの程度尋ねますか?つまり、設定と構成が実用的であると心配している場合は、おそらくそうではありません。仮想化ソフトウェアのバグか何かを探しているのでない限り、実際の使用法についてもっと心配しているのであれば、これを行うために必要なことは何も考えられません。

0
mrduclaw

はい。こちらをご覧ください:

VMWare ESXまたはESXiを仮想マシンで実行する方法

0
Massimo

できますが、お勧めしません。

通常、「ゲストのゲスト」マシンのこのプロセス全体で、パフォーマンスはかなり大きく低下します。特別なハードウェアとソフトウェアなしで本当にこれを行う必要がある場合は、幸運を祈ります。ただし、特に仮想化を実現するために使用される一般的な方法では、これは一般的に良い方法ではありません。

私は、VMWareシステム内でVMWareを実行しようとすると、文句を言って実行させないことを知っています。 VirtualBoxについては不明です。どういうわけか、Dockerコンテナー内にDockerコンテナーをデプロイする(またはそう言う)数人の人を知っています。この話の教訓は次のとおりです。それは可能かもしれませんが、自分が何をしているのか本当に理解していない限り、それを行うことはおそらく賢明ではありません。

ネットワーキング以外の実際のユースケースについては、個人的には知りません。

0