ovs ml2
用openvswitch + ml2 构建vlan类型的tenant/project 网络
配置ml2 和 openvswitch_agent
配置 /etc/neutron/plugins/ml2/ml2_conf.ini
[root@controller01 ~]# cat /etc/neutron/plugins/ml2/ml2_conf.ini | grep -v '#' | grep -v '^$'
[DEFAULT]
[ml2]
type_drivers = flat,vlan
tenant_network_types = vlan
mechanism_drivers = openvswitch,l2population
extension_drivers = port_security
[ml2_type_flat]
flat_networks = external
[ml2_type_geneve]
[ml2_type_gre]
[ml2_type_vlan]
network_vlan_ranges = external,v100:100:199
[ml2_type_vxlan]
[securitygroup]
enable_ipset = True
配置 /etc/neutron/plugins/ml2/openvswitch_agent.ini
[root@controller01 ~]# cat /etc/neutron/plugins/ml2/openvswitch_agent.ini | grep -v '#' | grep -v '^$'
[DEFAULT]
[agent]
drop_flows_on_start = false
[ovs]
integration_bridge = br-int
bridge_mappings = v100:br-v100,external:br-ex
[securitygroup]
firewall_driver = neutron.agent.linux.iptables_firewall.OVSHybridIptablesFirewallDriver
enable_security_group = True
第一个文件是配置ml2的,注意
network_vlan_ranges = external,v100:100:199
这里指定了external网络没有vlan, v100网络的vlan ID是100-199。external 是flat类型的,它和v100是我们为物理网络起的名字,具体这个名字代表哪个网络,在ovs-agent的配置文件中指定,如下:
bridge_mappings = v100:br-v100,external:br-ex
这里就指定external,v100其实就是br-v100和br-ex这两个vswitch代表的物理网络。这两个物理网络要实现建立起来。
注意这里的配置是在controller节点上,所以才有external网络,在compute节点上是没有external网络的,因此compute的bridge mapping 是v100:br-v100并且不需要建立br-ex。
创建指定的ovs-br
ovs-vsctl add-br br-ex
ovs-vsctl add-br br-v100
ovs-vsctl add-port br-ex ens35
ovs-vsctl add-port br-v100 ens33
在compute节点就只创建br-v100
ovs-vsctl add-br br-v100
ovs-vsctl add-port br-v100 ens33
重启neutron 和 nova-compute
compute节点
systemctl restart openstack-nova-compute.service
systemctl restart openvswitch
systemctl restart neutron-openvswitch-agent
controller节点
systemctl restart openvswitch openstack-nova-api.service neutron-server.service \
neutron-openvswitch-agent neutron-dhcp-agent.service \
neutron-metadata-agent.service neutron-l3-agent.service
创建网络和虚机
首先创建external网络
. /opt/keystone/admin.openrc
neutron net-create --shared --provider:physical_network external --provider:network_type flat external
neutron subnet-create --name external \
--allocation-pool start=10.79.148.38,end=10.79.148.40 \
--dns-nameserver 64.104.123.245 --gateway 10.79.148.1 \
provider 10.79.148.0/24
注意是用admin创建的,因为external网络所有人都可以访问属于数据中心网络
其次创建tenant 网络
. /opt/keystone/demo.openrc
neutron net-create selfservice
neutron subnet-create --name selfservice \
--dns-nameserver 64.104.123.245 --gateway 192.168.100.1 \
selfservice 192.168.100.0/24
. /opt/keystone/admin.openrc
neutron net-update provider --router:external
. /opt/keystone/demo.openrc
neutron router-create router
neutron router-interface-add router selfservice
neutron router-gateway-set router provider
ovs ml2的更多相关文章
- [转] OpenStack Kilo 更新日志
OpenStack 2015.1.0 (Kilo)更新日志 原文: https://wiki.openstack.org/wiki/ReleaseNotes/Kilo/zh-hans 目录 [隐藏] ...
- Openstack 实现技术分解 (1) 开发环境 — Devstack 部署案例详解
目录 目录 前言 系统环境 Devstack 下载源码 配置文件 local.conf & localrc 简易的环境脚本 openrc 部署 Devstack 自动化部署流程 部署案例 单节 ...
- 在 ML2 中配置 OVS flat network - 每天5分钟玩转 OpenStack(133)
前面讨论了 OVS local network,今天开始学习 flat network. flat network 是不带 tag 的网络,宿主机的物理网卡通过网桥与 flat network 连接, ...
- 在 ML2 中配置 OVS vlan network - 每天5分钟玩转 OpenStack(136)
前面我们已经学习了 OVS 的 local 网络 和 falt 网络,今天开始讨论 vlan 网络. vlan network 是带 tag 的网络. 在 Open vSwitch 实现方式下,不同 ...
- ML2 配置 OVS VxLAN - 每天5分钟玩转 OpenStack(146)
今天我们开始学习 OVS 如何实现 Neutron VxLAN,关于 VxLAN 的概念以及 Linux Bridge 实现,大家可以参考前面相关章节. Open vSwitch 支持 VXLAN 和 ...
- Neutron 理解 (4): Neutron OVS OpenFlow 流表 和 L2 Population [Netruon OVS OpenFlow tables + L2 Population]
学习 Neutron 系列文章: (1)Neutron 所实现的虚拟化网络 (2)Neutron OpenvSwitch + VLAN 虚拟网络 (3)Neutron OpenvSwitch + GR ...
- Neutron 理解(14):Neutron ML2 + Linux bridge + VxLAN 组网
学习 Neutron 系列文章: (1)Neutron 所实现的虚拟化网络 (2)Neutron OpenvSwitch + VLAN 虚拟网络 (3)Neutron OpenvSwitch + GR ...
- Openstack Neutron OVS ARP Responder
ARP – Why do we need it? In any environment, be it the physical data-center, your home, or a virtual ...
- OVS ARP Responder – Theory and Practice
Prefix In the GRE tunnels post I’ve explained how overlay networks are used for connectivity and ten ...
随机推荐
- android ListView 分析(一)
需要了解的内容 1. listview中的getItemAtPosition与Adapter的getItem的position的区别 listView中的getItemAtPosit ...
- Uml 建模 一(类图建模和startuml的使用)
本文将分三个部分介绍Uml建模:Uml建模的作用.类图.startuml的使用 Uml的作用 本文以java为例介绍Uml,在当前的软件开发中大多数使用面向对象开发(OO),面向对象的就是将现实世界中 ...
- 最后一个非零数字(POJ 1604、POJ 1150、POJ 3406)
POJ中有些问题给出了一个长数字序列(即序列中的数字非常多),这个长数字序列的生成有一定的规律,要求求出这个长数字序列中某个位上的数字是多少.这种问题通过分析,找出规律就容易解决. 例如,N!是一个非 ...
- dxf组码
值 说明 -5 APP:永久反应器链 -4 APP:条件运算符(仅与 ssget 一起使用) -3 APP:扩展数据 (XDATA) 标记(固定) -2 APP:图元名参照(固定) -1 APP:图元 ...
- Mysql--查询相关语句总结
一.查询各个部门的最高工资及姓名,其中薪资字段是字符串类型: 优化前: SELECT *FROM (SELECT a.`deptno`, a.`sal`, a.`ename` FROM emp a O ...
- 跳转QQ聊天窗口
1. 点击按钮跳转QQ聊天窗口,若不是好友,先加好友 <a href=" tencent://message/?uin=QQ号" target="_blank&qu ...
- $.fn.extend的用法
$.fn.extend({ sfMessages: function(m) { $("p.tips").html('<span class="circle ioc ...
- JavaScript小技巧整理篇(非常全)
能够为大家提供这些简短而实用的JavaScript技巧来提高大家编程能力,这对于我来说是件很开心的事.每天仅花上不到2分钟的时间中,你将可 以读遍JavaScript这门可怕的语言所呈现给我们的特性: ...
- tomcat时间与系统时间不一致问题
我在部署应用到centos系统上的tomcat服务器中运行,发现操作系统的时间和tomcat中的访问日志的时间与系统时间不一致,但是查看当前操作系统的时区也是CST时区(中国标准时区). 查看系统的时 ...
- winform 实现两个datagridview之间的数据联动
再做数据库开发的时候,经常会遇到表带上明细表,比如,一个学校有好多系,每个系又有好多专业.... 在winform中,都会使用datagridview来显示数据,现在就来说说如何实现之间的联动.比如现 ...