虚拟化问题

10

我从未使用过虚拟化技术,但正在尝试学习。我的新台式机今天到货,我专门购买它来尝试在一台机器上运行所有需要的软件(例如 Windows Vista 桌面、Windows XP 桌面、VS 2005、VS 2008、Windows 服务器、SharePoint、SQL Server 2000/2005/2008 等)。过去,我总是为家庭办公室里的每个应用程序购买和设置单独的物理机器。(这就是为什么我的地下室有时会被认为是一个小型数据中心。)

我设置的这些虚拟服务器都不会有很大的负载,只是想让它们在线上进行开发和测试。

所以我的问题是,哪种免费虚拟化技术最容易(最快、最不痛苦)设置?如果我的需求变化了,是否有任何从一种工具转换到另一种工具的路径?(即做出“正确”决策有多重要?)

其次,由于我可能会运行一个64位的Vista作为“基础”操作系统(除非有人说服我使用其他操作系统),那么你是不是基本上不安装任何东西在这个系统上,而是安装所有的东西“内部”的虚拟机中?即使是我的“主要”开发环境?(甚至我的电子邮件、办公软件等?)从我在这里读到的信息来看,似乎移动和备份整个“镜像”的能力是一个很大的优点,但我不确定是否可能对直接运行在“主机”上的应用程序实现。

这台机器是双CPU四核型号,配备16G内存和15K硬盘——所以它应该可以处理任何事情。

顺便说一下:我可能只有不到5%的机会需要设置除了Windows平台之外的任何东西,因此,虽然能够设置Unix/Linux系统很好,但这并非必需。

因此,总结问题:哪种虚拟化技术可以让我最轻松地运行,并且我真的不应该直接在“主机”操作系统上安装任何东西吗?关于启动桌面虚拟机策略的其他建议——任何我真的想避免的错误,这些错误可能会在未来给我带来麻烦?

更新 2011 年 12 月: 在得到各种热心回复后,我最终选择了 VMware Workstation,并且一秒都没有后悔。它不是免费的,但对于你所获得的一切来说,价格非常便宜。我认为其他产品也能正常工作。

如果有人在阅读这篇文章并考虑虚拟化,坦率地说,这很棒 - 你还在等什么?在我的第一个 VMware 设置中,我将主要开发保持在“主机”操作系统中,并且只使用 VM 来测试服务器,但就在 6 个月前,我购买了一台新机器,现在在主机操作系统(Windows 7)中不运行任何东西,并在一个或多个 VM 中运行所有我的工具/桌面。使用 VM 作为我的主要桌面会稍微(非常轻微)降低性能,但随时拥有完全可运行的备份遥遥领先于负面影响 - 如果/当我外出时,甚至可以将我的主要桌面电脑带上笔记本电脑。


你尝试过使用BoxedApp吗?我不确定,但也许它会有所帮助。 - John Smith
10个回答

8

我现在已经使用VMWare三年了,感觉真的不错。我的主机是极简版的XP64,我同时运行一个开发虚拟机和一个"办公"虚拟机。从我的经验来看,创建内存大量分配的虚拟机并不能帮助性能,要在3GB的限制范围内,否则你可能会遇到性能问题(取决于个人情况)。


6
我曾广泛使用Microsoft Virtual PC,最近又开始使用VMware,以各种组合的已安装应用程序建立测试环境。
MS VPC是两者中设置最简单的。它真的非常容易 - 只需在几个设置上点一下并创建虚拟机,然后将操作系统DVD附加为ISO文件,就可以开始了(每安装一个操作系统副本都需要许可证)。别忘了在操作系统安装完成后安装Virtual Machine Additions,因为这样可以使鼠标指针集成更加流畅。
你可以通过复制VHDD文件来备份整台计算机。
我遇到的唯一限制是,如果主机操作系统是32位,则无法安装64位客户操作系统。
但这不是VMware的限制,这就是我开始使用它的原因。我创建了一台Windows 2003 Server x64作为客户操作系统的机器,在XP Pro x86下运行,效果很好,包括.NET应用程序中编译器开关的影响。
VMWare控制台有点笨重,但功能齐全,一旦全部设置完毕,使用起来非常轻松。
你将会爱不释手。
只有一个问题 - 预计要花费大量时间下载和安装Windows更新。我的虚拟机数量现在是14个,更新有点麻烦,特别是如果我还原了一个旧版本。其中之一是Windows 7 beta版,运行得相当不错。
至于转换一个到另一个...理论上,你可以使用VMWare的转换器(也是免费的)来吸入和虚拟化整个物理计算机(我曾经做过一次,它确实有效),我看不出为什么那不能是MSVPC。反之则不行。
我不在虚拟机中运行我的普通桌面。我希望我的正常开发环境尽可能快,而性能确实会受到很大影响。我知道VMware在这方面的表现比MS VPC好,但我无法证实。

你提出了一个很好的问题 - 在虚拟机镜像中安装beta软件(如Windows 7),是否完全安全?也就是说,它绝对不会破坏你的生产环境吗? - E.J. Brennan
虚拟机映像没有访问主机操作系统的权限 - 实际上,虚拟机的整个目的就是让客户操作系统相信它正在运行在真实硬件上。你可以它访问主机机器上的共享文件夹等资源,但默认情况下,客户操作系统被隔离在虚拟机内部。 - Piskvor left the building

