OpenNebula 是一套开源的云计算基础管理工具,用来方便管理员在数据中心统一部署、创建、分配和管理大量的虚拟机,企业数据中心可以利用这套工具搭建自己的私有云,为 自己内部提供 IaaS 服务,类似的开源产品还有 Eucalyptus, openQRM 等.
采用最小化的 centos 6.4 安装版本 CentOS-6.4-x86_64-minimal.iso ,安装完后配置一下网络连接。
开始之前先装上 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
安装 OpenNebula 需要的软件包以及编译 OpenNebula 源代码所需的工具:
yum install gcc gcc-c++ make openssl-devel flex bison
yum install ruby ruby-devel ruby-docs ruby-ri ruby-irb ruby-rdoc
yum install rubygems
gem install nokogiri rake xmlparser
yum install scons
yum install xmlrpc-c xmlrpc-c-devel
到官网 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
CentOS 自带的 sqlite 版本不行,需要下载和编译 sqlite 3.6.17 版本:
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
oneadmin:0dee417dfb22f2372866d686c7b12889