我正在研究如何使用虚拟机来承载多个OSes,并且我正在研究很多免费的解决方案。我对虚拟机管理程序是什么感到困惑,为什么它们与“标准”虚拟机不同或更好。当我指的是标准时,我将使用基准虚拟机VMWare Server2.0。
对于一个双核系统,4GB的ram,将能够运行一个最大的3VM。哪一个是最好的选择?管理程序还是非管理程序?为什么?我已经读过维基百科的文章了,但是技术细节还在我的脑海中。我需要一个基本的答案,这些不同的VM风格可以为我做什么。
我的主要问题是如何在多个环境中进行测试。我关心OSes的隔离,所以我可以同时在多个OSes上测试应用程序。另外,哪种口味更能让人更好地了解一台真正的机器是如何工作的呢?
我正在考虑以下几点:
(管理程序)
(非管理程序)
*我所列出的越南船民的分类可能不正确。
发布于 2009-03-07 08:13:49
主要的区别在于,Hyper-V并不运行在操作系统之上,而是与系统一起运行在一个名为hypervisor的瘦层之上。Hypervisor是一种计算机硬件平台虚拟化软件,允许多个操作系统同时在主机上运行。
许多其他虚拟化解决方案使用其他技术,如仿真。有关更多细节,请参见维基百科。
发布于 2009-03-07 08:43:06
免责声明,下面的每件事都是我的(大致)意见。
将虚拟机监视器(管理程序)看作一个非常小的微内核是很有帮助的。除了访问底层硬件之外,它几乎没有什么工作,例如监视事件通道和授予来宾域访问特定资源的权限。同时强制执行某种调度程序。
所有的客人机器都完全无视其他的,隔离是真实的。客人不与特权客人(或彼此)共享内存。因此,在这种情况下,就VMM而言,您可以(粗略地)将每个来宾(甚至是特权客户)看作一个进程。通常,第一个来宾获得额外的特权,以便它可以管理其余的权限。当虚拟机投入生产并向世界公开时,这是最理想的技术。
此外,还可以修补一些来宾以了解系统管理程序,从而显著提高他们的性能。
另一方面,我们有一些东西,比如VMWare和QEMU,它们依赖于主机内核来让它访问裸金属和足够的内存。他们假设所有的客人都需要有一台完整的机器,对呈现这些(或多或少)过程的限制就变成了虚拟机的极限。我这么说或多或少是因为设备映射器QoS没有得到普遍实现。这是在其他操作系统或其他架构中尝试代码的理想解决方案。很多人会称QEMU,Simics,甚至VMWare (视产品而定)为“模拟器”。
对于产品推出,我使用Xen,对于刚刚交叉编译的测试,我使用QEMU、Simics或VirtualBox。
如果您只是在各种操作系统和体系结构上测试/滚动新代码,我强烈建议#2。在回答之前我需要更多的解释。
https://stackoverflow.com/questions/621463
复制相似问题