什么是最友好的虚拟化解决方案?

我想在Ubuntu 10.04上尝试虚拟化,并找到了以下一些希望相关的名称:Xen、OpenVZ、KVM、Vservers、EC2和Solaris Zones。虽然这只是一个示例列表,而且问题并不仅限于这些选项。
根据社区的经验,我应该在Ubuntu上使用哪个虚拟化解决方案进行学习?最重要的因素是安装和使用的便捷性。稳定性也很重要。其次是内存使用和性能问题。
我想要虚拟化什么?好吧,基本上选择的软件允许的任何东西,都可以作为实验的一部分。

2你想解决什么问题? - andol
2这听起来几乎像是一个社区维基问题。 - Marco Ceppi
@ando:关于实验的问题,除了问题本身陈述的内容以外,没有更多的信息。在这个背景下,David提供了一组很好的选择 - 请查看下面的被接受的答案。谢谢。 - John K
对谁最友好? - Thorbjørn Ravn Andersen
@Thorbjørn:别太过于认真地看待标题 :) 标题只能有限的长度。问题的正文包含了所有相关的背景信息。 - John K
6个回答

我建议初学者使用VirtualBox。(apt-get install virtualbox-ose)它是用于在桌面(或笔记本)计算机上运行虚拟机的,这样您就可以同时使用虚拟(客户端)计算机和真实(主机)计算机。它提供了一个漂亮的GUI,您可以使用它来创建虚拟机并更改其设置。您可以启动和停止虚拟机,因此如果您需要在主机上运行某些任务时需要额外的处理能力,则不会影响客户端。
你在问题中提到的名称更高级,我认为。它们是我听说过的与虚拟专用服务器(VPS)公司相关的事物,这些公司是使用虚拟化技术为多个人提供服务器的Web托管公司,使用一台物理计算机。它们可能更加复杂,需要更多的设置和维护,通常当您使用像Xen这样的东西时,主机计算机并不打算做太多工作,只是作为VPS的“基础”。

我同意David的观点 - 如果你在计划使用虚拟机(VMs)时还要使用主机(桌面),那么你肯定会想使用类似VirtualBox这样的软件。 - Marco Ceppi
谢谢David,选项很清晰,解释得很好。我已经安装了VirtualBox。将会享受使用这个软件进行实验。 - John K
我不建议使用OSE版本,而是建议使用仍然可以从他们的网站免费下载的版本。正确地共享USB设备到虚拟机非常有用,但在OSE版本中无法实现(至少在我上次尝试时是这样)。而且,我所指的USB设备包括耳机、摄像头等。 - red

VirtualBox 可能是最友好的选择,如果您只需要同时运行1或2个虚拟机。
如果您需要同时运行许多不同的Linux环境(每个主机超过10个),那么OpenVZ是您的选择。它类似于chroot,但提供完全隔离的Linux环境(容器),具有资源控制、检查点和实时迁移的功能。我在工作中已经使用它超过2年,用于许多不同的系统管理员任务(大型大学的400个用户的生物信息学中心)。
OpenVZ 几乎没有开销。它是唯一一种这样类型的(操作系统级别的虚拟化)。它能够很好地处理各种规模的Linux应用,从Web反向代理到每天处理30TB的I/O密集型备份系统。每台服务器上有30个或更多的容器是正常的。另一个重要优点是,在硬件节点(相当于Xen中的Dom0)上,您可以直接挂载所有Linux容器的文件系统 - 不需要NFS。此外,您可以从主节点上看到您的Linux容器的所有进程,并且具有跟踪、终止等功能。
您可以安全地委派带有ssh访问权限的容器给您的朋友,并让他们拥有root权限。
你需要对Linux和命令行感到舒适。能够编辑启动脚本会很有帮助(可以迅速给你很多控制权)。对于更高级的设置,可能需要学习一些网络知识。

除了Virtualbox之外,根据我的经验,KVM和virt-manager作为前端是一个相当不错的虚拟化解决方案。

我在我的HP EliteBook 8530上安装了VirtualBox和VMware Workstation。我偶尔会遇到VirtualBox的卡顿问题,但VMware Workstation没有这个问题。我一直试图告诉自己这是某种隐晦的错误,但它在10.04和10.10版本都发生过,所以我不确定是否是这样...我尝试收集信息,但没有结果。
话虽如此,如果你有能力购买,我建议选择VMware Workstation。如果不能购买,那就准备好VirtualBox可能会出现一些奇怪的行为。
-C

如果你打算使用主机(安装虚拟机软件的计算机)来做除了作为虚拟机主机之外的其他事情,那么你应该坚持使用VirtualBox和qemu(或者如果你喜欢花钱的话,可以选择vmware)。
我可以推荐你看一下qemuinstall),它有点难设置(据我所知,没有一个图形界面工具真正好用),因为它是一个命令行工具。但是qemu的一个主要特点是你可以模拟其他CPU目标,而不仅仅是你当前使用的那个。我经常用它来启动我的手机的测试根镜像(实际上是一个运行Maemo Linux的500MHz ARM计算机)。
qemux86-64上运行时,可以使用KVM来支持x86-64。当在ia32上运行时,可以在ia32上使用KVM。当在PPC 440上运行时,可以使用KVM来支持PPC 440等等。

我对在VMware上烧钱的说法有些不确定,因为据我所知,该服务器可以免费下载和用于非商业目的。多年来,我一直在Windows平台上自由使用它。然而,既然我已经熟悉了,这也不是个坏主意,我会进一步了解一下。谢谢。 - John K
@jdk这个听起来好一些吗?不过,在工作站上,你应该适当地使用VMware Workstation。至于价格(无论是货币还是社会方面的),我不清楚,因为在注册要求之后我停止了研究。 - LassePoulsen
谢谢提供的信息。qemu看起来是一个很有趣的软件包。我会在某个时候试一试。 - John K

我对VMWare Player有非常好的体验。它在两个方面表现出色 - 运行虚拟镜像和自动与主机环境集成。