5

Microsoft Virtual PC是免费的,很难被击败。VMware的明显缺点是价格标签。关于VMware和Ms VPC的优缺点已经在其他答案中比较详细地概述了,但这里还有一些额外的要点:

  • 请注意,如果Vista是您的主机环境,请确保您正在运行企业版、旗舰版或商业版。微软不允许在Vista Home Basic或Home Premium上运行VPC。VMware没有受到此限制。这不是技术限制,而是许可证限制。
  • 在虚拟机中运行日常生产力应用程序可以使备份更容易,但会减慢启动时间,因为您必须先启动主机,然后再启动虚拟机。增量备份很困难,因为在主机上运行的任何备份软件都会将虚拟机磁盘视为一个大文件,并且无法看到已更改和未更改的内容。因此,它会将整个blob备份。这可能会在备份存储方面变得昂贵。对于增量备份,您可能会发现Drive Snapshot更容易使用:http://www.drivesnapshot.de/en/
  • 作为运行测试平台、需要回滚到已知良好状态的系统或很少使用的系统的解决方案,虚拟机是无可比拟的。

我建议从Ms VPC开始尝试您的测试机器并熟悉它。然后您可以稍后决定是否要完全虚拟化。从第一天开始完全虚拟化可能会很痛苦,您可能会发现自己希望没有这样做。


VMWare服务器现在是免费的。如果您只需要一些测试环境,就没有必要支付工业级别的产品。 - ChrisA
嗯...我原本以为VMWare服务器的免费许可只允许您使用其他人制作的设备。这对Linux发行版非常有用,但我认为在Windows上它会成为一个限制。然而,可能有一种解决方法。 - JD Long

3
坦率地说,Virtualbox可能是最方便的选择,但它不支持虚拟化SMP。如果不能用Virtualbox,VMWare Server是免费的,ESXi也是免费的(但配置比较麻烦,除非你有ESX的使用经验),VirtualPC也是一个可行的选择。
如果你不打算在主机操作系统上安装任何东西,请在Server 2k8上运行Hyper-V虚拟机(这样你也可以选择从VHD文件进行本地引导)。对我来说,我不会把虚拟机当作我的桌面电脑。在主机操作系统上安装你想要的任何东西,并让虚拟机运行它们现在运行的服务。毕竟,如果你想在虚拟机中运行桌面,你可以在ESX盒子上通过RDP做到这一点。
至于15k转速的驱动器?嗯...好吧。我希望它们是SAS(而不是Velociraptors),因为你需要大量廉价的二级存储来进行快照、非性能关键的镜像(除了SQL服务器之外的任何内容),而Velociraptors的可靠性并不如此。

15K驱动器是希捷SAS驱动器。我的假设是我可以添加一些廉价的1T驱动器来卸载不经常使用的图像,然后根据需要将它们移回更快的驱动器。 - E.J. Brennan
基本上是这样,尽管廉价的1TB硬盘不够慢,不能使重复移动变得有价值。我的意思是,连续构建服务器、数据库服务器、15k磁盘都很好。在XP上使用VS2005?速度根本不重要。 - phresus
我赞同使用ESX - 据我所知,不需要主机操作系统。 - cjk

1

我在我的Vista操作系统上设置了一个虚拟机,同时运行xp。这很棒,因为一些应用程序不支持64位(例如那些旧的16位应用程序)。你可以尝试使用Microsoft Virtual PC 2007,它很可能是最用户友好的。这就是我使用的。你也可以尝试Virtualbox。你可以设置一个分区并为新操作系统分配空间以使其工作。或者如果你有一个格式化的备用次要驱动器,分配10G的空间应该足够了。


0

0

我使用VMWare开源服务器(最新的免费版本),它非常易于使用和设置。而且它不像其他一些虚拟机那样占用太多资源。


0

请记住,许多虚拟化平台缺乏对OpenGL/DirectX/3D的良好支持。如果您需要运行/测试这些类型的应用程序,则可能需要升级到非免费版本。

许多时候,应用程序可以通过软件3D仿真“运行”,但性能将无法承受。如果您正在使用OpenGL加速执行图形或动画(例如科学应用程序)或者正在构建3D应用程序的扩展,如ArcGIS Explorer,则这是一个常见问题。

就个人而言,我不会在虚拟机上运行我的日常环境,因为我倾向于使用在虚拟机中表现不佳的应用程序,其中最大的罪魁祸首是桌面搜索和基于3D的应用程序。然而,如果您使用标准的办公套件并且没有以任何方式推动系统(特别是磁盘),那么您应该没问题。


0

请查看VMware的录制/重放功能(惊人的视频演示在这里),非常适合调试。它不包含在任何免费产品中,因此您需要购买许可证,但考虑到您还可以获得相当不错的DirectX支持,这是非常值得的。


0
此外,我建议研究一下 VMWare 的 ESXi - 这是他们完整ESX产品的一个简版免费版本。它是一个裸机虚拟化安装程序,因此不会像类似Parallels、Virtual PC或VMware自己的Server工具之类的托管解决方案那样受到性能影响。
建立虚拟机需要一些努力,因此我建议使用VMware Server(也是免费的)工具来构建您的虚拟机。
一旦它们建好了,就可以在ESXi上运行。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接