最具影响力的数字化技术在线社区

168大数据

 找回密码
 立即注册

QQ登录

只需一步,快速开始

1 2 3 4 5
开启左侧

重磅多图长文:OpenNebula安装和节点配置实战

[复制链接]
发表于 2015-7-14 09:19:36 | 显示全部楼层 |阅读模式

马上注册,结交更多数据大咖,获取更多知识干货,轻松玩转大数据

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
本文是Alan授权投稿,衷心感谢,也欢迎其他朋友分享。
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 oneadmin@cloud.webxury.com
oneadmin@cloud.webxury.com '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界面.


楼主热帖
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

关于我们|小黑屋|Archiver|168大数据 ( 京ICP备14035423号|申请友情链接

GMT+8, 2024-3-28 20:43

Powered by BI168大数据社区

© 2012-2014 168大数据

快速回复 返回顶部 返回列表