rwedewe 发表于 2014-9-5 09:32:51

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

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


硬件环境

两台Dell的R720服务器机,每台机器有4个网卡,只用到em1,以及em2,且这两个网卡都接有网线。公网和管理网络合用em1,虚拟机网络使用em2。

交换机方面,由于条件原因,只采用一个交换机,不过理论上将em1和em2的交换机分开效率会更高。

服务器
   

公网/管理网络
   

VM Net
    角色

服务器1
   

em1:192.168.100.242
   

em2:10.1.1.2
   

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

服务器2
   

em2:192.168.100.244
   

em2:10.1.1.3
   

计算节点

和vlan模式配置一个明显的区别,就是eth1,是需要配置一个私有的IP地址,必须配置。

由于使用的是GRE模式,所以就不需要麻烦网管设置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

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

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

sed -i '/cinder-volume/s/^/#/' /etc/fstab
配置网络

两台服务器的配置相同,只是IP与HWADDR/UUID不同,配置 vi/etc/sysconfig/network-scripts/ifcfg-em1,编辑内容如下




    DEVICE=em1
    HWADDR=C8:1F:66:E5:29:0D
    TYPE=Ethernet
    UUID=63d91b69-5c37-437e-898b-65403cef29a0
    ONBOOT=yes
    BOOTPROTO=static
    IPADDR=192.168.100.242
    GATEWAY=192.168.100.1
    NETMASK=255.255.255.0
    DNS1=8.8.8.8   

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


    DEVICE=em2
    HWADDR=C8:1F:66:E5:29:0E
    TYPE=Ethernet
    UUID=b2cdb6e2-37d9-4fd0-b3d6-01f107ed80e0
    ONBOOT=yes
    BOOTPROTO=static
    IPADDR=10.1.1.2
    NETMASK=255.255.255.0
    DNS1=8.8.8.8


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

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



    chkconfig NetworkManager off   


安装相关的yum源

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

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

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

    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源

执行以下命令

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

安装epel源

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

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

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


设置YUM的cache

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

安装openstack-packstack

执行下面的命令



    yum install -y openstack-packstack   

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


配置packstack

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

生成自己的配置文件



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

修改配置文件


    #为了在环境中使用HEAT
    CONFIG_HEAT_INSTALL=y
    CONFIG_NTP_SERVERS=0.uk.pool.ntp.org
    #配置两个计算节点
    CONFIG_COMPUTE_HOSTS=192.168.100.242,192.168.100.244
    #登陆控制台的密码
    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
    #GRE模式的相关配置
    CONFIG_NEUTRON_ML2_TYPE_DRIVERS=gre
    CONFIG_NEUTRON_ML2_TENANT_NETWORK_TYPES=gre
    CONFIG_NEUTRON_ML2_TUNNEL_ID_RANGES=100:1000
    CONFIG_NEUTRON_OVS_TENANT_NETWORK_TYPE=gre
    CONFIG_NEUTRON_OVS_TUNNEL_RANGES=100:1000
    #使用em2作为通道
    CONFIG_NEUTRON_OVS_TUNNEL_IF=em2
    #不安装DEMO用户
    CONFIG_PROVISION_DEMO=n
    CONFIG_HEAT_CLOUDWATCH_INSTALL=y
    CONFIG_HEAT_CFN_INSTALL=y



修改hosts

在两个节点的/etc/hosts文件中分别添加对方的IP以及名称,同事为了提高从源的下载速度,也可以在hosts文件中配置源的信息,例如在192.168.100.242上的hots文件如下:


    ::1         localhost localhost.localdomainlocalhost6 localhost6.localdomain6
    127.0.0.1   develop5
    192.168.100.244   develop6
    ::1         localhost localhost.localdomainlocalhost6 localhost6.localdomain6
    192.118.12.243          mirrors.skyshe.cn
    208.113.241.137         ceph.com
    152.19.134.191          repos.fedorapeople.org
    123.58.173.106          mirrors.163.com
    152.19.134.191          repos.fedorapeople.org
    69.56.251.103         openvswitch.org
    66.109.26.212         mirror.centos.org
    23.253.148.10         yum.theforeman.org   

执行配置文件

packstack --answer-file=myanswer.txt

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

