Centos7 安装OpenNebula

一.安装前准备

1.配置

系统:Centos 7
OpenNebula版本: 5.2.1 官方文档地址

2. 修改对应主机的名称

Front-end主机名称修改

front-end 也就是OpenNebula的控制节点,所以我们命名为master。
当前主机名称可以通过如下命令查看:

# hostnamectl

通过hostnamectl工具来修改对应的主机名称,方便用户操作时明确当前操作的是控制节点。将当前主机的名称修改为master的命令如下。

 # hostnamectl --static set-hostname master
node节点主机名称修改

node节点也就是实际部署VM的主机。
将当前主机的名称修改为nodeX(X为第几个node节点)的命令如下。

 # hostnamectl --static set-hostname nodeX

3. 配置/etc/hosts 文件

Linux 的/etc/hosts是配置ip地址和其对应主机名的映射文件。通过该配置可以方便时用主机名称来代替ip。
在master节点中,编辑/etc/host文件vi /etc/hosts,添加其他node节点的配置。相应文件内容示例如下,当前有两个节点

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
10.131.251.101 master       
10.131.251.136 node1
10.131.251.36 node2

然后将master端的hosts文件分发到所有node节点中。

# scp /etc/hosts root@<node1 ip>:/etc/hosts
# scp /etc/hosts root@<node2 ip>:/etc/hosts

二.OpenNebula Front-end安装

Front-end节点安装参考OpenNebula 5.2 Front-end 安装指南

1. 在Centos系统上禁止SElinux功能

SElinux 可能会给OpenNebula安装带来比较多的问题,所以通过配置将其禁止。将配置文件/etc/selinux/configSELINUX=XXX对应的一行修改为SELINUX=disabled。最后重启机器。

2.添加OpenNebula repository

使用 root账户登录,向yum工具中添加OpenNebula repository,具体命令如下:

#  cat << EOT > /etc/yum.repos.d/opennebula.repo
[opennebula]
name=opennebula
baseurl=http://downloads.opennebula.org/repo/5.2/CentOS/7/x86_64
enabled=1
gpgcheck=0
EOT

注意: 安装时确认为5.2版本,如是5.0或者其他版本可能无法成功安装。

3. 安装软件

在开始安装之前,我们需要启动EPEL库,在Centos上面执行如下代码:

# yum install epel-release

然后从我们之前配置的OpenNebula repository中下载安装对应的OpenNebula 需要的Front-end相关包。
在Centos中使用root账户执行如下命令:

# yum install opennebula-server opennebula-sunstone opennebula-ruby opennebula-gate opennebula-flow

4. 安装Ruby Runtime

有一些OpenNebula组件需要使用Ruby 相关的库。OpenNebula提供相应的脚本来安装对应的Ruby库和其他需要的开发库。
使用root账户执行如下命令:

# /usr/share/one/install_gems

5.启动OpenNebula

root账户切换为oneadmin账户登录;

# su oneadmin

/var/lib/one/.one/one_auth文件中存储着oneadmin账户的密码,该密码是随机生成的。
我们在启动OpenNebula之前将oneadmin的密码修改。使用如下命令,其中mypassword 是我们设定密码。

echo "oneadmin:mypassword" > ~/.one/one_auth

该命名可以在oneadmin第一次boot的时候设置相应的密码,如果不是第一次boot或者是设置失败了,我们可以使用命令oneuser passwd oneadmin mypasswd来重新设置。

通过vi工具查看/var/lib/one/.one/one_auth或者~/.one/one_auth文件来确认密码是否修改成功。

接着,我们适用systemctl工具启动相应的opennebula 和opennebula-sunstone服务。

# systemctl start opennebula
# systemctl start opennebula-sunstone

6.验证安装

在OpenNebula启动时,可以通过Linux CLI 命令或者图形化用户界面:Sunstone来验证是否成功启动。

Linux CLI 验证

在Front-end,使用oneadmin用户执行如下命令:

# oneuser show
USER 0 INFORMATION
ID              : 0
NAME            : oneadmin
GROUP           : oneadmin
PASSWORD        : 3bc15c8aae3e4124dd409035f32ea2fd6835efc9
AUTH_DRIVER     : core
ENABLED         : Yes

USER TEMPLATE
TOKEN_PASSWORD="ec21d27e2fe4f9ed08a396cbd47b08b8e0a4ca3c"

RESOURCE USAGE & QUOTAS

如何执行该命令时返回错误,可能是OpenNebula daemon没有成功启动:

# oneuser show
Failed to open TCP connection to localhost:2633 (Connection refused - connect(2) for "localhost" port 2633)

对于没有成功启动的情况,可以通过查看/var/log/one文件夹下的log文件来确认错误根源。其中one.log是错误信息文件,sched.log 是调度log文件。

Sunstone验证

通过浏览器尝试连接http://<fontend_address>:9869,用户名称为oneadmin,密码是我们之前在/var/lib/one/.one/one_auth文件中设定的密码。
如果没有启动成功,我们可以通过查看/var/log/one/sunstone.log文件来确定错误根源

