我一直在尝试在 Ubuntu 9.10 上设置一对使用 KVM 的服务器,在它们之间托管 8 个虚拟机,最终遇到了从虚拟机冻结到无法开机的各种问题。
我设置并运行了一个虚拟服务器,并且正在设置第二个,当任何涉及 OpenSSL 的操作都会导致 VM 以一种奇怪的方式锁定时 - 所有网络流量都会停止,它不会处理控制台上的登录,但是它没有占用主机的任何 CPU 时间。第一个虚拟服务器是相同的并且运行良好。
我尝试设置的另一台虚拟机安装了 Ubuntu,然后拒绝重新启动,引发与 XFS 相关的内核异常。
我现在已经在两台主机上安装了 Citrix XenServer 5.5,现在我正在设置我的第三台虚拟机,绝对没有问题。我在尝试 VMware 时也有同样的经历,但我更喜欢 Xen,因为它似乎在免费许可证上提供了更多功能。
我的问题是我只是对 KVM 不走运,还是 KVM 像看起来那样不稳定?您是否正在使用或计划在生产中使用 KVM,您取得了多大的成功?
编辑:
感谢所有的答案。我最近将我们的两台物理服务器升级到使用 KVM 0.12.3 的 Ubuntu 10.04 LTS。我现在正在 KVM 上安装我的第六台虚拟机,甚至没有提示我之前遇到的问题,所以我现在坚持使用 KVM :)
我们在 Debian Lenny 上使用 KVM 已经快一年了。
稳定,除了实时迁移。显然,如果没有半虚拟化网络,这将起作用。但是我们可以忍受短暂的休息,直到补丁版本可用。
我们使用 DRBD 来提供共享块存储。
当时没有什么提供管理我们特定组合的好方法,所以我重新发明了轮子:http: //github.com/ptman/kvmmgr
在过去的 6 个多月里,我们已经在 Ubuntu 9.04 和 9.10 上启动并运行了多个 KVM 主机,在最初设置来宾时出现了一些小问题,但此后就没有了。我们的主人平均每人 3 位客人,客人做很多不同的事情,从多宿主 VPN 服务器到可以直接访问硬盘的 NAS 系统。性能和易于设置(一旦学习曲线消失)已经为我们的网络带来了变革。
通过 virt-manager 客户端通过 ssh 的 VNC 连接进行迁移非常容易;克隆并不顺利,因为新实例倾向于出现不稳定的网络错误。
我唯一的一个持续抱怨是在 virt-install 中支持 QEMU VLAN 作为一个选项会很好,这样我们就可以避免直接使用更乏味的 KVM 命令。除此之外,我们非常高兴,并且大多数管理工具都与 Xen 共享,所以我会说使用最适合您的工具。
我遇到过一些非常讨厌的错误——例如,失去与 virtio-net [1] 的网络连接,kvm-clock 失控并带走 VM [2]。还有其他的(由于算术错误 [3] 导致来宾文件系统损坏)。另外,很长一段时间以来,libvirtd 都没有提供一种方法来彻底关闭所有正在运行的 VM [4]。YMMV :-)
[1] http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=576838
[2] 没有明确的错误报告,但这是有原因的:http: //people.debian.org/~paravoid/kvm-noclock-3.tar.gz
[3] http://marc.info/?l=qemu-devel&m=127436114712437
[4] https://bugzilla.redhat.com/show_bug.cgi?id=444273
我已经在 kvm 上设置了各种 linux,没有任何问题。一切运行顺利。
确保您的 kvm 主机上没有 xen/virtualbox 或其他虚拟器。因为 kvm 需要访问硬件虚拟化并且可以/可能与其他虚拟化器冲突。
我见过一些虚拟主机提供商销售 kvm 包。所以我想它已经足够稳定了。
你在自己编译吗?如果您想对此进行测试,我建议您使用 Fedora。因为kvm现在是一个redhat项目。和其他一些相关的项目也是 redhat/fedora 托管的项目。
你甚至可以通过他们的 rawhide virt repo 获得最新的“测试”版本。
我目前在生产中使用具有 3 个主机节点的 KVM。每个都通过 20Gbit Infiniband 连接到使用 DRBD 和起搏器集群工具同步的一对 NFS 服务器,以实现自动故障转移。
我经营一家小型托管和开发公司,现在我们的大部分网络都是虚拟化的。我们的虚拟机主要是 web、smtp 和 dns 服务器。总共托管了大约 250 个域,其中一些被大量访问,以及一些开发站点。
我最近转换了大约 15 台在 Esxi 主机上运行的 Vmware 机器。Vmware 对我们有好处,但考虑到实时迁移、高可用性等因素,成本太高了,而且 Esxi 对 Infiniband 的支持也非常有限。Infiniband 解决了集中存储时出现的一些重要问题。目前我的 NFS 服务器是双 8TB RAID 6 阵列,具有下降 I/O 吞吐量。将来,我将能够在相同的两台服务器上添加额外的 RAID 阵列,导出多个 NFS 共享,并且仍然有充足的带宽到主机节点。
我们的设置是普通的,让事情尽可能简单。我们在主机上运行 Debian 7.0,在 NFS 服务器上运行 Debian 6.07,我使用运行 virt-manager 的 Ubuntu 13.04 桌面设置来管理 VM。
现在,KVM 和 libvirt 很棒,但与 Vmware 相比仍然有点不成熟,但是一旦解决了所有问题,设置就会简单得多,而且我真的很喜欢在主机上运行一个功能齐全的 Debian 系统。非常专有的 Esxi 裸机系统。SSH、rsync 备份、apt-get 更新等都是轻而易举的事。
如果你有一些空闲时间来研究、测试和解决一些问题,那么我会说一路走 KVM。它是完全免费的,更重要的是它是开源的。
几个月来,我一直在三台不同的机器(Ubuntu 9.10 和 Debian 5 主机)上测试 KVM,除了处理 Windows 64 位驱动程序之外,并没有真正遇到任何问题。
到目前为止,任何 Linux 客户机(CentOS 和 Debian)都没有问题,与 VMware 相比,我对性能感到非常满意。
我没有尝试过任何高级操作,例如迁移,并且我正在为我的图像使用 LVM 卷,这可能会扭曲我的观点。
我目前没有在生产中运行 KVM,但我确实在 Ubuntu 9.10 下的笔记本电脑上使用它作为我的测试实验室。我在处理它时没有遇到任何稳定性问题。IBM 也刚刚宣布了他们基于 KVM的云服务。
但话虽如此,在工作的生产中,我们目前在多个 CentOS 机器上运行 Xen,并且没有任何稳定性问题。而且我确实相信,在某个时候,我们将迁移到 KVM 以满足我们的虚拟化需求,但目前这只是为了迁移而迁移,我们对 Xen 感到满意。但我相信 KVM 是基于 Linux 的虚拟化的未来。
http://www-03.ibm.com/press/us/en/pressrelease/29685.wss
如果 IBM 发现 KVM 足够好......
我们已经使用 KVM 6 个多月了,没有遇到任何问题。我使用过其他虚拟化技术,例如 OpenVZ、VMware 和 Virtualbox。
VMware好坏参半,特别是如果您不愿意为企业版付费。
Virtualbox非常好,不确定它是否适合作为运行服务器类型安装的解决方案。它在笔记本电脑上工作得很好,因为它可以让其他操作系统可用,而无需设置额外的硬件。
OpenVZ,我已经使用了 2 年以上,并且工作得非常完美。OpenVZ 的唯一例外是您只能运行与主机操作系统相同的操作系统。我已经将它与 CentOS 5.x 一起使用,并且可以正常工作。
KVM,直接从命令行使用它可能有点学习曲线,我建议使用 virt-manager 开始。
下面是一些我发现对您开始使用 KVM 很有帮助的资源。