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 ...
随机推荐
- spring 整合struts
1.例子:未被spring整合 struts.xml 的配置文件 <constant name="struts.enable.DynamicMethodInvocation" ...
- Python学习 Day 3 字符串 编码 list tuple 循环 dict set
字符串和编码 字符 ASCII Unicode UTF-8 A 1000001 00000000 01000001 1000001 中 x 01001110 00101101 11100100 101 ...
- Redis缓存Object,List对象
一.到目前为止(jedis-2.2.0.jar),在Jedis中其实并没有提供这样的API对对象,或者是List对象的直接缓存,即并没有如下类似的API jedis.set(String key, O ...
- jsdk之微信分享流程
.步骤一:绑定域名 先登录微信公众平台进入“公众号设置”的“功能设置”里填写“JS接口安全域名”. 备注:登录后可在“开发者中心”查看对应的接口权限. .步骤二:引入JS文件 在需要调用JS接口的页面 ...
- OpenGL VAO, VBO 使用简介
参照代码样例: // This function takes in a vertex, color, index and type array // And does the initializati ...
- Python_练习_VS清理器
#导入os import os #创建列表放入后缀 d=[ '.txt','obj','tlog','lastbuildstate','idb','pdb','pch','res','ilk','sd ...
- 类方法__setattr__,__delattr__,__getattr__
__getattr__,_delattr_,_getattr_ class Foo: x = 1 def __init__(self, y): self.y = y def __getattr__(s ...
- webpack的详细介绍和使用
// 一个常见的`webpack`配置文件 const webpack = require('webpack'); const HtmlWebpackPlugin = require('html-we ...
- 第2节 mapreduce深入学习:8、手机流量汇总求和
第2节 mapreduce深入学习:8.手机流量汇总求和 例子:MapReduce综合练习之上网流量统计. 数据格式参见资料夹 需求一:统计求和 统计每个手机号的上行流量总和,下行流量总和,上行总流量 ...
- note for git
1.download https://git-for-windows.github.io/ 2.command add file to git: git add filename & git ...