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


30

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


3
実際的な理由は、サーバーをレンタルしている場合です。サーバーが物理的か仮想的かは問題ではありません-それは私のサーバーです。VirtualPCまたはVirtual Serverをサーバーにインストールする場合:それが私のビジネスです。
イアン・ボイド

2
VM内にVMをインストールする「実用性」は、選択したHW + SWプラットフォームにこの機能を実装することが「実用的」であるかどうかに最終的に依存するため、実際の理由ではありません。誰かがそれを「したい」からといって、実用的ではありません。
ジョーインターネット

1
なぜこれをしたいのか疑問に思う人のために、ここに私の理由がありますが、それは「現実世界」の理由ではなく、それらの1つを本当に考えることができないと認めます。RHCSA試験のために勉強していますが、ハードウェア仮想化を備えたシステムにアクセスできません。したがって、Amazon AWSインスタンスとして実行されているRHEL仮想マシンでこれを達成したいと考えていました。AWSマシンは(ほぼ確実に)仮想マシン自体なので、その上でKVMを実行するには、ネストされたVMが必要になります。
スティーブンC

回答:


27

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

ごく最近、PCハードウェアがこれをやっと可能にしました。ドキュメント VMwareのWebサイトで説明することはなく、要旨のは、あなたがサポートし、真のハードウェア仮想化(VT-xまたはAMD-V)、および第二VMの深さがなければならないことは非常に近代的なハードウェアのみでVMが深い2を入れ子になっていますが、できることです古いスタイルのBT /バイナリ変換スタイルの仮想化を実行します。また、内部ゲストで実行できる仮想モニターには厳しい制限があります。

言うまでもなく、サポートされていないため、リモートで何か変なこと(ESXの下でのHyper-Vなど)を行うと、本当におかしくなると思います。また、安定しているかどうかに関係なく、パフォーマンスは良くありません。


2
この文書は、これが書かれて以来、最新技術と同様に大幅に変更されています。この答えは、書かれたとおり、今日では実際には当てはまりません。更新を検討してください。
マイケルハンプトン

1
@MichaelHamptonコメントは非常に懐疑的で楽観的です。更新された回答またはそれへのリンクを提供できますか?
ILMostro_7

ここへのリンクですフェドーラ-ウィキ有効にする方法を記述したページ、入れ子のvirtKVMが
ILMostro_7

1
確認のために-MSからのHyper-vの提供に関しては、ネストされたVMは現在までサポートされていないと思います。
RBT

2

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

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


2

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


1

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

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


1

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


VMでESXをテストしたい人がいますが、インストールには通常のインストール方法以外の追加作業が必要です。すぐに使えるものではありません。
baumgart

1

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


1

仮想化手法に依存します。UMLのような「実際の」仮想化ではないソリューションを使用する場合、VMWareなどで実行できます。またはそれ自体について。

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


1

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

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

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


0

私の知る限りそれは不可能ですが、たとえばVMware ESXはVMware Workstationで実行できます。私見それはテストにのみ適しています。


0

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

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



0

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

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

VMWareシステム内でVMWareを実行しようとすると、文句を言って、それを実行させないことを知っています。VirtualBoxについて確信がありません。何らかの理由でDockerコンテナー内にDockerコンテナーを展開する(または彼らが言うように)少数の人々を知っています。物語の教訓は次のとおりです。それは可能かもしれませんが、あなたが何をしているのかを本当に知らない限り、それを行うのはおそらく賢くないでしょう。

私は、ネットワークを超えたこれの実際のユースケースを個人的に知りません。


2
必要な「特別な」ハードウェアは、過去7〜8年で製造された実質的にすべてのCPUです。
マイケルハンプトン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.