• Opennebula4.2管理端和节点SSH模式的安装配置


    一、实验环境:

    主机名        IP(Static)                         系统                                            配置                                         角色

    nebula     192.168.100.218   CentOS-6.4-x86_64-minimal   2CPU,2G RAM,20G DISK,1网卡          管理节点

    node01    192.168.100.114   CentOS-6.4-x86_64-minimal   4CPU,16G RAM,300G DISK,2网卡      计算节点

    nebula下载地址:

    http://downloads.opennebula.org/packages/opennebula-4.2.0/opennebula-4.2.0.tar.gz

    二、初始系统配置:

    系统安装后,管理节点和计算节点采用同样步骤做初始配置:

    1.配置/etc/hosts文件

    添加计算节点IP和主机名的对应关系,管理节点添加所有计算节点的IP和主机名对应关系,计算节点只需添加管理节点的IP和主机名对应关系。

    # vi /etc/hosts

    192.168.100.218  nebula

    192.168.100.114  node01

    2.关闭selinux

    # vi /etc/selinux/config

    将SELINUX=enforcing修改为SELINUX=disabled

    3.关闭iptables

    # chkconfig iptables off

    # chkconfig ip6tables off

    4.创建用户组和用户

    这里设置oneadmin密码为chensh
    # mkdir -p /srv/cloud/
    # groupadd -g 1000 cloud
    # useradd -u 1000 -g cloud -m oneadmin -d /srv/cloud/one -s /bin/bash
    # passwd oneadmin
    # chown -R oneadmin:cloud /srv/cloud/

    5.关闭其他不需要的服务(可选)

    1
    2
    3
    4
    5
    6
    #!/bin/bash
    SERVICE_SUM="auditd blk-availability iscsi iscsid lvm2-monitor mdmonitor multipathd netconsole postfix rdisc restorecond saslauthd"
    echo $SERVICE_SUM | xargs -n1 | while read SERVICE
    do
        chkconfig $SERVICE off
    done




    6.重启系统

    # reboot

    三、管理节点配置:

    1.安装需要的软件和编译工具

    [root@nebula ~]# yum -y install gcc-c++ libvirt mysql-server mysql-devel ruby ruby-devel rubygems scons xmlrpc-c-devel genisoimage wget

    2.配置libvirtd.conf和qemu.conf,找到相应项做如下更改

    [root@nebula ~]# vi /etc/libvirt/libvirtd.conf

    listen_tcp = 1

    unix_sock_group = "cloud"

    unix_sock_rw_perms = "0770"

    auth_unix_ro = "none"

    auth_unix_rw = "none"

    [root@nebula ~]# vi /etc/libvirt/qemu.conf

    vnc_listen = “0.0.0.0″

    user = "oneadmin"                    /*oneadmin用户管理虚拟机*/

    group = "cloud"

    dynamic_ownership = 0               /*禁止虚拟镜像动态调整所有权限*/

    [root@nebula ~]# ln -s /bin/vi /usr/bin/vi                          /*添加该软连接,否则onedatastore update会报错*/   

    [root@nebula ~]# chmod o-w /srv/cloud                                  /*去掉cloud目录的写权限*/

    [root@nebula ~]# /etc/init.d/libvirtd restart                        /*重启libvirt服务*/

    [root@nebula ~]# chown oneadmin:cloud /var/run/libvirt/libvirt-sock                  /*修改libvirt-sock所属用户和组*/

    3.配置oneadmin下ssh-keygen

    [root@nebula ~]# su -l oneadmin

    [oneadmin@nebula ~]$ ssh-keygen

    [oneadmin@nebula ~]$ cat ~/.ssh/id_rsa.pub > ~/.ssh/authorized_keys

    [oneadmin@nebula ~]$ echo "Host *" >> ~/.ssh/config

    [oneadmin@nebula ~]$ echo "StrictHostKeyChecking no" >> ~/.ssh/config

    [oneadmin@nebula ~]$ exit

    4.配置nebula数据库

    [root@nebula ~]# service mysqld start                    /*启动mysql数据库*/

    [root@nebula ~]# chkconfig mysqld on                   /*设置mysql数据库开机启动*/

    [root@nebula ~]# mysqladmin -uroot password “passwd”                     /*设置mysql数据库密码为passwd*/

    [root@nebula ~]# mysql -uroot -ppasswd             /*登录mysql数据库*/

    mysql> CREATE DATABASE opennebula;           /*创建nebula数据库*/

    mysql> CREATE USER 'oneadmin'@'localhost' IDENTIFIED BY 'oneadmin';      /*创建mysql用户和密码*/

    mysql> GRANT ALL PRIVILEGES ON opennebula.* TO 'oneadmin' IDENTIFIED BY 'oneadmin';    /*将opennebula数据库赋予oneadmin用户*/

    mysql> FLUSH PRIVILEGES;           /*刷新配置,使配置生效*/

    mysql> quit;               /*退出mysql数据库*/

    5.编译安装OpenNebula4.2.0

    [root@nebula ~]# su -l oneadmin

    [oneadmin@nebula ~]$ wget http://downloads.opennebula.org/packages/opennebula-4.2.0/opennebula-4.2.0.tar.gz

    [oneadmin@nebula ~]$ ls

    opennebula-4.2.0.tar.gz

    [oneadmin@nebula ~]$ tar -zxvf opennebula-4.2.0.tar.gz

    [oneadmin@nebula ~]$ cd opennebula-4.2.0

    [oneadmin@nebula opennebula-4.2.0]$ scons sqlite=no mysql=yes                 /*在此OpenNebula使用Mysql数据库*/

    [oneadmin@nebula opennebula-4.2.0]$ ./install.sh -u oneadmin -g cloud -d /srv/cloud/one

    [oneadmin@nebula opennebula-4.2.0]$ cd

    [oneadmin@nebula ~]$

    6.设置.bash_profile环境变量

    [root@nebula ~]#  vi ~/.bash_profile

    加入如下内容:

    export ONE_LOCATION=/srv/cloud/one

    export ONE_AUTH=$ONE_LOCATION/.one/one_auth

    export ONE_XMLRPC=http://localhost:2633/RPC2

    export PATH=$ONE_LOCATION/bin:/usr/local/bin:/var/lib/gems/1.8/bin/:$PATH

    执行.bash_profile,使得这些环境变量生效:

    [oneadmin@nebula ~]$ source ~/.bash_profile

    7.设置SunStone的用户名和密码

    编辑~/.one/one_auth

    [oneadmin@nebula ~]$ mkdir ~/.one

    [oneadmin@nebula ~]$ echo "oneadmin:password" > ~/.one/one_auth

    [oneadmin@nebula ~]$ chmod 640 ~/.one/one_auth

    8.设置nebula的数据库参数和datastore路径

    编辑~/etc/oned.conf

    [oneadmin@nebula ~]$ vi etc/oned.conf

    # DB = [ backend = "sqlite" ]

     

    # Sample configuration for MySQL

    DB = [ backend = "mysql",

           server  = "localhost",

           port    = 0,

           user    = "oneadmin",

           passwd  = "oneadmin",

           db_name = "opennebula" ]


    #DATASTORE_LOCATION = /var/lib/one/datastores

    改为

    DATASTORE_LOCATION = /srv/cloud/one/datastores

    9.修改datastore,使节点使用本地存储

    [oneadmin@nebula ~]$ one start             /*启动nebula one服务*/

    [oneadmin@nebula ~]$ onedatastore update 0

    将TM_MAD="shared"修改为TM_MAD="ssh"

    [oneadmin@nebula ~]$ onedatastore update 1

    将TM_MAD="shared"修改为TM_MAD="ssh"

    设置镜像安全路径,添加下行(可选):

    SAFE_DIRS="/srv/cloud/one/images"

    [oneadmin@nebula ~]$mkdir  ~/images            /*创建镜像存放文件夹(可选)*/

    10.安装gem包

    [root@nebula ~]# gem install json sinatra

    ……………………

    Successfully installed json-1.8.1
    Successfully installed rack-1.5.2
    Successfully installed tilt-1.4.1
    Successfully installed rack-protection-1.5.1
    Successfully installed sinatra-1.4.4

    ……………………

    11.修改sunstone-server.conf配置

    [root@nebula ~]# su - oneadmin

    [oneadmin@nebula ~]$ vi etc/sunstone-server.conf

    将原有:host: 127.0.0.1中IP字段修改为本机IP或者0.0.0.0:

    :host: 0.0.0.0

    保存退出。

    12.启动服务

    [oneadmin@nebula ~]$ one stop                         /*重启one服务*/

    [oneadmin@nebula ~]$ one start

    [oneadmin@nebula ~]$ sunstone-server start             /*启动SunStone服务*/

    VNC proxy started
    sunstone-server started

    ****************************************************************************************************************************************************

    四、计算节点配置:

    1.设置网络桥接(可选):

    (1).编辑/etc/sysconfig/network内容如下:

    [root@node01 ~]# vi /etc/sysconfig/network

    NETWORKING=yes

    HOSTNAME=node01

    GATEWAY=br0

    (2).编辑/etc/sysconfig/network-scripts/ifcfg-eth0内容如下:

    [root@node01 ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0 

    DEVICE="eth0"

    ONBOOT=yes

    BRIDGE=br0

    (3).创建ifcfg-br0文件,内容如下:

    [root@node01 ~]# vi /etc/sysconfig/network-scripts/ifcfg-br0

    DEVICE=br0

    BOOTPROTO=static

    ONBOOT=yes

    TYPE=Bridge

    IPADDR=192.168.100.114

    NETMASK=255.255.255.0

    GATEWAY=192.168.100.1

    BROADCAST=192.168.100.255

    DELAY=0

    (4).重启网络服务:

    [root@node01 ~]# service network restart

    2.安装计算节点依赖的软件包

    [root@node01 ~]# yum -y install kvm libvirt ruby sudo vconfig

    3.配置libvirtd.conf和qemu.conf,找到相应项做如下更改

    [root@nebula ~]# vi /etc/libvirt/libvirtd.conf

    listen_tcp = 1

    unix_sock_group = "cloud"

    unix_sock_rw_perms = "0770"

    auth_unix_ro = "none"

    auth_unix_rw = "none"

    [root@nebula ~]# vi /etc/libvirt/qemu.conf

    vnc_listen = “0.0.0.0″

    user = "oneadmin"                    /*oneadmin用户管理虚拟机*/

    group = "cloud"

    dynamic_ownership = 0               /*禁止虚拟镜像动态调整所有权限*/

    [root@node01 ~]# ln -s /usr/libexec/qemu-kvm /usr/bin/kvm                  /*做一个qemu-kvm到kvm的软链接*/

    [root@node01 ~]# ln -s /usr/sbin/brctl /sbin/brctl           /*创建/sbin/brctl链接,否则创建虚拟机vlan接口网络会报错*/           

    [root@node01 ~]# chmod o-w /srv/cloud                                  /*去掉cloud目录的写权限*/

    [root@node01 ~]# /etc/init.d/libvirtd restart                        /*重启libvirt服务*/

    [root@node01 ~]# chown oneadmin:cloud /var/run/libvirt/libvirt-sock                  /*修改libvirt-sock所属用户和组*/

    4.sudo配置

    编辑/etc/sudoers让oneadmin用户有直接执行sudo的权限

    [root@node01 ~]# vi /etc/sudoers
    ……………………………省略若干行……………………
    # Disable "ssh hostname sudo <cmd>", because it will show the password in clear.
    #         You have to run "ssh -t hostname sudo <cmd>".
    #
    # Defaults    requiretty                        /*将该行注释掉*/

    ……………………………省略若干行……………………

    # Allow root to run any commands anywhere
    root    ALL=(ALL)       ALL
    oneadmin    ALL=(ALL)       ALL                         /*添加该项,oneadmin用户具有root的命令权限*/
    ……………………………省略若干行……………………
    ## Same thing without a password
    # %wheel        ALL=(ALL)       NOPASSWD: ALL
    %cloud        ALL=(ALL)       NOPASSWD: ALL                 /*添加该项,cloud组用户执行sudo免密码*/
    ……………………………省略若干行……………………

    保存退出;

    5.配置与管理节点的无密码登陆

    拷贝管理节点密钥到oneadmin用户家目录下:

    [root@node01 ~]# su -l oneadmin

    [oneadmin@node01 ~]$ scp -r oneadmin@nebula:~/.ssh ./

    The authenticity of host 'nebula (192.168.100.218)' can't be established.
    RSA key fingerprint is 24:09:18:13:9c:1f:94:93:dd:b8:73:4e:12:1d:40:fd.
    Are you sure you want to continue connecting (yes/no)? yes
    Warning: Permanently added 'nebula' (RSA) to the list of known hosts.
    oneadmin@192.168.100.218's password:
    config                                                100%   32     0.0KB/s   00:00    
    authorized_keys                                100%  397     0.4KB/s   00:00    
    id_rsa                                                100% 1675     1.6KB/s   00:00    
    id_rsa.pub                                         100%  397     0.4KB/s   00:00    

    [oneadmin@node01 ~]$ ls .ssh/
    authorized_keys  config  id_rsa  id_rsa.pub

    [oneadmin@node01 ~]$ exit

    ****************************************************************************************************************************************************

    五、登陆验证

    配置完毕,可通过firefox或Chrome登陆SunStone页面添加计算节点,此例子中SunStone用户名为oneadmin密码为password

  • 相关阅读:
    6.9 系统标识
    6.5 附加组ID
    6.4 组文件
    Silverlight1.0开发向导
    正版Microsoft Expression Studio开发套件入手
    百度百科中对silverlight的介绍
    UMU支持微软从今天开始使用 XPS 格式,逐渐放弃 PDF 格式
    今天参加了微软论坛新年Party!
    Windows Media Player在页面中调用的常用属性和方法
    .Net Frameworks 3.5 和 .Net Frameworks 3.5 SP1完整版下载
  • 原文地址:https://www.cnblogs.com/myiaas/p/4161334.html
Copyright © 2020-2023  润新知