注意,在浏览器尝试连接9869端口时,我们需要把防火墙关闭(每次系统reboot或者网络重启时,都需要去查看一下防火墙是否别关闭,否则无法成功连接)。
查看防火墙状态命令:systemctl status firewalld.service
关闭防火墙命令:systemctl stop firewalld.service或更彻底地阻止防火墙随开机启动:systemctl disable firewalld.service


三.OpenNebula Node节点安装

Node节点安装参看 OpenNebula 5.2 Node安装指南 官方文档

1.添加OpenNebula repository

使用 root账户登录,向yum工具中添加OpenNebula repository,具体命令如下:

#  cat << EOT > /etc/yum.repos.d/opennebula.repo
[opennebula]
name=opennebula
baseurl=http://downloads.opennebula.org/repo/5.2/CentOS/7/x86_64
enabled=1
gpgcheck=0
EOT

2. 安装软件

执行如下命令行来安装node节点相关包,然后重启libvirt

# sudo yum install opennebula-node-kvm
# sudo systemctl restart libvirtd

3. 在CentOS系统上禁止SElinux 功能

SElinux 可能会给OpenNebula安装带来比较多的问题,所以通过配置将其禁止。将配置文件/etc/selinux/configSELINUX=XXX对应的一行修改为SELINUX=disabled。最后重启机器。

4.网络配置

在这里使用相对简单的桥接的方法来配置网络。
root用户进入/etc/sysconfig/network-scripts/文件夹下,将需要修改的网络接口配置文件备份cp ifcfg-enp2s0 /root/(以enp2s0网络接口为例)。然后配置桥接,配置文件主要有两个,一个是ifcfg-enp2s0,另一个是ifcfg-br0。可以参照如下示例来修改文件。本网络配置采用的是静态ip的配置。

# ifcfg-enp2s0 配置文件
TYPE=Ethernet
NAME=enp2s0
DEVICE=enp6s0
ONBOOT=yes
BRIDGE=br0
NM_CONTROLLED=no
# ifcfg-br0 配置文件
TYPE=Bridge
BOOTPROTO=static
NAME=br0
DEVICE=br0
ONBOOT=yes
IPADDR=10.131.251.36
NETMASK=255.255.254.0
GATEWAY=10.131.250.1
DNS1=202.120.224.6
NM_CONTROLLED=no

配置完成之后重启网络,systemctl restart network.service。通过brctl show命令查看网桥配置情况。
其中virbr0 是安装libvirt后自动配置的,br0是我们自己配置的。

# brctl show
bridge  name        bridge id           STP enabled     interfaces
br0         8000.20cf3001fc3e       no          enp6s0
virbr0     8000.52540084b8d6    yes         virbr0-nic

注意:
网桥的具体的名称可以随意(br0,br1..等)
但是在所有Node节点上的网桥名称需要相同

5.添加 node节点到master端

该工作可以使用sunstone进行配置,也可以通过CLI进行配置。下面展示使用CLI进行配置的方法。
为了添加node节点到云平台中,在master机器上使用oneadmin用户执行如下命令,其中<node01>可以是我们node节点的ip地址,也可以是对应的主机名(在第一节的第3步中已经配置),推荐使用主机名。

onehost create <node01> -i kvm -v kvm
onehost list
  ID NAME            CLUSTER   RVM      ALLOCATED_CPU      ALLOCATED_MEM STAT
   1 localhost       default     0                  -                  - init

# After some time (20s - 1m)
onehost list
  ID NAME            CLUSTER   RVM      ALLOCATED_CPU      ALLOCATED_MEM STAT
   0 node01          default     0       0 / 400 (0%)     0K / 7.7G (0%) on

四.验证安装结果

具体的验证流程参看OpenNebula 5.2 Verify your Installation
其中需要主要以下几点:

  1. 创建完成虚拟机之后,可以通过VNC远程登录VM中。VNC登录需要将部署VM的Node节点上的防火墙关闭,相应的命令如下systemctl stop firewalld.service
  2. 期望ssh登录VM免密。可以在sunstone控制界面中设置,具体设置流程如下:
    a. 进入Sunstone控制界面-> Templates->选择一个虚拟机模板->update
    b. 在Update界面-> Context->在SSH public key 中添加需要ssh访问的VM的机器的SSH Public key

note:机器的SSH Public Key生成方法:ssh-keygen 具体使用方法参看链接,id_rsa.pub为公钥文件
note:远程ssh登录VM,需要在命令中指定对应的私钥ssh -i id_rsa root@<VM ip>


DATA: 2017年06月12日 12时42分17秒

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,117评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,328评论 1 293
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,839评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,007评论 0 206
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,384评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,629评论 1 219
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,880评论 2 313
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,593评论 0 198
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,313评论 1 243
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,575评论 2 246
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,066评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,392评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,052评论 3 236
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,082评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,844评论 0 195
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,662评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,575评论 2 270

推荐阅读更多精彩内容