![Ganeti 与 Proxmox](https://linux22.com/image/575040/Ganeti%20%E4%B8%8E%20Proxmox%20.png)
我是一家小型软件公司的系统管理员。我准备虚拟化我们的服务器。这样做的主要原因是提供尽可能长的正常运行时间,但可能也会提高资源利用率。
我们有两台服务器。一台服务器上有几台开发虚拟机,也用作构建服务器(Jenkins Master,也是 Build Executor)。第二台服务器上有一些关键服务(代码存储库、问题跟踪器)。
我想使用这些机器创建两个节点集群并为每个服务创建虚拟机。我想使用 DRBD,这样就可以在节点之间移动机器。
经过一番研究,我的候选者是 Proxmox 和 Ganeti。哪一个更适合我的情况?我喜欢 Proxmox 的简单性(尤其是安装简单性),但也许有使用 Ganeti 的正当理由?
答案1
我不熟悉 ProxMox,但我熟悉 Ganeti,因为我在工作中使用它并与核心开发人员一起工作。
如果您拥有少量物理机和虚拟机,那么手动操作就可以了。您可以记住哪个虚拟机在哪个物理机上,并在正确的节点上运行正确的 Xen 命令。如果您只有一台物理机,那么您始终知道您的虚拟机在哪台机器上。
对于新用户来说,Ganeti 最明显的好处是它知道所有虚拟机的位置。您可以从一个主服务器发出“停止实例 foo”之类的命令,它会查找正在运行的 foo 并将其停止。您可以发出“在有可用空间的地方创建一个大小为 X 的虚拟机”之类的命令,它会找到该可用空间并创建虚拟机。如果您有大量的变动(创建和删除虚拟机),Ganeti 将为您节省大量时间。它还可以在灾难中为您提供帮助:如果整个集群断电,Ganeti 将在集群通电并启动时重新启动所有虚拟机。(示例如下:停电:对 Ganeti 的真正考验)
您可以为 VM 配置设置“模板”(操作系统、磁盘存储配置等)。因此,也许您是唯一一个足够专业来创建模板的人,但是如果存在模板,您团队中的其他初级系统管理员就可以轻松创建新的实例。
当您拥有少量虚拟机时,手动操作的问题是,如果您成功了,您的业务量就会增长到 Ganeti 有意义的程度。那时,您可能会有大量工作要做,而没有时间安装 Ganeti。这是从手动操作转向安装自动化的普遍问题:您没有时间修理漏水的水槽,因为您太忙于拖地。为了防止这种情况,我建议尽早安装 Ganeti(或您选择的任何自动化)。
Ganeti 是 100% 开源的,不需要许可证。但是,如果您需要,则没有可用的商业支持。我不熟悉 ProxMox,但他们的网页上说它需要许可证;有些部分是开源的,但没有许可证就无法使用(从我在他们的网站上读到的)。他们的网站上列出了支持计划。
Ganeti 自 2007 年以来一直在 Google 之外使用。它拥有 5 年以上的工程经验。它已经稳定了相当长一段时间。您可以在以下位置找到 Ganeti 源代码和支持社区code.google.com/p/ganeti 我不知道 ProxMox 是多久前发布的。
答案2
我从 2003 年开始使用 Xen。我使用 Ganeti 已有一年左右了,强烈推荐它。我从未听说过 ProxMox。
多年来,我一直在手动管理多个集群中的 LVM、DRBD 和 Xen 配置文件,这些集群的大小从 2 个节点到 5 个节点不等——这简直是一场噩梦。DRBD 让一切变得非常可靠,Xen 让虚拟机在节点之间轻松迁移,但每当一个节点发生故障时,我都要经历一个漫长而乏味的过程,创建新的 LVM 卷,配置 DRBD 并重建镜像,然后确保复制 Xen 和其他配置……对于一个 5 节点集群,在脑子里记住所有事情有时可能会很痛苦。我一直想把所有事情都写成脚本,但生活总是阻碍我。
然后 Ganeti 出现了。它正是为我的用例编写的——使用 Xen 和 DRBD 的 n 向集群。那些痛苦而充满风险的操作现在在某些情况下被压缩为单个 ganeti 子命令。我喜欢它。我现在已经将大多数虚拟机迁移到一个大型 10 节点 ganeti 集群中。
我还将我们的 Windows 桌面迁移到 Ganeti/KVM 集群中——现在桌面上只有 Linux,它们使用 VNC 访问 Windows VM。这里最大的优势是更容易进行快照和备份,并且能够将每个 Windows 应用程序沙盒化到自己的 VM 中。
顺便说一句,尽管您现在谈论的只是一个 2 节点集群,但我确信,一旦您看到该实用程序,您就会发现自己正在添加节点并将所有可以迁移到虚拟机中。如果您的集群平台可以支持 2 个以上的节点,例如 Ganeti,那么您将能够做到这一点。
答案3
我不用 ganeti,但我用 proxmox,而且我非常了解它。Proxmox VE 是一个完全开源的项目,所有代码都可与二进制文件一起使用。基本系统是一个 Debian 64 最小发行版,带有自定义安装程序,但您也可以安装 Debian 系统并添加 proxmox 存储库。该项目的主要赞助商之一是奥地利政府,这确保了该产品的开发将长期获得资助。从 2.0 版开始,甚至开发过程都是开放的(之前它是一个封闭的列表,您必须请求访问 proxmox 背后的公司)。
它具有用户友好的界面,几乎具备 vSphere 上的所有功能、集群支持(基于 corosync)、虚拟机高可用性 HA、界面自动备份和恢复支持。它还支持使用 openvz 的容器虚拟化,无缝集成在与 KVM 相同的基础架构和界面中,因此您可以根据需要选择最佳虚拟化策略。我安装了大约 20 个 Proxmox,从单主机到使用 drbd 的 2 节点集群,再到 FC SAN 上的 5 节点集群(>80VM)。
就我所见,ganeti 是没有竞争对手的。Proxmox 肯定会赢。
答案4
我对 ganeti 的抱怨(可能出于无知):如果有必要,我很乐意在 CLI 上做事,但我不认为想要 GUI 会让我变得懦弱。似乎作为一个基于 Web 的 ganeti 管理工具,但据我了解,它远非即插即用(例如,需要在主机上输入几页命令),并且在模拟服务器上尝试了几次,我始终无法正确构建和安装它。