我是小软件公司的系统pipe理员。 我要虚拟化我们的服务器。 这样做的主要原因是提供了尽可能长的正常运行时间,但也可能会增加资源利用率。
我们有两台服务器。 在一个我们有几个发展虚拟机,也作为build设服务器(jenkins硕士,而且build设执行)。 在第二个,我们得到了一些关键的服务(代码库,问题跟踪)。
我想使用这些机器来创build两个节点群集并为每个服务创build虚拟机。 我想使用DRBD,因此可以在节点之间移动机器。
经过一些研究,我的候选人是Proxmox和Ganeti。 哪一个会更好我的情况? 我喜欢Proxmox的简单性(尤其是安装简单),但也许有使用Ganeti的正当理由?
我对ProxMox并不熟悉,但我对Ganeti非常熟悉,因为我在工作中使用它,并与核心开发人员一起工作。
如果你有less量的物理机器和虚拟机,那么手工做事情就没有问题。 您可以记住哪个虚拟机在哪个物理机器上,并在右边的节点上运行正确的Xen命令。 如果你只有一台物理机器,那么你总是知道你的虚拟机在哪台机器上。
对于新用户来说,Ganeti最明显的好处就是它知道所有的虚拟机在哪里。 从一个主人,你可以发出像“停止实例foo”的命令,它看起来与foo运行,并停止它。 你可以发出一个命令,例如“在有空余空间的地方创build一个大小为X的虚拟机”,它会find空闲空间并创build虚拟机。 如果你有很多stream失(创build和删除虚拟机),Ganeti会为你节省很多时间。 它还可以帮助您在发生灾难时:如果整个集群断电,Ganeti将在集群上电并启动时重新启动所有虚拟机。 (这里就是一个例子: 停电:Ganeti的真正考验 )
您可以为虚拟机configuration(操作系统,磁盘存储configuration等)设置“模板”。因此,也许您是唯一能够创build模板的专家,但是您的团队中其他更多的初级系统pipe理员可以轻松创build新的实例。
当你拥有less量的虚拟机时,手工操作的问题是,如果你成功了,你会发展到Ganeti有意义的地步。 那时你可能会有一些工作,而且你没有时间安装Ganeti。 从手动操作到安装自动化,这是一个普遍的问题:你没有时间去修理泄漏的水槽,因为你太忙了,拖地。 为了防止这种情况,我build议尽快安装Ganeti(或者您select的任何自动化)。
Ganeti是100%开源的,不需要许可证。 但是,如果您需要,则不提供任何商业支持。 我不熟悉ProxMox,但他们的网页上说,它需要一个许可证; 有些部分是开源的,但是没有许可证(从我在他们的网站上阅读的内容)就无法获得。 他们在他们的网站上列出了支持计划。
Ganeti自2007年以来一直在Google之外推出。它已经有5年多的时间了。 它已经稳定了很长时间了。 您可以在code.google.com/p/ganeti上findGaneti源代码和支持社区。我不知道最近ProxMox是如何发布的。
自2003年以来,我一直在使用Xen。我已经使用Ganeti大约一年了,并且会高度推荐它。 我从来没有听说过ProxMox。
多年来,我手动pipe理的LVM,DRBD和Xenconfiguration文件在几个群集范围从2到5个节点 – 这是一场噩梦。 DRBD使事情变得非常可靠,Xen让VM在节点之间迁移变得容易,但是每当节点出现故障时,我都需要花费很长时间来创build新的LVM卷,configurationDRBD并重build镜像,然后确保Xen和其他configuration被复制…对于一个5节点的集群来说,把事情保持在我的头脑里有时会是痛苦的。 我一直想把它编写成文字,但生活一直在阻碍着我。
然后Ganeti来了。 这是写给我的使用案例 – 使用Xen和DRBD的n路集群。 那些痛苦的,冒着风险的作业现在被压缩成一个单一的ganeti子命令。 我喜欢它。 我已经将大部分虚拟机迁移到了一个10个节点的ganeti集群中。
我也将我们的Windows桌面迁移到Ganeti / KVM集群 – 现在只在桌面上运行Linux,他们使用VNC来访问Windows虚拟机。 这里最大的优点是更简单的快照和备份,以及将每个Windows应用程序都打包到自己的VM中的function。
顺便说一句,即使您现在只谈论一个双节点集群,但我确信,一旦您看到该实用程序,就会发现自己添加了节点,并将所有可以运行的内容都移植到虚拟机中。 如果你的集群平台可以支持2个以上的节点,比如Ganeti,那么你就可以做到这一点。
我不使用ganeti,但我使用proxmox,而且我非常了解它。 Proxmox VE是一个完全开源的项目,所有的代码都可以与二进制文件一起使用。 基本系统是Debian 64最小的发行版,带有一个定制的安装程序,但是你也可以安装你的Debian系统并添加proxmox版本库。 项目的主要赞助商之一是奥地利政府,这确保了产品的开发将长期得到资助。 从版本2.0开始,即使开发过程是开放的(之前它是一个封闭的列表,你必须请求proxmox后面的公司的访问)。
它具有用户友好的界面,几乎可以在vSphere上find所有function,集群支持(基于corosync),HA高可用性,从界面自动备份和恢复支持。 它还支持openvz的容器虚拟化,无缝地集成在KVM的相同架构和接口中,因此您可以根据自己的需求select最佳的虚拟化策略。 从单个主机到拥有drbd到达FC SAN(> 80VM)上的5个节点集群的双节点集群,我都安装了大约20台Proxmox。
对于我所能看到的关于加内蒂的事情,我可以说没有竞争。 Proxmox肯定胜出。
我对ganeti的投诉(可能是基于无知):如果有必要,我很乐意在CLI上做事情,但是我不相信想要一个GUI会让我变得一团糟。 似乎有一个基于networking的ganetipipe理工具,但是最后我看,这个工具离插入和播放还有很长的一段距离(例如,在主机上input几页命令),并且在模拟上进行了一些尝试服务器,我从来没有得到它build立和正确安装。