您的位置:首页 > 理论基础 > 计算机网络

openstack M 版 neutron网络组件基础入门 推荐

2016-12-29 11:40 435 查看
在我们openstack学习当中,网络组件neutron无疑是令很多人很难理解的,可以说要深入理解
了neutron组件,你基本完成了openstack 60%的学习,存储方面只要不涉及到分布式,剩下的基本都比较简单了





相信很多人第一次看到这种图的时候都会被吓一跳,没错,这就是openstack neutron组件里面涉及到的数据流程,里面涉及到的知识点很多很多

Openstack网络模型中的几个概念网络:
Management Network: 管理网络,连接所有节点。
External Network: 外部网络,虚拟机通过此接口连通外部网络
Data Network: 虚拟机网络,提供之间内部数据线通讯的网络.


这里搭建过程略过,可以参考之前写的L版本的搭建过程,这次环境如下,一个控制节点和一个计算节点





上面是控制节点,三张网卡
eno1777736 10.10.80.133 作为外部网络
eno33554960 10.10.10.130 作为管理网络
eno50332184 作为虚拟机网络

支持的网络类型有 flat vlan vxlan gre 而具体实现的这些的则有Linux bridge 和openvswitch

这里我们以Linux bridge 来实现flat网络为例来说明,其他基本差不多,更多内容可以参阅官方文档,这里有趣的是在最新版本 N ,官方已经提供了 ansible来部署openstack的指导说明

Flat网络,顾名思义是平面网络,要求宿主机的物理网卡直接与Linux bridge连接,,每个flat network都会独占一个物理网卡,关键参数配置如下
[root@controller ~]# vim /etc/neutron/plugins/ml2/ml2_conf.ini
tenant_network_types = flat

[ml2_type_flat]

flat_networks = martin_flat  #这个名字自定义
[root@controller ~]# vim /etc/neutron/plugins/ml2/linuxbridge_agent.ini

physical_interface_mappings = martin_flat:eno50332184 #名字保持与上面一样,后面是flat网卡名称


我们打开dashboard来创建第一个flat网络

















接下来观察这些操作在服务器上面引起了什么变化








接下来我们来创建第一台虚拟机并关联到flat网络













观察计算节点的变化情况











dhcp功能

Neutron提供dhcp服务的组件是dhcp agent ,在网络节点上面运行,默认是通过dnsmasq是实现dhcp功能

配置文件在
[root@controller ~]# vim /etc/neutron/dhcp_agent.ini

interface_driver = neutron.agent.linux.interface.BridgeInterfaceDriver








ns-26782a82-61和tap26782a82-61是一对veth pair,他们将9225f654-522b-478e-80bc-06bf2948cd08 连接到网桥 brq9225f654-52上面




以上这些都只是openstack neutron网络组件最基本的东西,里面的内容实在是太多了,涉及到的知识点也很多 如 liunx bridge tap设备 虚拟对 namespace openvswitch 虚拟交换机 虚拟路由器 iptables 高可用 dvr 等等,包括我自己还有很多的东西需要学习,但是大家无需害怕,就从最简单的学习起,学会了一个,其他你照着模仿应该也能学会


最后给大家看一下 通过openvswith构建的vxlan网络时,两个虚拟机通讯的流程,有兴趣的可以自己深入一下




openvswitch流表结构


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  kvm openstack docker