OpenNebula专为Linux VM设计,它是开放云社区项目中的一个组件,OpenNebula和开放核心的Eucalyptus不一样,它是完全开源的。
OpenNebula特别适合开发人员和非持久化(以作业控制为重点)云VM使用,也适宜普通用户使用,但需要一个中等水平Unix/Linux/Solaris技能的管理员创建和部署私有云,OpenNebula也提供了公共云和混合云选项,但我们将重点放在私有云上。
OpenNebula运行在Ubuntu 10.04或CentOS 5.4+上(其它大多数Linux发行版也是可以的,但快速安装程序只适用于上述两种),安装完全是基于脚本的(没有GUI),需要大量的文本配置文件。
在通过脚本安装前,OpenNebula VM镜像必须创建为KVM或Xen镜像,虽然也提供了VMware驱动,但它需要从源代码安装libvirt API,有许多额外的辅助工作要做。创建好镜像后,我们必须手动复制到存储镜像的位置,然后为VM镜像创建一个配置文件和网络描述。
使用onevnet命令添加网络配置后,我们使用onevm命令在相同的命令行环境下启动了该镜像的一个实例,一台没有任何问题的Linux服务器就这么摆在我们面前了。我们也尝试在KVM中使用Windows Server 2008 VM,但遗憾的是,我们无法用OpenNebula启动它,因此它是表面上支持Windows,但没有真正的指南。
支持的插件包括LDAP身份认证(需要“net-ldap”Ruby gem),计费(需要“sequel”Ruby gem),VMware驱动和OpenNebula快速安装程序。
我们在ESX 4.1上的VM使用Ubuntu 10.04作为前端,在另一台机器上安装Ubuntu 10.04作为节点,快速安装程序在前端上为节点共享镜像创建一个NFS共享。
所有一切都是在命令行中完成的,OpenNebula完全没有Web界面,下面是一些常用的重要命令:
Oneimage(添加/列表/删除镜像/将ISO文件保存到仓库/设置镜像属性);
Onevm(创建/删除/启动/停止VM/其它和VM相关的杂项功能);
Oneacct(获得主机/VM/用户的计费/账单数据);
Onecluster(列表/创建/删除集群);
Onehost(添加/删除/同步主机);
Oneuser(创建/删除/列出用户);
Onevnet(创建/修改/删除虚拟网络)。
OpenNebula支持多种身份验证方案,包括基本的用户名和密码验证(使用SQLlite或MySQL数据库管理用户信息),和通过SSH密钥验证,还有一个新的LDAP插件,但我们未能成功使用活动目录进行身份验证,OpenNebula的文档也缺乏相关问题的解决方案。
OpenNebula还有一个插件安装oneacct命令,它允许你查看实例运行时长,运行人员,所在主机和其它细节信息,这些信息可以用于计费。
OpenNebula的模块化设计使得它的未来一片光明,和其它开源产品一起,它们让创建私有云平台变得更廉价,但OpenNebula的文档还有大量的工作要做,我们希望它能和产品更新保持同步。
OpenNebula包含许多有用的工具,但它的强项还是在核心工具上,因此适合开发人员和管理人员使用,普通用户还是远观为宜。