首页 > 代码库 > OpenStack 部署总结之:在CentOS 6.5上使用RDO安装双结算结点的icehouse(ovs+vlan)

OpenStack 部署总结之:在CentOS 6.5上使用RDO安装双结算结点的icehouse(ovs+vlan)

本文主要介绍如何在CentOS6.5上通过RDO来安装一个双计算节点的icehouse环境,由于安装的过程中涉及的软件较多,以及依赖关系比较复杂,建议使用一个全新的操作系统来进行安装。

 

硬件环境

两台Dell的PC机,每台机器有两个网卡,且每个网卡都接有网线。公网和管理网络合用em1,虚拟机网络使用em2

 

服务器

公网/管理网络

VM Net

角色

服务器1

em1:192.168.40.147

em2

控制节点,网络节点,存储节点,计算节点

服务器2

em2:192.168.40.148

em2

计算节点

 

由于使用的是vlan模式,所以事先需要在物理上把em2连接的两个端口设置成Trunk,.

简单的物理描述图如下


简单的逻辑图取自陈老师博客的图(忽略IP与设备名称)


虚拟机的通讯,是通过eth1(对应我的环境是em2),虚拟机访问外部网络,是通过服务器1上的L3agent,br-ex到eth0(对应我的环境是em1)上访问外部网络

 

 

安装步骤

安装操作系统

使用光盘或镜像文件安装操作系统.

分区的时候需要划分一个逻辑区,并且建立一个名称叫cinder-volumes的组。这个逻辑卷组会被cinder使用。

创建的效果类似于:

创建过程请参考:http://www.centos.org/docs/5/html/Deployment_Guide-en-US/s1-lvm-diskdruid-manual.html

也可以装完操作系统后通过命令的方式来创建

 

修改/etc/fstab 去掉cinder-volume的开机挂载,不然会导致你无法重启

sed -i ‘/cinder-volume/s/^/#/‘ /etc/fstab

 

配置网络

两台机器上的配置方式除了IP,MAC 外都相同

配置 vi/etc/sysconfig/network-scripts/ifcfg-em1,编辑内容如下

DEVICE=em1  

HWADDR=F8:B1:56:AE:3A:84  

TYPE=Ethernet  

UUID=6f49b547-f1f8-4b21-a0fc-68791a5237dd  

ONBOOT=yes  

BOOTPROTO=static  

IPADDR=192.168.40.145  

NETMASK=255.255.255.0  

GATEWAY=192.168.40.1  

DNS1=8.8.8.8 
 

配置 vi/etc/sysconfig/network-scripts/ifcfg-em2,编辑内容如下

DEVICE=em2

HWADDR=00:21:27:AE:16:A3

TYPE=Ethernet

UUID=9c5983f2-1932-4540-953f-7774a2aa5154

ONBOOT=yes

BOOTPROTO=static

IPADDR=192.168.105.3

GATEWAY=192.168.105.1

NETMASK=255.255.255.0

DEFROUTE=no

经过以上配置后,确定网络可以连接.

 

由于实例运行的过程中,可以将NetworkManager服务停止,以为这个服务没用的服务会占用大量的内存

chkconfig NetworkManager off

安装相关的yum源

yum源是否正确安装直接影响到安装的正确性,本人安装的过程中出现的很多问题都和源有关

安装的过程主要涉及到三个源:

安装163源

 1,备份/etc/yum.repos.d/CentOS-Base.repo

  1. mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup  

 2,下载对应版本repo文件, 放入/etc/yum.repos.d/(操作前请做好相应备份)

  • CentOS5
  • CentOS6

安装icehouse源

执行以下命令

  1. Yum install -y http://rdo.fedorapeople.org/openstack-icehouse/rdo-release-icehouse.rpm  

安装epel源

选用的是64位系统,执行以下命令

  1. rpm -ivh http://download.fedora.redhat.com/pub/epel/6/x86_64/epel-release-6-5.noarch.rpm  

在安装上面源的时候会生成foreman.repo源,这个源可直接删掉

 

设置YUM的cache

由于网络问题,安装过程可能会经常失败,所以此时可以设置yum 的cache来提高失败后再次安装的效率

 

安装openstack-packstack

执行下面的命令

yum install -y openstack-packstack  

 

可能会碰到计算节点安装某些程序总是失败,可以先在计算节点上安装完之后在到控制节点上再次执行

 配置并修改packstack配置文件

为了方便以后多次执行相同的packstack的配置,可以先导出一个原始的配置,然后在这个文件上做一些修改,以后就可以指定配置文件的方式安装openstack

生成自己的配置文件

packstack --gen-answer-file=vlan_2compute.txt   

修改配置文件

