我有一台用作服务器的小机器(AMD Athlon 64 X2 2.1 GHz,3GB DDR2,320GB 磁盘空间),
我想将其转换为 Hypervisor 以托管许多小型 Linux 虚拟机(每个 VM 的 RAM 介于 128MB 和 256MB 之间,仅用于一些测试(我是 IT 学生)),但我不知道选择哪种解决方案(我需要托管许多服务器软件,如 Apache、Mysql/Postgresql、Samba 等),我尝试了很多:
VMWare 服务器:一点也不差,与所有其他 VMWare 解决方案(工作站、市场)兼容,性能良好,但 Web UI 确实有问题,看起来不太“可编写脚本”。
XenServer:管理界面非常好,但我在 Linux VM 上的性能很差(Ubuntu Server 安装时间超过 30 分钟,而不是在 VMWare 服务器上约 15 分钟)
ProxmoxVE/OpenVZ:非常好的解决方案,适用于 99% 的情况,内存开销低,速度快,非常完美!但是没有很多兼容的发行版(例如最后一个 Ubuntu 服务器),但这对我来说并不是问题,真正的问题是内核,它有点锁定,我想创建一个 iSCSI Target VM,但这是可能的,因为这需要在这种类型的虚拟化(容器)上不允许的内核修改。
你推荐我什么?
谢谢
我会给 VMWare ESXi 一个机会。您仍然应该能够找到 3.5i,它适用于内存少于 4 gigs 的机器。根据我的经验,ESXi 比 Xen 的同类产品更易于使用,后者的要求似乎更高。
VMWare 和 XenServer 之间的速度应该相似。但这取决于很多事情,例如您向客人展示什么样的驱动器。例如,VirtIO 驱动器将比 qemu 仿真 ide 或 scsi 驱动器快得多。但是客户操作系统必须支持 VirtIO 驱动程序。Ubuntu Server 9.04 和更新版本支持 virtio。
您可能想要研究的另一个选项是KVM。它与 Xen 的相似之处在于它使用 qemu 和 libvirt,并且可以通过许多相同的工具(例如 virt-manager 或 convirt)进行控制。然而,它只是您在 Linux 中加载的一个模块,而不是独立的虚拟机管理程序。
我目前在我的笔记本电脑上使用 KVM 和 virt-manager 进行测试 IT 实验室。
安装 VMware Server 后,将浏览器指向https://yourserver:8333/client/VMware-viclient.exe并安装 VMware Infrastructure Client。现在您不必依赖那个可怕的 Web 界面来处理所有事情(如果您的基础操作系统是 windows...)。
您可以查看的其他一些免费选项是VMware Player和VirtualBox。VMware Player 功能非常齐全,现在可以使用最新版本创建虚拟机。确实类似于 Workstation,但我认为它不能让你做快照。
我倾向于坚持使用 VMware 产品,但在我使用 VirtualBox 的几次之后,我对它的性能和灵活性印象深刻。
如果您是 Windows 商店,Hyper-V(当然是 R2)和一些基于 Windows 的 iSCSI 目标解决方案将共享存储提供给管理程序集群(如 StarWind fe)应该可以解决问题。有可能让一切接近免费运行。如果你想运行一些 Linux Xen 应该是一个不错的选择。我会远离容器的东西,因为从我的角度来看它还没有真正成熟......除非你这样做是为了测试和开发而不是为了生产当然:)
-一郎
去年我一直在使用 OpenVZ,目前在 Compaq 2320D(Atom 330、2GB RAM、250GB HDD)上使用 XenServer。你的小机器比我的好。我将从我的博客中分享一些经验教训。
我假设您只计划运行 Linux 来宾操作系统。
OpenVZ 和 Xen 最大的区别在于内存管理。他们做的不同。我不知道确切的区别,但我无法在 OpenVZ 上顺利运行具有 64MB RAM 的简单服务器,但我可以在 64MB Xen VM 上运行 Web 服务器 + mysql + php。这可能与 Xen 中的交换功能有关,而 OpenVZ 上不可用。
然后是网络问题。配置 Xen 更简单。就我而言,我必须在网络上有几个支持广播的 VM。使用 OpenVZ,这涉及进行多个桥接配置,而不是 venet0(在他们的 wiki 上有详细记录),而在 Xen 上,它默认完成,就像真正的网卡应该如何工作一样。
最后是配置问题。试图弄清楚 OpenVZ 有多少privvmpages和其他设置是一场噩梦。告诉 Xen 使用 XXMB 内存并完成它很容易。另一方面,OpenVZ 允许您超卖可用的内存量,而 Xen 不允许。
我建议您使用在 Debian 或 Ubuntu Server(或类似服务器)等轻量级服务器发行版上运行的 VirtualBox。VirtualBox 为您提供了一些使用/不使用 gui 运行的选项,并且它的 SDK 可以通过 Python 在 Linux 上编写脚本。
我确实建议从 virtualbox.org 下载可下载版本,而不是 repos/out 中的 OSE 版本。它添加了一些不错的功能,例如 USB 支持。