首页 首页 云计算 查看内容

OpenStack L版本network troubleshooting

木马童年 2018-8-10 20:57 21 0

目前已经有很多介绍OpenStack新特性以及OpenStack网络详解等文章,但是对于Liberty的Network_Troubleshooting的文章还是很少。虽然L版本使用的plugin已经不是OpenvSwitch了,改成了Linuxbridge,性能并没有提高很多 ...

目前已经有很多介绍OpenStack新特性以及OpenStack网络详解等文章,但是对于Liberty的Network_Troubleshooting的文章还是很少。虽然L版本使用的plugin已经不是OpenvSwitch了,改成了Linuxbridge,性能并没有提高很多,rackspace提供理由如下Looking for reliability and stability,Less moving parts,Easier to troubleshoot这样已经使得Troubleshooting变得容易很多,但是网络部分仍然是最容易出错的部分。这篇文章是以真实的环境一步一步Troubleshooting的,几乎能解决所有的的常规网络问题。

我使用的网络架构如下图,但是我把controller和network节点放在一台机器上,compute节点单独一台机器(官网文档也是这么做的),一张管理+内部网络,一张外网网络。

注意点:如果你把一个网卡作为vxlan的end point,那么就不能作为一个外网的出口,因为加入到网桥的接口是作为二层接口来看待的,因此没有IP地址,也就是说网络节点没有了IP地址了,成为了为一台二层设备了,不能进行任何的三层(IP网络)操作了。

If eth1 is used for the vxlan tunnel end points, it can't also be used in a bridge ala provider_bridge_mappings. You should have a dedicated interface or a vlan interface off eth1 (i.e. Eth1.20) that is dedicated to the overlay traffic. Move the local_ip address to that interface on respective nodes. Verify that you can ping between nodes at each address. If this doesn't work, the Neutron pieces won't work.

下面是network节点的详细组件图,接下去的debug都是基于这些tap,port,linuxbridge进行的。提供了4张图,可以对应起来看。

安装完成之后,我们先看compute节点,出现了virbr0,这个是libvirt networking,为了debug方便可以disable libvirt networks,这对OpenStack网络没有影响。

链接如下:http://docs.openstack.org/liberty/networking-guide/misc_libvirt.html

操作之前确定服务是否正常启动

启动一个实例。绑定floating ip一直ping 8.8.8.8,但是我的floating ip状态不对,开始debug

在compute节点上运行brctl show,可以看到vxlan的id是63,一个tap是连接qdhcp的,一个是连接controller节点的。

Shell

1

tcpdump -'icmp' -i 'tapa50629db-ac'

可以看到有ping包从vxlan出去,进入controller节点,在controller的linuxbridge tap上也看到了ping包,那么说明ping包从compute节点到了controller节点。

在controller节点上sudo ip netns list,我们现在要去qrouter这个namespace上进行debug

可以看到出现qrouter这个namespace

Shell

1

sudo ip netns exec qrouter-ef746aab-677b-4868-92a9-b27962ffd7c0 ip a

可以看到这个qrouter的三个接口,可以对照上文的架构图分析,我对其中的一个接口进行tcpdump

Shell

1

sudo ip netns exec qrouter-ef746aab-677b-4868-92a9-b27962ffd7c0 tcpdump -i 'qr-df35811b-2c'

可以看到有instance发出的ping包,那么这个compute1的ping包确实到达了controller的qrouter的namespace里面,但是出不去,那么看一下qrouter的路由表

Shell

1

sudo ip netns exec qrouter-ef746aab-677b-4868-92a9-b27962ffd7c0 route -n

路由表正常,应该从qg这个接口出外网,继续tcpdump qg接口

Shell

1

sudo ip netns exec qrouter-ef746aab-677b-4868-92a9-b27962ffd7c0 tcpdump -i 'qg-49d398e7-c5'

ping也ping不通,那么instance过来的流量当然出不去

发现找不到192.168.51.97这个网关

那么我看一下linuxbridge的接口,brctl show,发现没有出去的接口

那么我需要手动加上外网接口 brctl addif brq494427aa-2d eth1(官网没有提到,可能是个bug)

那么我现在qrouter可以ping通外网了

加上这个接口eth1

Instance也ping通了

作者简介:

蒋暕青@上海宽带技术及应用工程研究中心:SDN技术实践者,大四北上思博伦实习半年,现工作地点上海

在不久的将来,多智时代一定会彻底走入我们的生活,有兴趣入行未来前沿产业的朋友,可以收藏多智时代,及时获取人工智能、大数据、云计算和物联网的前沿资讯和基础知识,让我们一起携手,引领人工智能的未来!

网络架构
0
为您推荐
云安全,为什么离不开可视性即服务?

云安全,为什么离不开可视性即服务?

无论您是一名网络管理员、安全管理员还是首席信息官,您是否考虑过如果不能对大部分网…...

云计算市场竞争越演越烈,腾讯云四大核心产品全面降价!

云计算市场竞争越演越烈,腾讯云四大核心产

1月2日,腾讯云宣布云服务器、云数据库、云存储和云安全四大核心产品全面调价,最高降…...

云计算还是 云“算计”?

云计算还是 云“算计”?

现在越来越多的公司都在讨论云计算的概念,工信部日前发布的发展意见中提到,到2019年…...

云计算为金融行业特别是银行业,带来了哪些机遇和收益?

云计算为金融行业特别是银行业,带来了哪些

云计算不仅仅是简单的服务器和存储器租赁,更深层次地,它提供了一种灵活、敏捷的以客…...

关于公有云隐私,我们必须知道哪三个问题

关于公有云隐私,我们必须知道哪三个问题

公有云与私有云之使用的辩论一直未有信息。对于公有云,大部分企业拒绝使用它的一个原…...

SAP CTO张侠:云安全并不很可怕

SAP CTO张侠:云安全并不很可怕

如今,云计算虽火,但云安全问题却成为拦在人们心里的一道坎。ForresterResearch调查…...

谷歌称人工智能芯片让他们省了15个数据中心!

谷歌称人工智能芯片让他们省了15个数据中心

谷歌神经网络芯片 谷歌的操作系统无疑是地球上最大的计算机网络,该系统由遍布四大洲…...

怎样使用云和大数据赢得黑客战争?

怎样使用云和大数据赢得黑客战争?

今天 ,惠普资深副总裁以及企业安全软件产品负责人Art Gilliand ,在2013年RSA安全大…...

全球链圈大咖云集,2018可信区块链峰会将于10月在京召开

全球链圈大咖云集,2018可信区块链峰会将于

在政策、技术、市场的多重推动下,区块链技术正在加速与实体经济融合,如何推进区块链…...

阿里集团CTO王坚:云计算是一种公共服务

阿里集团CTO王坚:云计算是一种公共服务

“过去,你必须把一台计算机搬回家才能使用计算;今天,你可以通过互联网来享受计算,…...