为了验证icehouse中的heat,lbaas,ceilometer等组建的新特性,所以需要安装这些组建,另外网络上的配置也做了一些调整。

将下面的配置覆盖到vlan_2compute.txt中

 

    #为了在环境中使用HEAT  
    CONFIG_HEAT_INSTALL=y  
    CONFIG_NTP_SERVERS=0.uk.pool.ntp.org  
    #配置两个计算节点  
    CONFIG_COMPUTE_HOSTS=192.168.40.147,192.168.40.148  
    #登陆控制台的密码  
    CONFIG_KEYSTONE_ADMIN_PW=admin  
    #前面的步骤已经创建了LVM  
    CONFIG_CINDER_VOLUMES_CREATE=n  
    #网络使用的配置  
    CONFIG_NOVA_COMPUTE_PRIVIF=em2  
    CONFIG_NOVA_NETWORK_PUBIF=em1  
    CONFIG_NOVA_NETWORK_PRIVIF=em2  
    CONFIG_LBAAS_INSTALL=y  
    CONFIG_NEUTRON_METERING_AGENT_INSTALL=y  
    #VLAN模式的相关配置  
    CONFIG_NEUTRON_ML2_TYPE_DRIVERS=vlan
    CONFIG_NEUTRON_ML2_TENANT_NETWORK_TYPES=vlan  
    CONFIG_NEUTRON_ML2_VLAN_RANGES=physnet1:10:20    CONFIG_NEUTRON_OVS_TENANT_NETWORK_TYPE=vlan    CONFIG_NEUTRON_OVS_VLAN_RANGES=physnet1:10:20    CONFIG_NEUTRON_OVS_BRIDGE_MAPPINGS=physnet1:br-em2    CONFIG_NEUTRON_OVS_BRIDGE_IFACES=br-em2:em2     #不安装DEMO用户  
    CONFIG_PROVISION_DEMO=n  
    CONFIG_HEAT_CLOUDWATCH_INSTALL=y  
    CONFIG_HEAT_CFN_INSTALL=y  

修改Selinux配置

编辑/etc/selinux/config,设置以下属性

SELINUX=permissive

 

修改hosts

在两个节点的/etc/hosts文件中分别添加对方的IP以及名称

 

执行配置文件

packstack --answer-file=myanswer.txt  

这个过程可能比较漫长,中间可能会因为网络中断几次,中断后请继续

登陆

用户名为admin,密码为admin

 

成功后OVS配置:

控制节点

[root@icehouse ~]#ovs-vsctl show

fb04ef1e-278f-48d4-b20b-3eafb63de9cf

    Bridge br-ex

        Port br-ex

            Interface br-ex

                type: internal

        Port "em1"

            Interface "em1"

        Port "qg-ea25d142-ea"

            Interface"qg-ea25d142-ea"

                type: internal

    Bridge "br-em2"

        Port "phy-br-em2"

            Interface "phy-br-em2"

        Port "em2"

            Interface "em2"

        Port "br-em2"

            Interface "br-em2"

                type: internal

    Bridge br-int

        Port "tapc07b9126-81"

            tag: 2

            Interface"tapc07b9126-81"

                type: internal

        Port "qvo6889c1b9-fb"

            tag: 1

            Interface"qvo6889c1b9-fb"

        Port "qvoe26e3b19-a4"

            tag: 1

            Interface"qvoe26e3b19-a4"

        Port "qvo8e422661-97"

            tag: 1

            Interface"qvo8e422661-97"

        Port "qr-9d77d069-84"

            tag: 1

            Interface"qr-9d77d069-84"

                type: internal

        Port "tap89c353d7-f6"

            tag: 1

            Interface"tap89c353d7-f6"

                type: internal

        Port br-int

            Interface br-int

                type: internal

        Port "int-br-em2"

            Interface "int-br-em2"

    ovs_version: "1.11.0"


计算节点:

[root@icehouse1 ~]#ovs-vsctl show

63be159a-193e-48d6-b472-4851d8c58af7

    Bridge br-int

        Port "qvoa7274e42-7b"

            tag: 1

            Interface"qvoa7274e42-7b"

        Port "int-br-em2"

            Interface "int-br-em2"

        Port "qvo6dfc5f97-c5"

            tag: 1

            Interface"qvo6dfc5f97-c5"

        Port br-int

            Interface br-int

                type: internal

    Bridge "br-em2"

        Port "br-em2"

            Interface "br-em2"

                type: internal

        Port "em2"

            Interface "em2"

        Port "phy-br-em2"

            Interface "phy-br-em2"

    ovs_version: "1.11.0"

 


OpenStack 部署总结之:在CentOS 6.5上使用RDO安装双结算结点的icehouse(ovs+vlan)