openstack 端口转发里的虚拟端口可以对应多个物理端口吗

新手园地& & & 硬件问题Linux系统管理Linux网络问题Linux环境编程Linux桌面系统国产LinuxBSD& & & BSD文档中心AIX& & & 新手入门& & & AIX文档中心& & & 资源下载& & & Power高级应用& & & IBM存储AS400Solaris& & & Solaris文档中心HP-UX& & & HP文档中心SCO UNIX& & & SCO文档中心互操作专区IRIXTru64 UNIXMac OS X门户网站运维集群和高可用服务器应用监控和防护虚拟化技术架构设计行业应用和管理服务器及硬件技术& & & 服务器资源下载云计算& & & 云计算文档中心& & & 云计算业界& & & 云计算资源下载存储备份& & & 存储文档中心& & & 存储业界& & & 存储资源下载& & & Symantec技术交流区安全技术网络技术& & & 网络技术文档中心C/C++& & & GUI编程& & & Functional编程内核源码& & & 内核问题移动开发& & & 移动开发技术资料ShellPerlJava& & & Java文档中心PHP& & & php文档中心Python& & & Python文档中心RubyCPU与编译器嵌入式开发驱动开发Web开发VoIP开发技术MySQL& & & MySQL文档中心SybaseOraclePostgreSQLDB2Informix数据仓库与数据挖掘NoSQL技术IT业界新闻与评论IT职业生涯& & & 猎头招聘IT图书与评论& & & CU技术图书大系& & & Linux书友会二手交易下载共享Linux文档专区IT培训与认证& & & 培训交流& & & 认证培训清茶斋投资理财运动地带快乐数码摄影& & & 摄影器材& & & 摄影比赛专区IT爱车族旅游天下站务交流版主会议室博客SNS站务交流区CU活动专区& & & Power活动专区& & & 拍卖交流区频道交流区
白手起家, 积分 44, 距离下一级还需 156 积分
论坛徽章:0
使用如下命令创建了一个routerneutron router-create demo-router
neutron router-interface-add demo-router demo-subnet
neutron router-gateway-set demo-router ext-net
复制代码在检查router状态时,发现网关的端口状态是down
[root@controller ~]# neutron port-list
+--------------------------------------+------+-------------------+--------------------------------------------------------------------------------------+
| id& && && && && && && && && && && &&&| name | mac_address& && & | fixed_ips& && && && && && && && && && && && && && && && && && && && && && && && && & |
+--------------------------------------+------+-------------------+--------------------------------------------------------------------------------------+
| 1-499a-bf87-4cd36cb9386d |& && &| fa:16:3e:f7:da:fb | {&subnet_id&: &1a53f882--be01-331c4c90ecf1&, &ip_address&: &192.168.3.100&} |
| 29e5b0e6-51eb-4fc0-ada1-e6cb |& && &| fa:16:3e:2f:85:a5 | {&subnet_id&: &ae-49f6-927d-22c49452d8fe&, &ip_address&: &192.168.128.2&} |
| 2e2efad0-1ba0-454e-9ad6-6eda |& && &| fa:16:3e:5d:67:1d | {&subnet_id&: &1a53f882--be01-331c4c90ecf1&, &ip_address&: &192.168.3.101&} |
| 6a3c84c4-59f2-43da-9c00-4caec905699d |& && &| fa:16:3e:6b:f0:d3 | {&subnet_id&: &ae-49f6-927d-22c49452d8fe&, &ip_address&: &192.168.128.1&} |
| 89d354ad-55cc-4a7b-9504-64aef95911de |& && &| fa:16:3e:a2:86:28 | {&subnet_id&: &ae-49f6-927d-22c49452d8fe&, &ip_address&: &192.168.128.3&} |
+--------------------------------------+------+-------------------+--------------------------------------------------------------------------------------+
[root@controller ~]# neutron port-show&&1-499a-bf87-4cd36cb9386d
+-----------------------+--------------------------------------------------------------------------------------+
| Field& && && && && &&&| Value& && && && && && && && && && && && && && && && && && && && && && && && && && &&&|
+-----------------------+--------------------------------------------------------------------------------------+
| admin_state_up& && &&&| True& && && && && && && && && && && && && && && && && && && && && && && && && && && &|
| allowed_address_pairs |& && && && && && && && && && && && && && && && && && && && && && && && && && && && &&&|
| binding:host_id& && & | network& && && && && && && && && && && && && && && && && && && && && && && && && && &|
| binding:profile& && & | {}& && && && && && && && && && && && && && && && && && && && && && && && && && && &&&|
| binding:vif_details& &| {&port_filter&: true, &ovs_hybrid_plug&: true}& && && && && && && && && && && && && &|
| binding:vif_type& && &| ovs& && && && && && && && && && && && && && && && && && && && && && && && && && && & |
| binding:vnic_type& &&&| normal& && && && && && && && && && && && && && && && && && && && && && && && && && & |
| device_id& && && && & | 1e0f7d5a-1e67-4d15-b7ab-713c4ffa4d23& && && && && && && && && && && && && && && && & |
| device_owner& && && & | network:router_gateway& && && && && && && && && && && && && && && && && && && && && &|
| extra_dhcp_opts& && & |& && && && && && && && && && && && && && && && && && && && && && && && && && && && &&&|
| fixed_ips& && && && & | {&subnet_id&: &1a53f882--be01-331c4c90ecf1&, &ip_address&: &192.168.3.100&} |
| id& && && && && && &&&| 1-499a-bf87-4cd36cb9386d& && && && && && && && && && && && && && && && & |
| mac_address& && && &&&| fa:16:3e:f7:da:fb& && && && && && && && && && && && && && && && && && && && && && &&&|
| name& && && && && && &|& && && && && && && && && && && && && && && && && && && && && && && && && && && && &&&|
| network_id& && && && &| d8-4f68-9c27-9d0db107d746& && && && && && && && && && && && && && && && & |
| security_groups& && & |& && && && && && && && && && && && && && && && && && && && && && && && && && && && &&&|
| status& && && && && & | DOWN& && && && && && && && && && && && && && && && && && && && && && && && && && && &|
| tenant_id& && && && & |& && && && && && && && && && && && && && && && && && && && && && && && && && && && &&&|
+-----------------------+--------------------------------------------------------------------------------------+
&&nbsp|&&nbsp&&nbsp|&&nbsp&&nbsp|&&nbsp&&nbsp|&&nbsp
论坛徽章:26
我的路由器看上去也是down,但用启来很正常,所以,以用为主吧,能用就行
白手起家, 积分 103, 距离下一级还需 97 积分
论坛徽章:0
恩,我的也是端口down,但是使用正常
而且如果不用命令行创建就有问题
当时也没管,认为可能是openstack自己的bug
白手起家, 积分 5, 距离下一级还需 195 积分
论坛徽章:0
Unrecognized attribute(s) 'allowed_address_pairs'
--这个参数无法识别,怎么破解?& && && && && && &
谢谢!~~& && && && &&&
北京盛拓优讯信息技术有限公司. 版权所有 京ICP备号 北京市公安局海淀分局网监中心备案编号:22
广播电视节目制作经营许可证(京) 字第1234号
中国互联网协会会员&&联系我们:
感谢所有关心和支持过ChinaUnix的朋友们
转载本站内容请注明原作者名及出处用户名:zhanguo1110
文章数:155
评论数:24
访问量:138414
注册日期:
阅读量:1297
阅读量:3317
阅读量:586218
阅读量:472270
51CTO推荐博文
在宿主机里删除一个虚拟机关联的网卡、端口及桥1)、用ovs-vsctl命令查看宿主机的所有的桥信息[root@os-node4 ~]#ovs-vsctl show169dc0d6-0c44-42df-9bd5-5e1f380a8704&&& Bridge br-int&&&&&&& Port int-br-int&&&&&&&&&&& Interface int-br-int&&&&&&& Port phy-br-int&&&&&&&&&&& Interface phy-br-int&&&&&&& Port "em2"&&&&&&&&&&& Interface "em2"&&&&&&& Port br-int&&&&&&&&&&& Interface br-int&&&&&&&&&&&&&&& type: internal&&&&&&& Port "qvo2bb4fd90-f1"&&&&&&&&&&& tag: 1&&&&&&&&&&& Interface"qvo2bb4fd90-f1"&&& ovs_version: "1.11.0"2)、删除br-int桥下的qvo2bb4fd90-f1端口[root@os-node4 ~]#ovs-vsctl del-port br-int qvo2bb4fd90-f13)、再次查看桥信息刚才的那个端口已经删除[root@os-node4 ~]#ovs-vsctl show169dc0d6-0c44-42df-9bd5-5e1f380a8704&&& Bridge br-int&&&&&&& Port int-br-int&&&&&&&&&&& Interface int-br-int&&&&&&& Port phy-br-int&&&&&&&&&&& Interface phy-br-int&&&&&&& Port "em2"&&&&&&&&&&& Interface "em2"&&&&&&& Port br-int&&&&&&&&&&& Interface br-int&&&&&&&&&&&&&&& type: internal&&& ovs_version: "1.11.0"&3)、用ifconfig查看全局接口信息[root@os-node4 ~]#ifconfig | grep& HWaddrbr-int&&& Link encap:Ethernet& HWaddr 74:86:7A:D9:05:19& em1&&&&&& Link encap:Ethernet& HWaddr 74:86:7A:D9:05:18& em2&&&&&& Link encap:Ethernet& HWaddr 74:86:7A:D9:05:19& int-br-int Linkencap:Ethernet& HWaddr 42:D4:65:7C:EE:5E& phy-br-int Linkencap:Ethernet& HWaddrAE:70:7F:C8:4E:53& qbr2bb4fd90-f1Link encap:Ethernet& HWaddrF2:6E:69:E9:7B:62& qvb2bb4fd90-f1Link encap:Ethernet& HWaddrF2:6E:69:E9:7B:62& qvo2bb4fd90-f1Link encap:Ethernet& HWaddr F2:12:9A:D9:85:58& tap2bb4fd90-f1Link encap:Ethernet& HWaddrFE:16:3E:0F:72:20& virbr0&&& Link encap:Ethernet& HWaddr 52:54:00:07:56:A2& 4)、把虚拟机关联的4个端口qbr2bb4fd90-f1qvb2bb4fd90-f1 qvo2bb4fd90-f1 tap2bb4fd90-f1都down掉[root@os-node4 ~]#ifconfig qbr2bb4fd90-f1 down [root@os-node4 ~]#ifconfig qvb2bb4fd90-f1 down [root@os-node4 ~]#ifconfig qvo2bb4fd90-f1 down [root@os-node4 ~]#ifconfig tap2bb4fd90-f1 down 5)、再次在全局下查看端口信息[root@os-node4 ~]#ifconfig | grep& HWaddrbr-int&&& Link encap:Ethernet& HWaddr 74:86:7A:D9:05:19& em1&&&&&& Link encap:Ethernet& HWaddr 74:86:7A:D9:05:18& em2&&&&&& Link encap:Ethernet& HWaddr 74:86:7A:D9:05:19& int-br-int Linkencap:Ethernet& HWaddr42:D4:65:7C:EE:5E& phy-br-int Linkencap:Ethernet& HWaddrAE:70:7F:C8:4E:53& virbr0&&& Link encap:Ethernet& HWaddr 52:54:00:07:56:A26)、用brctl命令查看所有的桥信息[root@os-node4~]#& brctl showbridge name&&&& bridge id&&&&&&&&&&&&&& STP enabled&&&& interfacesqbr2bb4fd90-f1&&&&&&&&& e97b62&&&&&& no&&&&&&&&&&&&& qvb2bb4fd90-f1&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&tap2bb4fd90-f1virbr0&&&&&&&&& 756a2&&&&&& yes&&&&&&&&&&&& virbr0-nic[root@os-node4 ~]#7)、删除虚拟机的桥qbr2bb4fd90-f1[root@os-node4 ~]#brctl delbr qbr2bb4fd90-f1[root@os-node4~]#& brctl showbridge name&&&& bridge id&&&&&&&&&&&&&& STP enabled&&&& interfacesvirbr0&&&&&&&&& 756a2&&&&&& yes&&&&&&&&&&&& virbr0-nic[root@os-node4 ~]#8)、如果可以的话重启下服务器网卡[root@os-node4 ~]#service network restart本文出自 “” 博客,请务必保留此出处
了这篇文章
类别:┆阅读(0)┆评论(0)无网不通,有网则顺:OpenStack Neutron解析
发表于 16:33|
作者龚永生
摘要:了解Neutron的功能和部署方式,是企业OpenStack系统的规划、部署和运维需要修炼的内功。在本文中,Neutron“大师兄”龚永生为我们详细介绍了Neutron的技术原理和发展方向,主要涉及使用、部署和运维三个层面的内容。
【编者按】Neutron是OpenStac环境的核心组件之一,了解Neutron的功能和部署方式,是企业OpenStack系统的规划、部署和运维需要修炼的内功。在本文中,Neutron“大师兄”龚永生为我们详细介绍了Neutron的技术原理和发展方向,主要涉及使用、部署和运维三个层面的内容。一、Neutron功能介绍作为OpenStack网络模块,Neutron是分布式的OpenStack Iaas环境核心组件之一。Neutron,或者是Neutron的前身,是为了在分布式环境下面给虚拟机提供网卡,这是它的最基本的要求。此外,Neutron还要虚拟化网络功能的其它元件,比如抽象交换机,抽象负载均衡器,抽象防火墙,抽象NAT。Neutron这个团队是先做API,做模型,先把API画下来,达成比较一致的时候才能往下实现,实现数据库和相关agent等其他的东西。Agent一般会是Linux里面的相关技术来完成。有了网络元件的虚拟化之后Neutron还要完成把这些虚拟网络元件连起来。大家分散在这儿能干嘛,什么东西都不能干。这是Neutron要干的事情,而且这个在以后会大量的占用Neutron社区人员的工作。对Neutron来说,图1-1所示图1-1我们先看的是虚拟化网络组件,网络端口,ACL,或者是交换机,或者是路由器等等,再是它们之间的互联形成的虚拟网络拓扑,这是最终用户或者是我们在虚拟化看到的景象。在物理层看到外部网络,物理机,交换机,路由器,连接各种网络的网线等。虚拟化网络最终还是要通过物理层面承载,所以我们部署的时候必须要掌握物理之间它们怎么互联,物理网络方面必须快速,稳定。这样我们在Neutron构建虚拟化的网络拓扑的时候才能有一个可靠的承载手段。总的来说,Neutron要做的事情包括:虚拟化网卡,虚拟化各种网络部件,在虚拟化元件之间互联,把虚拟化和物理网络上打通,这样虚拟化的东西才能走。二、Neutron体系结构Neutron主要是用来做模型的,如图1-2所示图1-2Neutron这个TEAM的首要工作是定义API,API的核心是它的数据模型。端口在数据模型中占有重要位置。端口首要是作为虚拟机的网卡,然后是路由器端口,端口上面还绑安全组,形成规则来提供端口的访问控制。端口是绑在每个网络上面的,网络能给端口跟别的网络上的端口提供隔离。端口的IP地址从子网来获取。浮动IP是在公网上可以访问的一个IP,在绑定到某个端口之后,这个端口就可以从外界访问了。除了上图显示的一些模型外,防火墙、负载均衡器等都是Neutron模型的一部分。Neutron的功能组件里头,Neutron Server用来绑定所有的模型。它通过消息队列和所有的agent进行通信,后者真正地把网络模型物理落地。Neutron Server保存的是虚拟网络TOP的模型,今后的版本要把Neutron Server劈开,一半来实现API,另一半和agents进行交互。网络,端口,子网模型由核心API实现,另外一些API通过扩展实现。如图1-3所示图1-3 整个OpenStack是插件式,Neutron Server也是如此。Neutron中有核心插件和服务插件的区分,这有社区的实现,也有各个厂商的实现。部署OpenStack先要定义这些网络:管理网络,数据网络,存储网络,公有网络,甚至内部网络。不管是Nova API,还是Neutron Server,都在控制节点上部署。如图1-4,图1-5和图1-6所示。提供三层网络服务的我们称之为网络节点,防火墙,路由器和DHCP agent等等都在网络节点上。你要访问虚拟机,你要是公有网。我们看部署方案二,它把计算和存储合二为一。因为计算节点服务器可能有很多槽,这些槽不要浪费了,做一个分布式存储,这样把存储节点合并起来,但是网络节点还在这儿。为什么把网络节点分开?网络节点还是有它的好处,网络安全等等是有特殊性要求,在这上面单独部署还是挺好。方案三中进一步把网络节点上的功能也并入到计算节点上,这种部署方案可以简化云计算方案中的硬件规范,但是需要做好隔离,这样网络、存储和计算不会互相竞争CPU,内存和IO资源。图1-4& 图1-5& 图1-6三、Neutron的管理员特权在Neutron中有两种角色,一个角色是管理员,另一个角色是普通用户。由图1-3 Neutron的层次图来看,上面是API,有核心API和扩展API。命令neutron
ext-list可以看到这个系统有哪些扩展,每个扩展大概是什么意思。因为有了扩展才会有相应的功能。还有超级管理员比较常见的就是neutron agent list,这个命令很关键。还有网络绑定,也只有管理员才能看见,如图1-7所示图1-7图1-7上标注部分只能管理员看到,用户看不到。网络绑定是指虚拟网络在物理网络上面是什么类型。一般的支持五种网络类型,Gre,vxlan,vlan,flat,local。Physical_network对于vlan,flat类型,指定桥接的bridge。创建一个虚拟网络,这些字段系统会给普通住户填写,但是如果想创建成某个类型,创建到某个物理网络上面去,管理员是有特权的。用这个特权我们看看创建外部网络和子网。如图1-8所示图1-8我们在部署完一个云之后,管理员上去的第一个任务就是创建它的外部网络,网络类型是local。管理员还要从网络部门拿到一部分的IP地址段和网关,再来创建外部网络子网。四、Neutron的普通用户工作流程普通用户的工作流程大概有7步。如图1-9,图1-10和图1-11所示图1-9图1-10&&图1-11我们脑袋里面有这个图,对运维来说很关键。我们就知道大概在物理世界会产生什么问题,会起到什么效果。第一步是创建虚拟网络,Neutron会把它绑定到某个隧道,第二步是创造子网,指定IP地址段、网关,这时在物理上就会有DHCP服务器起来。第三个创建路由器,系统就会把它绑定到某个节点。第四步就是把这个路由器和子网连起来,这个虚拟路由器就有一个端口会连到虚拟网络,第五步是设置路由器的外部网关,这时网络节点上就有一个虚拟设备把虚拟路由器和外部网络连接起来。第六步就是做安全规则,第七步就是利用安全组和子网创建虚拟机。整个链条如果很熟悉,排除故障就很简单。五、Neutron运维运维人员很多时候是必须要有管理权限,管理人员就是运维。如果我们定义清楚,也可以定义出自己的角色来,把Neutron的角色分工细分一下。下面我们介绍几个在运维中常出现的问题和排错手段。1.&
节点down了,如图1-12所示&&图1-12刚刚部署完了,一看上去全部是down掉了,down掉了怎么办?我要查整个部署。一查没有部署这个没有部署那个,这时日志很关键。所以在部署的时候要统一日志收集,你在上面就可以看到各种日志。看Rabbitmq,文件句柄太少了,或者是硬盘太小了,都会影响到rabbitmq接受agent的连接。还有检查Server,看Neutron Server是不是出问题了。最后就是不要出现时间不同步的问题。2.&
floatingip不通,如图1-13所示& 图1-13先看看VM是否分配到了固定IP, 是否能通到VM网络的网关。再查询它的安全组规则,看看是否阻止了某种网络流量。再看看这个IP所在的ROUTER是什么,再看看router所在的网络节点,进入这个路由器所在的名字空间,察看floatingip是否存在。软件方面有时候重启也是能解决问题的。3.&
L3节点错误,如图1-14所示&&图1-14L3出错了怎么办?这时可能需要迁移。首先我们把这个L3 agent设为down,down完之后看看这个节点上所有的router。 接着把所有router的管理状态设为down, 然后又设为up, 这时系统就会重新绑定router到其它网络节点。这个过程很复杂,人工去做会影响比较长的时间。现在很多友商用监控,如果L3 agent出错, 启动自动脚本进行迁移。 在Kilo版中, HA router也是一个不错的选择。4.&
还有一个端口绑定失败,如图1-15所示& 图1-15这是经常遇到的一个问题。在我的产品中,如果出现绑定失败,就直接抛出错误,这样问题就会第一时间暴露出来。如果不这样做,直接把“binding_failure”写在数据库里面,虚拟机就拿不到IP。怎么解决呢?在Neutron里面只要把这个host_id先置一下,再置回去,这时候能让Neutron agent重新绑定端口,设置正确的TAG.5.&
要注意TAG 4095端口,如图1-16所示& 图1-16我们确认port不在Neutron Server中,然后删除ovs& port。如果在Neutron
Server中有,就要重新改一下,让它的binding重新做。做OpenStack运维,整个网络流程是必须掌握的。我们看Neutron链路分析,如图1-17所示& 图1-17有观点说,对虚拟机的启动过程进行详细分析后就掌握一半的OpenStack,我认为,把上图分析透了就掌握一半以上的Neutron。在运维方面,我一直在想能不能有像一个机器人一样的东西。有个知识库,发现问题报告出来,甚至能自动修复,这也是我经常做梦想实现的。其实网络方面还有很深的水,这里只是讲了一部分。SDN,NFV或者是DVDK,都是有意思的东西。(责编/周建丁)作者简介:龚永生,九州云架构师。多年Linux系统开发,J2EE产品和云计算相关技术研发经验。目前活跃在OpenStack社区的各个项目上,主要技术方向是虚拟网络项目Neutron,是Neutron项目早期的主要贡献者之一。【预告】将于7月26-27日在北京友谊宾馆召开。机器学习与模式识别、大数据的机遇与挑战、人工智能与认知科学、智能机器人四个主题专家云集。人工智能产品库将同步上线,预约咨询:QQ:。欢迎关注。
推荐阅读相关主题:
CSDN官方微信
扫描二维码,向CSDN吐槽
微信号:CSDNnews
相关热门文章Openstack 虚拟机访问外网 - 简书
Openstack 虚拟机访问外网
openstack 虚拟机访问外网,假设内网网段为10.0.0.0/24, 外网网段为59.66.19.0/241.首先在keystone网页上,在admin(not project)上创建一个network(指定flat模式),network创建好后设置子网:这里我设的是59.66.19.190到59.66.19.200的网段,刚设置时不需要指定router_gateway,2.创建完外网之后,进入project,创建私网(10.0.0.2,10.0.254)3.创建router,把内外网连接到router,这是会创建router_gateway在router上看到私网是有红色的删除接口的,外网没有,(如果有,在绑定floating ip时会遇到no port available的问题)4.创建instance,指定私网ip,绑定外网ip,假设私网为10.0.0.3, 外网为59.66.19.1935.此时,能在运行openstack的主机上看到外网的router_gateway对应的虚拟端口,假定你的router_gateway的name为b90b4b33-a57c,那么会看到一个tapb90b4b33-a5的端口6.创建一个bridge,指定为br0,把访问外网的eth0,加到这个br0里,指定br0的ip为eth0的ip,同时删除eth0的ip(与上面提到的外面同一网段)7.把tapb90b4b33-a5端口加入到br0。这时从外面能ping 同虚拟机即193的地址。8.在keystone网页上设置外网的子网的gateway ip 为这个外网的网关ip,同时在虚拟机里修改/etc/resolv.conf的nameserver 8.8.8.8 配置dns此时就能从虚拟机访问外网啦!!!还有一个问题就是,虽然你可以使用这个floating ip ssh进去虚拟机,但虚拟机的其他端口你不能访问这个时候就要用到iptables 做ip转换。首先因为私网在主机上会产生一个网桥,假设为brq0bbc378d-68(可以使用# brctl show 查看),给这个网桥配置内网地址,比如10.0.0.10这时就能用10的地址ping通10.0.0.3网址。然后使用iptables 做地址转换iptables -t nat -A PREROUTING -d 59.66.19.193 -j DNAT --to-destination 10.0.0.3iptables -t nat -A POSTROUTING -d 10.0.0.3 -j SNAT --to 59.66.19.193这样就将目的地址为59.66.19.193的访问,转发到10.0.0.3,同时不受端口限制

我要回帖

更多关于 openstack 端口 的文章

 

随机推荐