VirtualBox

Ticket #4032 (new enhancement)

Opened 7 years ago

Last modified 11 days ago

[feature-request] Nested Virtualization: VT-in-VT

Reported by: Technologov Owned by:
Priority: minor Component: VMM
Version: VirtualBox 2.2.2 Keywords:
Cc: Tao1, vbfun, DNS, Tristan, x5560, Tsso, bluezeak, peterdk, snowch, rdx, Bertrualex, EnesKorukcu, AfUnix, dario, anrichter, Jimbob, adam84luong, Coffee_fan, everflux, purpletoad, jonseymour, ciekawy, GA, ThatOneGuySean, Youness, subdian, veganaiZe, JohnStarich, Michal, todd.vierling, emiliano.bonassi, killmenot, ccarbone, azurtree, amclain, macedemo, GnomeUser, nicorac, schmunk, gael.abadin, paha, krasimir, pixie, Parfait, ikb42, yanp.bugz, hekier, maniankara, RayN, oam, domiel, sab3awy, Canada00, Ashishkel, leonexis, andjohn2000, denka_b, theBruno Guest type: Windows
Host type: other

Description (last modified by frank) (diff)

Hi All,

Because more and more virtualization software requires VT (Intel VMX or AMD-V) to run, it makes sense to virtualize it somehow. (at least if host CPU supports hardware VT)

It will allow the following software to run in guests: -Xen (full virtualization mode) -KVM -Hyper-V -Windows Virtual PC -- this is basically a requirement for those who wanna run Windows 7 "XP mode". i.e. It allows for more complete user experience on Win7 guests.

Others can take advantage of it too: -VirtualBox itself :) -VMware Workstation -VMware ESX

-Technologov (yes, I will take advantage of it too :-), yay! )

Change History

comment:1 Changed 7 years ago by Technologov

opened on 17.5.2009.

comment:2 Changed 7 years ago by sandervl73

  • Priority changed from major to minor

A lot of work for questionable usefulness. Definitely very low on our priority list.

comment:3 Changed 7 years ago by Technologov

This is partially related to wish #2988

-Technologov

comment:4 Changed 7 years ago by Technologov

KVM team has developed (untested) patches for both nested VMX and nested SVM. Maybe some ideas can be taken from those patches.

See: (General Info)

 http://avikivity.blogspot.com/2008/09/nested-svm-virtualization-for-kvm.html

and

 http://avikivity.blogspot.com/2009/09/nested-vmx-support-coming-to-kvm.html

-Technologov

comment:5 Changed 5 years ago by Technologov

update: VMware Workstation 8 claims to support this feature !

 https://www.vmware.com/support/ws80/doc/releasenotes_workstation_80.html

-Technologov

comment:6 Changed 5 years ago by Technologov

It seems that Linux 3.1 KVM finally achieved nested VMX.

This feature is yet another filler feature that is a "must-have":

 http://www.mjmwired.net/kernel/Documentation/virtual/kvm/nested-vmx.txt

Research paper:

 http://www.usenix.org/events/osdi10/tech/full_papers/Ben-Yehuda.pdf

-Technologov

comment:7 follow-up: ↓ 8 Changed 5 years ago by frank

What you denote as "must have" needs a lot of implementation time, is very difficult to implement and the benefit of nested virtualization is questionable.

comment:8 in reply to: ↑ 7 Changed 4 years ago by Johan Ryberg

Replying to frank:

What you denote as "must have" needs a lot of implementation time, is very difficult to implement and the benefit of nested virtualization is questionable.

I would very much see this in Virtualbox. I was just about to test a VMware cluster setup and I wanted to use VT-in-VT for this but it was not possible to use hardware virtualization.

Best regards Johan Ryberg

Version 1, edited 4 years ago by Johan Ryberg (previous) (next) (diff)

comment:13 Changed 4 years ago by frank

  • Description modified (diff)

I know that other virtualization products support nested virtualization. Even with VirtualBox it is possible to execute VirtualBox without VT-x/AMD-V as a guest of VirtualBox with VT-x/AMD-V enabled. But apart from that, implementing full virtualization is too much effort for too little benefit.

comment:15 Changed 4 years ago by itarchitectlev

It seems that this ticket was evaluated a long time ago when the usefulness may have been disputed. In any case, there are real reasons people want to have nested hardware VT.

There is a lot of working happening in the cloud community and evaluating products in this arena often requires hardware VT - which implies two things:

1) You have real hardware available 2) You have nested hardware VT capable virtualization software (e.g. VMware)

