基于Windows的开发环境:开发机器上的HyperV,VMWare或VirtualBox?

我是一名具有一点非正式“支持”function的软件工程师……我正试图找出在开发过程中采用虚拟化技术的最佳方法。 由于我们开发的代码是以服务器为中心的,所以testing它通常需要具有特定软件要求的虚拟机

我曾经使用VM Ware播放器(免费版)来运行我的虚拟机,直到我的两台笔记本电脑开始展示Windows 7服务损坏和硬盘死机的问题。 所有的线索都指向了VMWare,如果你为Workstation版本(300美元)付费的话,它似乎是一个坚实的产品。

在附注中,我一直是Windows Server产品线的粉丝。 我认为这是最好的开发环境之一 – 它具有高度可扩展性,高可靠性和高效率。 所以公平地说,我更换了笔记本电脑的驱动器,并安装了Windows Server 2008 R2,VS2010 Ultimate SP1,SQL Server 2008 R2,TFS Server 2010以及所有其他工具和API所需的工具。

所以现在我被一堆VMWare虚拟机困住了。 我不想重复之前发生的事情,我当然也不想用低效率的虚拟机pipe理程序或不需要的服务让我的机器陷于停顿。 而且,VMWare使用的VMDK硬盘格式与Hyper V的VHD格式不兼容。

这是我的理解是,从一种格式转换到另一种只能通过Microsoft System Center虚拟机,我已经从MSDN下载,并准备安装。

我猜这个问题是:

SCVM作为Windows中的另一项服务运行吗? 这是一个记忆猪吗? 什么是更好的虚拟化技术 – Hyper-V或Virtual Box在效率易用性方面,最重要的是内存占用情况? (请记住,开发环境已经有很多运行的服务,比如TFS服务器,SQL Server,IIS等等)

你如何build议在这一点上继续进行,以便在testing过程中仍然使用虚拟机?

感谢Martin

我认为你能做的最好的事情就是和你最舒服的产品一起工作,这对我来说听起来像Hyper-V将会是你的。

至于SCVMM,它是一个非常简单的产品,可以让V2V转换的基本function得到进一步提升。 它不是一个巨大的资源,所以不应该对你的其他过程造成太大的负面影响,尽pipe你需要做一些testing来确保在你的特定环境下。

关于SCVMM,我可以提到的一件事就是确保您使用的是与Hyper-V安装相同的版本。 即:使用r2与r2和2008与普通的SCVMM。

Hyper-v有我的投票,Nore在Windows 8的消费者预览中,hyper-v被包括在所有已知的微软操作系统(谁知道什么时候他们开始把它切成各种版本出售)的一部分。 我使用starwind转换器将VMDK转换为VHD,所以根本不需要使用SCVMM,除非您想直接从vmware环境中迁移