我目前有一台较旧的服务器,它使用 CentOS 上的 Xen 提供虚拟机。虽然不是超级大,但它支持 VT 扩展,并设置了 1TB 硬件 RAID1 磁盘。我打算添加另一台较新的服务器,保留旧服务器以进行相互备份,并可能用于分配工作负载。
到目前为止,建议涉及 SAN 或其他类型的昂贵硬件添加,而我买不起。那么,考虑到以下硬件、运营目标和约束,最佳设计是什么?(最小化成本和停机时间并最大化可用性、性能和稳定性的设计)
硬件
- Poweredge 850 1U 服务器,配备 8GB RAM、CPU VT 支持和 1TB RAID1
- 附加服务器
- 尚未购买,因此价格灵活 - 预计低于 3000 美元
- 考虑使用配备双四核至强处理器、16GB RAM 和 4x1TB SATA 的 R410(RAID5,容量为 2.8TB)
操作要求
- 服务器必须提供虚拟机
- 目前在 CentOS 5 上使用 Xen
- 研究了 Citrix XenServer、VMware Server 和 ESXi、KVM、无头 VirtualBox
- 较新、功能更强大的服务器可能应该是“主”服务器,托管执行各种操作(包括 Web 和邮件服务)的虚拟机
- 购买第二台服务器的目的是为了获得一些冗余 - 如果一台服务器出现问题,另一台服务器可以暂时接管(例如电源烧坏和第二天现场保修延迟)
- 备份虚拟机时,它应该持续可用,或者停机时间应该可以忽略不计(即暂停、启动快照/克隆/复制、取消暂停所需的时间)
限制和注意事项
- 只对免费解决方案感兴趣(优先考虑开源,但不是严格要求)
- 托管空间按 U 计费,因此添加 1U 比增加更大的服务器更可取。只有解决方案特别巧妙时才会考虑使用更大的硬件。
- 由于带宽成本的原因,虚拟机的数量及其磁盘的大小使得通过互联网定期将它们转移到异地变得不可行
- 两台服务器可以直接联网,因此它们之间的传输非常快,而且不收取任何费用
- 旧服务器的保修期为 2 年,并且运行良好,因此我们不需要不必要地更换它(只有包括更换旧服务器在内的非常巧妙的解决方案才对我们有意义)
- 并没有真正考虑使用存储解决方案来代替第二台服务器,因为如果发生意外,一台服务器需要能够接管另一台服务器。如果我只有一台服务器和一个存储解决方案,那么我就有 2 个故障点,而不是 1 个。
先前的研究
- CentOS(以及大多数支持 dom0 的发行版)提供的 Xen 版本相当老旧且不稳定
- 目前使用 Xen 的经验
- 虚拟机磁盘保存在逻辑卷上
- dd 很慢,并且还包括可用空间
- 在 dom0 中安装文件系统并进行 rsyncing 需要 dom0 知道 domU 的 FS 布局,而且如果 domU 也使用 LVM,也会变得非常非常棘手。很难实现自动化,并且不一定能在第二台服务器上产生可快速重用的映像。
- LVM 快照 -> 备份 -> 删除快照过程允许虚拟机在执行增量备份时可用。大优点!
- Citrix XenServer
- 使资源池化变得更容易,但要求共享存储和处理器基本相同。除非我得到另一台旧服务器来匹配我当前的旧服务器,否则我就不符合 XenMotion 的要求。
- 无论如何,不确定 XenMotion 是否真的适用于备份。我的理解是,一旦 VM 迁移,它就被移动(而不是复制到)到另一台服务器。
- 快照 + 导出快照看起来很有希望。
- 在正在运行的虚拟机管理程序之间移动 VMware VM 需要支付 vmotion 费用
- 再次强调,vmotion 可能不适用于备份
- KVM 是我了解最少的解决方案,但在处理存储方面似乎与 Xen 非常相似 - 本地映像文件、逻辑卷或共享 SAN/iSCSI
呼!提前感谢你的评论!如果你需要更多信息,请告诉我 :P
答案1
答案2
我们有一个大约一年前建立的双节点集群,使用 CentOS 5.2、Xen 3.2、LVM 和 DRBD 8.2.6...我使用本指南作为设置一切的指南,尽管该指南本身是针对 Ubuntu Hardy 的,但在我看来,CentOS 的 Xen 支持更加稳定。