我想在 Ubuntu 10.04 中尝试虚拟化,并找到了以下希望相关的名称列表:Xen、OpenVZ、KVM、Vservers、EC2 和 Solaris Zones,尽管这只是一个示例列表,问题并不限于这些。
从社区的经验来看,我应该在 Ubuntu 上使用什么虚拟化解决方案来学习?因素是易于设置,易于使用。稳定性也很重要。其次是内存使用和性能问题。
我想虚拟化什么?好吧,在实验的旗帜下,几乎所有选择的软件都允许。
我想在 Ubuntu 10.04 中尝试虚拟化,并找到了以下希望相关的名称列表:Xen、OpenVZ、KVM、Vservers、EC2 和 Solaris Zones,尽管这只是一个示例列表,问题并不限于这些。
从社区的经验来看,我应该在 Ubuntu 上使用什么虚拟化解决方案来学习?因素是易于设置,易于使用。稳定性也很重要。其次是内存使用和性能问题。
我想虚拟化什么?好吧,在实验的旗帜下,几乎所有选择的软件都允许。
如果您刚刚开始,我会推荐 VirtualBox。(
apt-get install virtualbox-ose
) 它旨在用于在台式机(或笔记本电脑)上运行虚拟机,以便您可以同时使用虚拟(访客)计算机和真实(主机)计算机。它为您提供了一个不错的 GUI,您可以使用它来创建虚拟机并更改它们的设置。您可以启动和停止虚拟机,这样如果您在主机上运行的某些任务需要额外的处理能力,来宾就不必妨碍您。我认为您在问题中给出的名称更高级。它们是我听说的与虚拟专用服务器 (VPS) 公司有关的事情,这些公司是使用虚拟化为多个人提供使用一台物理计算机的服务器的网络托管公司。它们的设置和维护可能有点复杂,并且通常当您使用 Xen 之类的东西时,主机除了作为 VPS 的“基础”之外并没有打算做太多事情。
如果您一次只需要运行 1 或 2 个虚拟机,VirtualBox 可能是最友好的。
如果您需要同时运行许多不同的 Linux 环境(每台主机 10 个或更多),那么 OpenVZ 是您的最佳选择。它类似于 chroot,但提供了完全隔离的 Linux 环境(容器),能够控制资源、执行检查点和实时迁移。我已经将它用于工作中的许多不同的系统管理员任务(一所大型大学的 400 名用户生物信息学中心)已经超过 2 年了。
OpenVZ 几乎没有开销。它是同类中唯一的一种(操作系统级虚拟化)。它可以很好地处理任何比例的 Linux 应用程序,从 Web 反向代理到每天处理 30TB 的 I/O 密集型备份系统。每台服务器有 30 个或更多容器是正常的。另一个很大的优势是从硬件节点(相当于 Xen 中的 Dom0)你可以直接挂载 Linux 容器的所有文件系统——不需要 NFS。此外,您可以从头节点查看 Linux 容器的所有进程,并具有 strace、kill 等功能...
您可以安全地将具有 ssh 访问权限的容器委托给您的朋友,并让他们成为 root。
您需要熟悉 Linux 和命令行。能够编辑启动脚本会很有帮助(快速给你很多控制权)。对于更高级的设置,可能需要学习一些网络。
除了 Virtualbox,根据我的经验,KVM 和 virt-manager 作为前端是一个非常好的虚拟化解决方案。
如果您打算将主机(安装 VM 软件的计算机)用于除 VM 主机之外的任何事情,那么您应该使用 VirtualBot 和 qemu(或者如果您喜欢烧钱,则使用 vmware
)。我可以推荐看看qemu ( install ),因为它是一个命令行工具,所以设置起来有点困难(没有 gui-tools 真的很好用)。但是qemu的主要功能之一是您可以模拟您所在的其他 CPU 目标。我经常用它来为我的手机启动一个测试根映像(实际上是一台运行 Maemo Linux 的 500MHz ARM 计算机。)
当qemu在x86-64上运行时,它可以将KVM用于x86-6 4,当在ia32上时,它可以在ia32上使用KVM,当在PPC 440上时,它可以将KVM用于PPC 440等。
我对 VMWare Player 有很好的体验。它有两件事做得很好——运行虚拟映像,并自动将自身与主机环境集成。
我的 HP EliteBook 8530 上同时安装了 VirtualBox 和 VMware 工作站。我偶尔会遇到使用 VirtualBox 时卡住的情况,但不是 VMware 工作站。我试图告诉自己它是一些不为人知的错误,但它发生在 10.04 和 10.10 中,所以我不确定它是不是......我试图收集信息,但无济于事。
就是说,如果您可以抛硬币购买,我会坚持使用 VMware Workstation。如果不能,请为 VB 的一些奇怪行为做好准备。
-C