我从事软件开发,我发现自己需要越来越多的软件“服务”(如数据库、Web 服务器、测试服务器等),而这些服务目前都阻塞了我主要的 Ubuntu 计算机。
我一直在考虑使用虚拟机管理程序来很好地封装所有这些东西,但最终的解决方案是让虚拟机管理程序本身成为虚拟机,这将成为一个出色的便携式/即插即用解决方案。
可以这样做吗?你有什么建议吗?
答案1
我相信你不能这样做,除非你在虚拟机上使用像 bochs 这样的模拟器(即非虚拟机管理程序)虚拟化层,但性能会受到影响。
我建议使用操作系统级别的虚拟化,例如 Solaris 区域、BSD jails 和 Gnu/Linux Vservers/OpenVZ/FreeVPS。
编辑:一些虚拟机管理程序实际上支持它,正如@Antitribru 6 年前正确指出的那样......这并不意味着我不会仍然建议使用 Solaris 区域等。
答案2
某些虚拟机管理程序(例如 ESX)可以自行虚拟化以进行测试,但是除了测试虚拟机管理程序本身之外,您不会想使用它来做任何其他事情,因为在那之后,许多抽象级别对性能的影响会令人不快。
您最好抓取另一个桌面并在其上运行适当的虚拟机管理程序 (ESXi/HyperV/Xen),并将磁盘 IO 移出主桌面。然后只需远程连接即可。物理系统可以无头运行以节省空间/电源。
答案3
这是自 2009 年以来经过大量发展后的更新。只要虚拟机管理程序支持它,当然可以!
KVM 支持:
http://www.linux-kvm.org/images/3/33/02x03-NestedVirtualization.pdf
ESXi 承认您可以这样做,但不在 SLA 范围内:
从 Server 2016 开始 HyperV 支持它: