XEN 与 KVM 在内部虚拟服务器场(如实时服务器场)中的现状

XEN 与 KVM 在内部虚拟服务器场(如实时服务器场)中的现状

因此,我们有一个终身服务器农场,里面是常规的东西,没有虚拟化。暂时保持这种状态。我们讨论的服务器是:负载均衡器、数据库主服务器、数据库从服务器(2x)、Web 服务器(2x)、CMS 服务器。每个农场总共有 7 台服务器。

我们希望拥有一对多相当精确的生命结构“副本”,以供内部使用。

  • 测试/准备:在上线前发现可能因未使用相同软件配置而出现的 bug
  • 调试/基准测试:与测试类似,但带有附加工具。调试标志并与测试/暂存隔离,以免干扰 QA。旨在更深入地了解我们的实时系统的情况
  • 开发/实验:改变系统组件、软件版本、库和配置以提高性能、开发人员效率、为我们的系统提供未来保障等。

总共有 3 个虚拟“农场”,每个农场有 7 个虚拟服务器,整齐地隔离。

现在我知道这可以通过多种不同的虚拟化方式实现。问题是,哪种方式最好?从战略角度来看,VMware 不是开源的,我们不想使用它。看看 XEN 和 KVM,这两个最大的开源虚拟化厂商,我很想听听关于选择什么/如何选择的建议。网络似乎还没有定论。

附加信息:

  • 我们购买的服务器硬件的“使用寿命”为 2-3 年
  • 如果这是选择虚拟化技术时要考虑的一个因素,那么我们以后可能会将系统迁移到云环境中
  • 在高负载情况下,隔离服务器群/服务器非常重要。当有人破坏实验群时,QA 不应受到影响
  • 当然,高效的资源使用是值得赞赏的(内存过量使用/共享页面?像 linux-vserver hashify 一样自动共享硬盘上的对象?)
  • 定期维护要求且易于管理

我知道事情正在发展,但如果您能告诉我您现在该选择什么,我将不胜感激,因为我们想至少使用这项技术 3 年,积累和重复使用专业知识。也许最终我们都能意识到,XEN 或 KVM 都不是决定这场战斗的因素,而是其他因素。这方面的启示现在对我们来说更有价值。

附言:不要火上浇油 :D

答案1

我们目前使用 Xen,但我认为 2011 年我们将迁移到 KVM。原因如下:

  • KVM 开发与 Linux 内核的集成度比 Xen 的开发更高。
  • KVM vms 作为 Linux 内核的进程运行。这有很多含义,比如调度、内存管理等。这也允许 KVM 执行过度承诺 内存(它只是交换虚拟机/进程内存),所有这些都使用来自内核的经过测试和验证的代码。Xen 使用自己的代码来完成所有这些工作,虽然它还不错,但它不像 Linux 内核那样经过测试和验证。
  • 完整虚拟化似乎在 KVM 上运行得更好。

反对 KVM 的主要观点是性能,但最新的报告显示,在 Linux 和 Windows VM 上使用 VirtIO 驱动程序似乎使这一点越来越不突出。

至于管理机器,我使用加涅蒂。Ganeti 是一个集群虚拟服务器管理系统,您可以在其中添加节点并对这些节点上的虚拟机执行所有操作,如创建、启动、重新启动、迁移等。它还支持创建在两个节点上具有镜像磁盘映像的 DRBD 实例,如果其中一个节点发生故障,则提供自动故障转移/迁移。它支持 KVM 或 Xen,但不支持混合集群。Ganeti 是基于文本的,但有一个网络界面这个项目进展不错。使用 ganeti + debootstrap,我们可以非常快速地部署/克隆各种类型的虚拟机,从磁盘执行 LVM 快照以进行测试等等,所以我认为它可以满足您的要求。

请记住,无论您选择哪种方式,都不应虚拟化高 IO 机器(如文件服务器或数据库)并期望它们的性能相同。在某些情况下,高 IO VM 甚至会降低主机上所有其他 VM 的性能。并非所有东西都可以安全地虚拟化。

编辑:既然你提到了测试和开发,请阅读本文。我正在考虑组装一些与此非常接近的东西。

答案2

把对开源的热爱置于企业对可靠且高可用性解决方案的需求之前是危险的。自由的ESXi 和 Hyper-V Server 非常受欢迎。除了付费支持相对便宜之外,还有更多专家可供选择。

话虽如此,Xen服务器受 Cirtix 支持;KVM/QEmu 受红帽(可能还有其他,我不太了解);但仅限于某些配置,所以这是值得关注的。Xen 原生支持 VHD 格式,VHD 文件可以在 Hyper-V、Virtual Server、Virtual PC 和 Xen 之间传输而无需修改(VPC 有大小限制)。KVM 使用 qcow2 格式;没有其他人使用这种格式,但可以使用第三方实用程序将其转换为其他格式。这些服务器可用的管理工具也较少。

答案3

如果您只使用 Linux,并且确信它会长期使用(即,只要您在 Linux 上工作,或者只要另一个战略决策将您的服务器迁移到云或其他地方),您可以尝试 KVM 或 Xen Open Source。此外,如果您使用的发行版附带 xen 就绪(即半虚拟化)内核(至少是 Debian/Ubuntu),Xen 是一个不错的选择。可能还有 KVM,但我推荐 Xen,因为我更熟悉它。YMMV。将 Xen 和 Pacemaker 结合用于虚拟机集群是我们已经做过几次的事情,效果很好。

现在,如果您有多个 Windows 系统,我会花一些钱购买 XenServer。付费版本为您提供(如果我没记错的话;请检查确认)高可用性和 XenCenter,这是一个基于 Windows 的控制台,可让一切变得更容易。您也可以在 Xen Open Source 中运行 Windows,但这有点棘手。此外,还有免费版的 XenServer,但我发现它的命令行晦涩难懂。您可以掌握它,但这需要一些时间。

请记住,使用 XenServer 时,您需要“来宾实用程序”或“PV 驱动程序”。没有它们,性能会受到影响。

答案4

欣欣试试这个,我们已经用了两年了,到现在为止没有问题!我们使用的是旧版本

相关内容