我们实验室的 OpenNebula 3.2 已经很稳定的运行了两年,除了开头一个月不熟悉这套云计算软件有点乱、容易犯错外接下来的时间里都很稳定,期间还包括一次防火演习(突然拉闸似断电)和安全检查(计划中的断电),服务器、虚拟机、存储设备、系统和服务都能自动起来并能正常工作。现在正在考虑升级的事情,OpenNebula 4.0 有很多新特性值 得一试,现在的问题是升级很麻烦,官方文档貌似说要逐个版本升级,这个是小问题,更大的问题是如何升级整个运行中的生产环境,这里面有太多的因素需要考虑 到,想了都头大~先安装一个 OpenNebula 4.0 试玩一下,看看数据库表结构、一些工具、配置文件,看看能不能琢磨出一个可行的升级方案出来,具体的升级操作将会在圣诞节期间进行(人最少的时候),不过 现在应该开始计划和测试了。
下面的安装过程采用最小化的 CentOS 6.4 安装版本(CentOS-6.4-x86_64-minimal.iso)。不熟悉 OpenNebula 和云计算的朋友可以先看看 “在 CentOS 上安装和配置 OpenNebula” 的开头部分预热一下。
开始之前先装上 EPEL 源,然后升级系统:
# yum install wget # wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm # rpm -ivh epel-release-6-8.noarch.rpm # yum update
到官网 http://downloads.opennebula.org/ 下载 OpenNebula 4.0 for CentOS 6.4 的安装包、解压后安装,因为有包依赖问题,所以最好用 yum localinstall 安装,不要用 rpm -ivh 命令直接安装。在控制节点(或叫做头节点)上安装 opennebula 和 opennebula-sunstone 等:
# cd /usr/src # tar zxvf CentOS-6.4-opennebula-4.0.0-1.tar.gz # cd opennebula-4.0.0-1 # yum localinstall opennebula-common-4.0.0-1.x86_64.rpm # yum localinstall opennebula-ruby-4.0.0-1.x86_64.rpm # yum localinstall opennebula-4.0.0-1.x86_64.rpm # yum localinstall opennebula-sunstone-4.0.0-1.x86_64.rpm # yum localinstall opennebula-server-4.0.0-1.x86_64.rpm
在计算节点上安装 kvm 和 opennebula-node-kvm:
# yum install qemu-kvm qemu-kvm-tools libvirt # yum localinstall opennebula-node-kvm-4.0.0-1.x86_64.rpm # /etc/init.d/libvirtd start
安装搞定,OpenNebula 4.0 的安装就是这么简单,开始在控制节点上启动服务吧:
# service opennebula start Starting OpenNebula daemon: [ OK ] # service opennebula-sunstone start Starting Sunstone Server daemon: VNC proxy started sunstone-server started [ OK ]
我们通常都会通过 IP 访问(或者内部域名)访问 sunstone 界面,所以需要改变 sunstone 的默认接听地址,把 host: 127.0.0.1 换成机器所在 IP 地址,需要重启服务让设置生效。注意这里使用 9869 端口,CentOS 6.x 默认是开启防火墙的,所以可以把这个端口加到防火墙规则里也可以直接把防火墙关掉:
# vi /etc/one/sunstone-server.conf ... # Server Configuration # :host: 192.168.2.150 :port: 9869 # service opennebula-sunstone restart Stopping Sunstone Server daemon: VNC server is not running sunstone-server stopped [ OK ] Starting Sunstone Server daemon: VNC proxy started sunstone-server started [ OK ] # /etc/init.d/iptables stop iptables: Flushing firewall rules: [ OK ] iptables: Setting chains to policy ACCEPT: filter [ OK ] iptables: Unloading modules: [ OK ]
打开浏览器,访问 http://192.168.2.150:9869 登陆界面,那登陆的用户名和密码是啥呢?用户名和密码在安装的时候已经随机生成,oneadmin 是用户名,后面的一串是密码:
# cat /var/lib/one/.one/one_auth