我正在研究使用虚拟机来托管多个操作系统,我正在寻找有很多这些操作系统的免费解决方案。我对管理程序是什么感到困惑,为什么它们与“标准”虚拟机不同或更好。当我的意思是标准时,我将使用基准虚拟机VMWare Server 2.0。
对于具有4 GB RAM的双核系统,该系统最多可以运行3个VM。哪个是最好的选择?管理程序或非管理程序,为什么?我已经阅读过维基百科的文章,但技术细节已经超出我的想象。我需要一个基本答案,了解这些不同的VM口味对我有什么影响。
我的主要问题涉及我如何在多种环境中进行测试。我担心操作系统的隔离,因此我可以同时测试多个操作系统上的应用程序。还有哪种味道能让您更真实地了解真机的运作方式?
我正在考虑以下事项:
(管理程序)
(非管理程序)
*我列出的虚拟机分类可能不正确。
答案 0 :(得分:5)
主要区别在于Hyper-V不会在操作系统之上运行,而是与系统一起运行在称为虚拟机管理程序的薄层之上。 Hypervisor是一种计算机硬件平台虚拟化软件,允许多个操作系统同时在主机上运行。
许多其他虚拟化解决方案使用其他技术,如仿真。有关详细信息,请参阅Wikipedia。
答案 1 :(得分:5)
免责声明,以下所有内容(广泛地)是我的观点。
将虚拟机监视器(虚拟机管理程序)视为一个非常小的微内核很有帮助。除了访问底层硬件之外,它只有很少的工作,例如监视事件通道和授予访客域访问特定资源的权限..同时强制执行某种调度程序。
所有客人机器都完全忘记了其他机器,隔离是真的。客人不与特权客人(或彼此)共享记忆。因此,在这种情况下,就VMM而言,您可以(粗略地)将每个访客(甚至是特权访客)视为一个流程。通常,第一个客户获得额外的权限,以便它可以管理其余的。这是虚拟机投入生产并暴露于世界时使用的理想技术。
此外,可以修补一些客户以了解虚拟机管理程序,从而显着提高其性能。
另一方面,我们有像VMWare和QEMU这样的东西,它们依靠主机内核来访问裸机并且存在足够的内存。他们假设所有客人都需要提供一台完整的机器,对这些(或多或少)这些过程的限制成为虚拟机的限制。我或多或少地说,因为设备映射器QoS并不常见。这是在其他操作系统或其他架构中尝试代码的理想解决方案。很多人会将QEMU,Simics甚至有时VMWare(取决于产品)称为“模拟器”。
对于生产推出,我使用Xen,测试我刚刚编译的东西,我使用QEMU,Simics或VirtualBox。
如果您只是在各种操作系统和体系结构上测试/滚动新代码,我强烈推荐#2。如果您的需要是内省(即观看客人记忆变化,因为客人会运行糟糕的程序)......在回答之前我需要更多解释。