安装完毕后,由于目前RDO的问题,没有创建br-ex,需要我们手工来创建,这个只需要在192.168.100.242上配置进行就可以,具体点说,应该是在网络节点上进行。
修改ifcfg-em1文件


    DEVICE=em1
    HWADDR=C8:1F:66:E5:29:0D
    ONBOOT=yes
    DEVICETYPE=ovs
    TYPE=OVSPort
    OVS_BRIDGE=br-ex


创建ifcfg-br-ex文件


    DEVICE=br-ex
    DEVICETYPE=ovs
    TYPE=OVSBridge
    ONBOOT=yes
    OVSBOOTPROTO=none
    IPADDR=192.168.100.242
    NETMASK=255.255.255.0
    DEFROUTE=yes
    PREFIX=24
    GATEWAY=192.168.100.1
    DNS1=202.103.24.68


配置OVS


    ovs-vsctladd-br br-ex
    ovs-vsctladd-port br-ex em1; service network restart



成功配置OVS以及添加虚拟机后的配置如下:
控制+网络+计算

OVS的配置


    # ovs-vsctl show
    d3ac11c9-8d88-4abc-8ca0-19788ab1491b
      Bridge br-ex
            Port "em1"
                Interface "em1"
            Port "qg-158cc8c6-4f"
                Interface"qg-158cc8c6-4f"
                  type: internal
            Port br-ex
                Interface br-ex
                  type: internal
      Bridge br-int
            fail_mode: secure
            Port "tapa104132f-bd"
                tag: 1
                Interface"tapa104132f-bd"
                  type: internal
            Port "qvo0715cfb5-b4"
                tag: 1
                Interface"qvo0715cfb5-b4"
            Port "tape8875e25-22"
                tag: 2
                Interface"tape8875e25-22"
                  type: internal
            Port br-int
                Interface br-int
                  type: internal
            Port "qvoeb74bfb0-1b"
                tag: 1
                Interface"qvoeb74bfb0-1b"
            Port "qvod119e70f-3f"
                tag: 1
                Interface"qvod119e70f-3f"
            Port patch-tun
                Interface patch-tun
                  type: patch
                  options: {peer=patch-int}
            Port "qvo948222df-c9"
                tag: 1
                Interface"qvo948222df-c9"
            Port "qr-da6f872b-7c"
                tag: 1
                Interface"qr-da6f872b-7c"
                  type: internal
      Bridge br-tun
            Port "gre-0a010103"
                Interface "gre-0a010103"
                  type: gre
                  options: {in_key=flow,local_ip="10.1.1.2", out_key=flow, remote_ip="10.1.1.3"}
            Port patch-int
                Interface patch-int
                  type: patch
                  options: {peer=patch-tun}
            Port br-tun
                Interface br-tun
                  type: internal
      ovs_version: "1.11.0"

Linux 网桥的配置



计算节点:OVS配置
    # ovs-vsctl show
    17cbd24e-df55-4f3d-b6a4-446b88b47ac4
      Bridge br-int
            fail_mode: secure
            Port "qvo28484b00-f0"
                tag: 1
                Interface"qvo28484b00-f0"
            Port "qvo61070289-31"
                tag: 1
                Interface"qvo61070289-31"
            Port "qvo3207417a-bd"
                tag: 1
                Interface"qvo3207417a-bd"
            Port patch-tun
                Interface patch-tun
                  type: patch
                  options: {peer=patch-int}
            Port br-int
                Interface br-int
                  type: internal
      Bridge br-tun
            Port patch-int
                Interface patch-int
                  type: patch
                  options: {peer=patch-tun}
            Port br-tun
                Interface br-tun
                  type: internal
            Port "gre-0a010102"
                Interface "gre-0a010102"
                  type: gre
                  options: {in_key=flow,local_ip="10.1.1.3", out_key=flow, remote_ip="10.1.1.2"}
      ovs_version: "1.11.0"

Linux网桥的配置



安装验证

    可以打开登录页面,并用配置的密码进行登录
    可以创建网络,实例
    配置的实例可以与外部网络互通



页: [1]
查看完整版本: OpenStack 部署总结之:在CentOS 6.5上使用RDO安装双结算结点的icehouse(Ml2+GRE)