下载地址 http://downloads.opennebula.org/packages/
centos6 4.xxx centos7 5.xxx
配置好epel源 gem 源
wget http://downloads.opennebula.org/packages/opennebula-5.1.80/centos7/opennebula-5.1.80-1.tar.gz
tar -zxf opennebula-5.1.80-1.tar.gz
cd opennebula-5.1.80-1/
在控制节点(或叫做头节点)上安装 opennebula 和 opennebula-sunstone 等:
gem install sinatra builder zendesk_api
gem install treetop parse-cron(opennebula-flow需要)
yum localinstall opennebula-5.1.80-1.x86_64.rpm opennebula-server-5.1.80-1.x86_64.rpm
opennebula-ruby-5.1.80-1.x86_64.rpm opennebula-common-5.1.80-1.x86_64.rpm opennebula-sunstone-5.1.80-1.x86_64.rpm
在计算节点上安装 kvm 和 opennebula-node-kvm:
yum install qemu-kvm qemu-kvm-tools libvirt
yum localinstall opennebula-node-kvm-5.1.80-1.x86_64.rpm
/etc/init.d/libvirtd start
安装搞定,OpenNebula 的安装就是这么简单,开始在控制节点上启动服务吧:
vi /etc/one/sunstone-server.conf 配置控制台
:host: 0.0.0.0
:port: 9869
systemctl start opennebula
systemctl start opennebula-sunstone
http://192.168.2.150:9869 登录
cat /var/lib/one/.one/one_auth
oneadmin:0dee417dfb22f2372866d686c7b12889
集群
http://www.chinacloud.cn/show.aspx?id=20875&cid=22
OpenNebula 4.10入门之安装和节点配置
环境说明:
所有系统环境管理端和节点宿主机都采用CentOS 6.6 x86_64
服务器使用情况:
1. 控制节点和存储节点使用同一台服务器.
2. 计算节点分别使用两台服务器
系统约定:
cloud.webxury.com 192.168.15.100 (计算节点)
cloud1.webxury.com 192.168.15.101 (计算节点)
storage.webxury.com 192.168.15.200 (存储和控制)
系统最小化安装(略过),并且根据约定配置好IP地址,修改好计算机名,检查系统时间是否正确,确保机器能和外界通信,
并且将以上内容添加到本地/etc/hosts文件内,确保域名解析正常,并且永久关闭SELINUX以及IPTABLES,并且重启,方可进行安装部署.因为是测试,
所以暂时关闭,正式上线,需要添加需要权限以及防火墙的端口设定.
控制台安装篇
1. 为系统添加EPEL源,添加EPEL源的原因是因为要解决一些在安装上的依赖
yum –y install epel-release
2. 为系统添加Opennebula官方源
# vi /etc/yum.repos.d/opennebula.repo [opennebula] name=opennebula baseurl=http://downloads.opennebula.org/repo/
4.10/CentOS/6/x86_64/ enabled=1 gpgcheck=0
3. 生成源缓存(个人习惯)
yum makecache
4. 安装Opennebula控制台.
1.)# yum –y install opennebula-server opennebula-sunstone
安装完成之后创建如下用户以及目录文件:
# grep oneadmin /etc/passwd oneadmin:x:9869:9869::/var/lib/one:/bin/bash # ls -ld /etc/one/ //OpenNebula相关配置
文件所在目录 drwxr-x---. 11 root oneadmin 4096 Feb 2 11:35 /etc/one/ #ls/etc/init.d/opennebula* /etc/init.d/opennebula
/etc/init.d/opennebula-occi /etc/init.d/opennebula-sunstone # ls -ld /var/log/one/ drwxr-x---.
2 oneadmin oneadmin 4096 Feb 2 01:13 /var/log/one/
2).安装组件
# /usr/share/one/install_gems lsb_release command not found. If you are using a RedHat based distribution install
redhat-lsb Select your distribution or press enter to continue without installing dependencies.
0. CentOS/RedHat 1. Ubuntu/Debian
选择相对应的操作系统,我们选择0
5. 默认OpenNebula数据存储使用sqlite,如果需要使用MySQL,则需要做如下操作
1).安装mysql数据库
yum –y install mysql mysql-server #service mysqld start #chkconfig mysqld on
并且设置MYSQL密码(忽略)
2).创建数据库
$ mysql -u root -p Enter password: Welcome to the MySQL monitor. [...] mysql> GRANT ALL PRIVILEGES ON opennebula.*
TO '用户名' IDENTIFIED BY '密码'; Query OK, 0 rows affected (0.00 sec)
3).设置隔离级别
mysql> SET GLOBAL TRANSACTION ISOLATION LEVEL READ COMMITTED;
6. 修改配置文件如下 [用户、端口、密码、库名和实际情况对应修改:
# vi /etc/one/oned.conf … … #DB = [ backend = "sqlite" ] (记得把这行注销)
# Sample configuration for DB = [ backend = "mysql", server = "localhost", port = 0,
(这里0的意思代表使用MYSQL默认3306端口,所以不需要修改) user = "刚才设置的用户名", passwd = "刚才设置的密码",
db_name = "opennebula" ] … …
7. 修改sunstone默认监听IP:
vi /etc/one/sunstone-server.conf
找到 :host: 127.0.0.1
修改成 :host: 0.0.0.0
8.启动相关服务
# service opennebula start # service opennebula-sunstone start #chkconfig opennebula on
#chkconfig opennebula-sunstone on
8.添加NFS共享存储目录
vi /etc/exports /var/lib/one/ *(rw,sync,no_subtree_check,root_squash)
启动服务
# service rpcbind restart # service nfs restart # chkconfig nfs on # chkconfig rpcbind on
9.添加SSH公共KEY
# su - oneadmin $ vi ~/.ssh/config
添加以下内容
Host * StrictHostKeyChecking no UserKnownHostsFile /dev/null
修改文件权限
$ chmod 600 ~/.ssh/config
10.修改oneadmin密码
#su oneadmin $passwd oneadmin
注:测试过程中因为测试环境服务端时间不对,导致cookie被忽略,OpenNebula Sunstone选择Keep me logged in
一直登陆不上或者直接登陆很快退出,寻找原因花了很长时间,最后调整到正确时间,登陆显示ok。
P.S: 时间是一个非常容易被我们忽略的问题,切记切记!
完成以上步骤之后,浏览器登陆 http://ip:9869 即可
节点安装篇
系统约定:
cloud.webxury.com 192.168.15.100 (计算节点)
cloud1.webxury.com 192.168.15.101 (计算节点)
storage.webxury.com 192.168.15.200 (存储和控制)
系统最小化安装(略过),并且根据约定配置好IP地址,修改好计算机名,检查系统时间是否正确,确保机器能和外界通信,
并且将以上内容添加到本地/etc/hosts文件内,确保域名解析正常,并且永久关闭SELINUX以及IPTABLES,并且重启,方可进行安装部署.
因为是测试,所以暂时关闭,正式上线,需要添加需要权限以及防火墙的端口设定.
安装篇
1.为系统添加EPEL源,添加EPEL源的原因是因为要解决一些在安装上的依赖
yum –y install epel-release
2.为系统添加Opennebula官方源
# vi /etc/yum.repos.d/opennebula.repo [opennebula] name=opennebula baseurl=
http://downloads.opennebula.org/repo/4.10/CentOS/6/x86_64/ enabled=1 gpgcheck=0
3.生成源缓存(个人习惯)
yum makecache
4.安装节点组件
yum –y install opennebula-node-kvm
启动相关服务
# service messagebus start # service libvirtd start # chkconfig messagebus on # chkconfig libvirtd on
5.给系统网卡做桥接
首先先复制一份ifcfg-eth0的文件,重命名为ifcfg-br0
网卡路径: /etc/sysconfig/network-scripts/ifcfg-eth0
拷贝一份eth0,并且重命名为br0
cd /etc/sysconfig/network-scripts/
cp ifcfg-eth0 ifcfg-br0
修改网卡文件eth0
DEVICE=eth0 BOOTPROTO=none NM_CONTROLLED=no ONBOOT=yes TYPE=Ethernet BRIDGE=br0
修改刚才拷贝的ifcfg-br0文件
DEVICE=br0(记得修改网卡名称,因为是复制过来的) TYPE=Bridge IPADDR=192.168.15.100 NETMASK=255.255.255.0
GATEWAY=192.168.15.1 DNS1=8.8.8.8 DNS2=8.8.4.4 ONBOOT=yes BOOTPROTO=static NM_CONTROLLED=no
重启网卡
# service network restart
6. 挂载存储的NFS共享目录
编辑: /etc/fstab
添加以下内容
192.168.15.200:/var/lib/one /var/lib/one/ nfs soft,intr,rsize=8192,wsize=8192,noauto
7. 修改oneadmin密码
#passwd oneadmin
回到控制节点服务器,让SSH无密码登陆节点服务器,否则控制节点添加计算节点将会失败
[oneadmin@storage ~]# su oneadmin [oneadmin@storage ~]$ ssh-keygen Generating public/private rsa key pair.
Enter file in which to save the key (/var/lib/one/.ssh/id_rsa): Enter passphrase (empty for no passphrase):
Enter same passphrase again: Your identification has been saved in /var/lib/one/.ssh/id_rsa.
Your public key has been saved in /var/lib/one/.ssh/id_rsa.pub. 一路回车直到结束
[oneadmin@storage~]$ssh-copy-id -i /var/lib/one/.ssh/id_rsa.pub [email protected] [email protected]
's password: .ssh/authorized_keys
根据提示输入密码后,已经成功登陆节点服务器,然后退出,尝试再次从控制节点服务器,ssh进入节点服务器,已经是不需要密码了,说明设置成功,
然后退出,并且重启服务器,服务器启动后,请检查是否挂载成功.
注:挂载的时候我遇到一个问题,我把storage挂载到每一个节点下的/var/lib/one/目录下,发现权限已经改变,默认权限所属用户组和用户名
都是oneadmin,但是挂在后发现用户名密码都是nobody,所以我们要修改/etc/idmapd.conf这个文件,把Nobody-User=XXX修改成
oneadmin,Nobody-Group=XXX也同样修改成oneadmin,并且重启服务,service rpcidmapd restart.
安装教程基本完成,可以简单做测试,现在我们打开UI界面.
现在看到集群里面,有2个计算节点,一个虚拟网络,3个存储.这个是正确的.
现在我们导入官方的一个模板和镜像文件做测试.