Given that we are in a world of cheap memory coupled with multiple core fast CPUs, virtualization is a great boost to doing cloud infrastructure development work. The problem is that the virtualized hardware created under VBox is only one part of the picture - as you're creating virtual hardware to run infrastructure designed to virtualize. Nested Hardware VT is essential here as software emulation in this world is painfully slow.

I have just purchased a VMware product because VirtualBox doesn't support this fundamental feature that I require which will now render my use of VirtualBox redundant.

I have been a big advocate of VirtualBox, but future work now sees this being left behind.

Regards, Kev @itarchitectkev

comment:18 Changed 4 years ago by frank

I don't want to start a discussion here, a public bugtracker is not the right place for doing this. But please be aware that the VirtualBox development is primary driven by paying customer demands. Of course that does not mean that community demands are not being considered. We just have limited resources. Code contribution from the community may speed up the implementation of certain features.

comment:23 Changed 2 years ago by Smackey's Dad

Will nested VM work using "Intel Haswell CPU" which has VMCS feature allowing nested virtualization. If it does not it makes sense (in my opinion) to add support for nested VM with New CPU VMCS feature rather than writing the emulation layer.

comment:24 Changed 2 years ago by ramshankar

No. Haswell CPUs while it has features like VMCS shadowing that help make Nested Virtualization perform better and easier to program, we still have to implement code which makes use of it. At the moment, we still feel when we implement the nested virtualization feature, having a Haswell CPU as the minimum requirement is not reasonable as it's still too new, and will exclude quite a bit of the users even two years down the line.

This feature is most definitely on our radar for a while now, but again, it's a question of managing our development resources which are limited.

Last edited 2 years ago by ramshankar (previous) (diff)

comment:31 Changed 21 months ago by Miles Chen

Last edited 11 days ago by michael (previous) (diff)

comment:39 Changed 18 months ago by Bernd Vogt

Last edited 11 days ago by michael (previous) (diff)

comment:43 Changed 15 months ago by Mobile Geek

Last edited 11 days ago by michael (previous) (diff)

comment:55 Changed 10 months ago by Mandrel Bent

Last edited 11 days ago by michael (previous) (diff)

comment:56 Changed 10 months ago by Brian Cunnie

Last edited 11 days ago by michael (previous) (diff)

comment:59 Changed 9 months ago by Thomas Dreibholz

Last edited 11 days ago by michael (previous) (diff)

comment:69 Changed 6 months ago by Roberto V. A.

Last edited 11 days ago by michael (previous) (diff)

comment:93 Changed 7 weeks ago by Steel Thunder

Last edited 11 days ago by michael (previous) (diff)

comment:101 Changed 12 days ago by michael

  • Cc Tao1 added

comment:103 Changed 11 days ago by michael

  • Cc vbfun, DNS, Tristan, x5560, Tsso, bluezeak, peterdk, snowch, rdx, Bertrualex, EnesKorukcu, AfUnix, dario, anrichter, Jimbob, adam84luong, Coffee_fan, everflux, purpletoad, jonseymour, ciekawy, GA, ThatOneGuySean, Youness, subdian, veganaiZe, JohnStarich, Michal, todd.vierling, emiliano.bonassi, killmenot, ccarbone, azurtree, amclain, macedemo, GnomeUser, nicorac, schmunk, gael.abadin, paha, krasimir, pixie, Parfait, ikb42, yanp.bugz, hekier, maniankara, RayN, oam, domiel, sab3awy, Canada00, Ashishkel, leonexis, andjohn2000 added

comment:104 Changed 11 days ago by michael

  • Cc denka_b added

comment:105 Changed 11 days ago by michael

  • Cc theBruno added

I have removed most of the comments from this ticket, as they were more of a discussion nature and not very conductive to implementation. I added the nicknames of the commenters to the CC list so that they still get updates to the ticket. Unfortunately trac does not like nicknames with spaces in in CC, so I just removed the content of those comments.

As mentioned previously, we currently do not have the available resources to implement this feature. If people in the community are willing and able to help we would certainly be interested in code contributions, but in that case please communicate with us before you start writing code to avoid wasted effort. If anyone in the community would be willing to be hired to work on this several people have indicated that they would be interested in trying to organise funding. Alternatively perhaps someone can find a suitable freelance developer. The same thing applies here: please talk to us before starting writing.

Note: See TracTickets for help on using tickets.

www.oracle.com
ContactPrivacy policyTerms of Use