美文网首页云平台
Centos7 安装OpenNebula

Centos7 安装OpenNebula

作者: Fenng27 | 来源:发表于2017-06-12 13:49 被阅读170次

    一.安装前准备

    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秒

    相关文章

      网友评论

        本文标题:Centos7 安装OpenNebula

        本文链接:https://www.haomeiwen.com/subject/ngslqxtx.html