RDO部署多节点OpenStack Havana(OVS+GRE)
RDO是由红帽RedHat公司推出的部署OpenStack集群的一个基于Puppet的部署工具,可以很快地通过RDO部署一套复杂的OpenStack环境,当前的RDO默认情况下,使用Neutron进行网络管理,默认部署的是OpenStack Havana版本。
本文参考:RDO官方文档 陈沙克博客
1、物理环境
双网卡物理机三台、外网路由器一台、内网交换机一台
NIC1接路由器,NIC2接交换机
2、安装操作系统
RDO只支持RedHat或者基于RedHat衍生的Linux版本,如RHEL, Fedora, CentOS等
本环境中使用CentOS6.4的最小化安装
下载地址:http://mirror.bit.edu.cn/centos/6.4/isos/x86_64/CentOS-6.4-x86_64-minimal.iso
3、修改网卡名称
采购的物理机器是DELL R410服务器,默认网卡名称为em1、em2,对于习惯了eth的我来说,不太方便,所以修改了一下网卡名称,步骤如下:
修改/etc/udev/rules.d/70-persistent-net.rules
|
1
2
3
4
5
|
# PCI device 0x14e4:0x163b (bnx2) (custom name provided by external tool) SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="d4:ae:53:c4:ff:22", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0" # PCI device 0x14e4:0x163b (bnx2) (custom name provided by external tool) SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="d4:ae:53:c4:ff:23", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1" |
重命名并修改网卡配置文件
|
1
2
|
mv /etc/sysconfig/network-scripts/ifcfg-em1 /etc/sysconfig/network-scripts/ifcfg-eth0 mv /etc/sysconfig/network-scripts/ifcfg-em2 /etc/sysconfig/network-scripts/ifcfg-eth1 |
将其中的DEVICE=em1改为eth0,DEVICE=em2改为eth1
修改完之后重启机器。
4、配置IP地址
| 主机名 | 角色 | NIC1 | IP地址(外网) | NIC2 | IP地址(内网) |
| controller | 控制节点、网络节点 | eth0 | 10.68.19.61 | eht1 | 50.50.0.11 |
| compute01 | 计算节点 | eth0 | 10.68.19.62 | eth1 | 50.50.0.12 |
| compute02 | 计算节点 | eth0 | 10.68.19.63 | eth1 | 50.50.0.13 |
网卡配置文件示例:
NIC1(/etc/sysconfig/network-scripts/ifcfg-eth0)
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
DEVICE=eth0 TYPE=Ethernet UUID=bd14706a-5f1c-4d86-a3eb-362b4a89da26 ONBOOT=yes NM_CONTROLLED="no" BOOTPROTO=none IPADDR=10.68.19.61 NETMASK=255.255.255.0 GATEWAY=10.68.19.1 HWADDR=90:B1:1C:23:72:0E DEFROUTE=yes PEERDNS=yes PEERROUTES=yes IPV4_FAILURE_FATAL=yes IPV6INIT=no NIC2(/etc/sysconfig/network-scripts/ifcfg-eth1)1DEVICE=eth1 HWADDR=90:B1:1C:23:72:0F TYPE=Ethernet UUID=2f620087-adf5-4bff-acf8-ff20c16fee25 ONBOOT=yes NM_CONTROLLED="no" BOOTPROTO=none IPADDR=50.50.0.11 NETMASK=255.255.255.0 |
5、创建cinder-volumes
这一步可以无需配置,而采用RDO自动设置的分区,但是本环境中控制节点上有一块专用的硬盘/dev/sdb1用来做Cinder存储,所以预先配置
|
1
2
|
pvcreate /dev/sdb1 vgcreate cinder-volumes /dev/sdb1 |
6、安装Packstack
SSH到controller节点上
|
1
2
3
|
yum install -y openstack-packstack yum -y update |
注意:更新完成之后,重启机器
7、创建并修改应答文件
|
1
|
packstack --gen-answer-file venu_answers.txt |
修改以下内容:
|
1
2
3
4
5
6
|
CONFIG_CINDER_VOLUMES_CREATE=n CONFIG_NTP_SERVERS=0.uk.pool.ntp.org CONFIG_NOVA_COMPUTE_HOSTS=10.68.19.62,10.68.19.63 CONFIG_NEUTRON_OVS_TENANT_NETWORK_TYPE=gre CONFIG_NEUTRON_OVS_TUNNEL_RANGES=1:1000 CONFIG_NEUTRON_OVS_TUNNEL_IF=eth1 |
注意:若之前未手动创建cinder-volume的话,请去掉:CONFIG_CINDER_VOLUMES_CREATE=n
8、执行安装
|
1
|
packstack --answer-file=venu_answers.txt |
安装过程中因为网络原因可能会发生多次中断,重复执行即可。
9、创建br-ex
RDO不会自动创建br-ex,所以需要手动创建,否则,虚拟机不能访问外网
在网络节点(本环境中即控制节点)上进行修改:
|
1
2
3
4
5
6
7
8
9
|
vi /etc/sysconfig/network-scripts/ifcfg-br-ex DEVICE=br-ex IPADDR=10.68.19.61 PREFIX=16 GATEWAY=10.68.19.1 DNS1=8.8.8.8 ONBOOT=yes 修改NIC1 |
|
1
2
3
4
5
|
vi /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 ONBOOT=yes HWADDR=D4:AE:52:C4:FF:35 |
添加Port并重启网络
|
1
|
ovs-vsctl add-port br-ex eth0; service network restart |
正常的网桥信息如下:
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
[root@controller ~]# ovs-vsctl show Bridge br-ex Port br-ex Interface br-ex type: internal Port "eth0" Interface "eth0" Bridge br-int Port br-int Interface br-int type: internal Port patch-tun Interface patch-tun type: patch options: {peer=patch-int} Bridge br-tun Port "gre-1" Interface "gre-1" type: gre options: {in_key=flow, local_ip="50.50.0.11", out_key=flow, remote_ip="50.50.0.13"} Port "gre-2" Interface "gre-2" type: gre options: {in_key=flow, local_ip="50.50.0.11", out_key=flow, remote_ip="50.50.0.12"} 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" |
10、登陆dashboard
WEB控制台的地址:http://10.68.19.61/dashboard
账号:admin
密码:XXXX(部署成功后会生成一个keystonerc_admin文件,密码在其中)
创建网络、租户、启动第一个实例等,参考:http://www.ustack.com/blog/neutron_intro/
11、TroubleShooting
11.1、VM不能获取IP的问题
这个问题是OpenStack的经典问题,RDO安装出现这种问题可能性已经小多了,但是还是存在
查看/var/log/neutron/dhcp-agent.log,确认是否有以下错误出现:
|
1
|
2013-11-15 17:18:07.785 9808 WARNING neutron.agent.linux.dhcp [-] FAILED VERSION REQUIREMENT FOR DNSMASQ. DHCP AGENT MAY NOT RUN CORRECTLY! Please ensure that its version is 2.59 or above! |
|
1
2
3
4
5
|
RuntimeError: 2013-11-15 18:02:39.974 9808 TRACE neutron.agent.dhcp_agent Command: ['sudo', 'neutron-rootwrap', '/etc/neutron/rootwrap.conf', 'ip', 'netns', 'add', 'qdhcp-85c85884-3d8f-4f2a-8f81-97f1aa686837'] 2013-11-15 18:02:39.974 9808 TRACE neutron.agent.dhcp_agent Exit code: 255 2013-11-15 18:02:39.974 9808 TRACE neutron.agent.dhcp_agent Stdout: '' 2013-11-15 18:02:39.974 9808 TRACE neutron.agent.dhcp_agent Stderr: 'Bind /proc/self/ns/net -> /var/run/netns/qdhcp-85c85884-3d8f-4f2a-8f81-97f1aa686837 failed: No such file or directory\n' |
解决办法:下载并安装新版本的dnsmasq
|
1
2
|
rpm -Uvh dnsmasq-2.65-1.el6.rfx.x86_64.rpm |
创建实例的时候请使用Ubuntu的镜像测试,请勿使用Cirros。
11.2、http://10.68.19.61:5000/v2.0等API接口不能访问
解决办法:
在确认OpenStack其他情况都正常的前提下,检查是否防火墙未开,打开方法:
|
1
2
3
|
/sbin/iptables -I INPUT -p tcp --dport 5000 -j ACCEPT #开启5000端口 /etc/rc.d/init.d/iptables save #保存配置 /etc/rc.d/init.d/iptables restart #重启服务 |
RDO部署多节点OpenStack Havana(OVS+GRE)的更多相关文章
- [转载]OpenStack OVS GRE/VXLAN网络
学习或者使用OpenStack普遍有这样的现象:50%的时间花费在了网络部分:30%的时间花费在了存储方面:20%的时间花费在了计算方面.OpenStack网络是不得不逾越的鸿沟,接下来我们一起尝 ...
- OpenStack OVS GRE/VXLAN
https://www.jianshu.com/p/0b52de73a4b3 OpenStack OVS GRE/VXLAN网络 学习或者使用OpenStack普遍有这样的现象:50%的时间花费在了网 ...
- OpenStack Havana 部署在Ubuntu 12.04 Server 【OVS+GRE】(三)——计算节点的安装
序:OpenStack Havana 部署在Ubuntu 12.04 Server [OVS+GRE] 计算节点: 1.准备结点 安装好ubuntu 12.04 Server 64bits后,进入ro ...
- OpenStack Havana 部署在Ubuntu 12.04 Server 【OVS+GRE】(二)——网络节点的安装
序:OpenStack Havana 部署在Ubuntu 12.04 Server [OVS+GRE] 网络节点: 1.安装前更新系统 安装好ubuntu 12.04 Server 64bits后,进 ...
- OpenStack Havana 部署在Ubuntu 12.04 Server 【OVS+GRE】(一)——控制节点的安装
序:OpenStack Havana 部署在Ubuntu 12.04 Server [OVS+GRE] 控制节点: 1.准备Ubuntu 安装好Ubuntu12.04 server 64bits后 ...
- OpenStack Havana 部署在Ubuntu 12.04 Server 【OVS+GRE】——序
OpenStack Havana 部署在Ubuntu 12.04 Server [OVS+GRE](一)——控制节点的安装 OpenStack Havana 部署在Ubuntu 12.04 Serve ...
- 探索 OpenStack 之(7):Neutron 深入探索之 Open vSwitch (OVS) + GRE 之 Neutron节点篇
0. 测试环境 硬件环境:还是使用四节点OpenStack部署环境,参见 http://www.cnblogs.com/sammyliu/p/4190843.html OpenStack配置: ten ...
- 探索 OpenStack 之(8):Neutron 深入探索之 OVS + GRE 之 完整网络流程 篇
前两篇博文分别研究了Compute节点和Neutron节点内部的网络架构.本文通过一些典型流程案例来分析具体网络流程过程. 0. 环境 同 学习OpenStack之(7):Neutron 深入学习之 ...
- 学习OpenStack之(6):Neutron 深入学习之 OVS + GRE 之 Compute node 篇
0.环境 硬件环境见上一篇博客:学习OpenStack之(5):在Mac上部署Juno版本OpenStack 四节点环境 OpenStack网络配置:一个tenant, 2个虚机 Type drive ...
随机推荐
- kubernetes master 高可用一键部署
#地址见:https://github.com/SILLKY/kubernetes-pro/tree/master/Master-HA#包括其他一些文件,适当版本1.6.1#!/bin/bash ho ...
- fullcalendar案例一<原>
fullcalendar是个很强大的日历控件,可以用它进行排班.排会议.拍任务,很直观,用户体验良好. 看下效果图: #parse("index/head.vm") <lin ...
- 内核定时器timer_list
内核在时钟中断发生后执行检测各个定时器是否到期,到期后的定时器处理函数将作为软中断在底半部执行.实质上,时钟中断处理程序会唤起TIMER_SOFTIRQ软中断,运行当前处理器上到期的所有定时器.lin ...
- sysctl -p 重新加载文件/etc/sysctl.conf -a 所有参数 -w 临时指定
sysctl命令用于运行时配置内核参数,这些参数位于/proc/sys目录下.sysctl配置与显示在/proc/sys目录中的内核参数.可以用sysctl来设置或重新设置联网功能,如IP转发.IP碎 ...
- Oracle的sql语句中关键字冲突用双引号
select distinc user from instrument where created>"TO_DATE"('2015-02-05 12:00:00', 'yyy ...
- 图像处理之3d算法----2d转3d算法介绍
http://www.3dov.cn/html/c/37/index.html http://news.ifeng.com/a/20151117/46275220_0.shtml 磁力矩阵 http: ...
- maven 打包可执行jar的两种方法
1.修改pom.xml增加如下内容 <build> <pluginManagement> <plugins> <plugin> <groupId& ...
- 使用定时器判断确保某个标签有值才执行方法, 控制js代码执行先后顺序
使用定时器判断确保某个标签有值才执行方法: var wait = setInterval(function(){ var diqu = $("#diqu").val(); //确保 ...
- window设置TortoiseGit连接git不用每次输入用户名和密码
1. 在Windows中添加一个HOME环境变量,值为%USERPROFILE%,如下图: 2. 在“开始>运行(快捷键:win+r)”中打开%Home%,然后在目录下新建一个名为“_netrc ...
- 记录下一个自己不常用的关键字-yield
yield 这个关键字 一直很少用,也不知道具体用途.按照习惯就查询了下MSDN. 意思大致是这样的:在迭代器块中用于向枚举数对象提供值或发出迭代结束信号 表现形式:1. yield return & ...