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 ...
随机推荐
- ar - 建立, 修改档案或从档案中抽取成员.
总览 ar [-]{dmpqrtx}[abcfilNoPsSuvV] [membername] [count] archive files... 描述 GNU 组织的ar 程序 用于建立, 修改档案 ...
- ubuntu 安装virt-manager
sudo apt-get install qemu-kvm libvirt-bin virt-manager bridge-utils
- sqlite3接口简要说明
本文介绍一下SQLite C/C++接口. 早期的SQLite C/C++接口只有5个接口函数, 很容易学习. 新版本的SQLite新增了很多功能, 目前大概有185个API接口.本文介绍一些核心的A ...
- ES5和ES6新的操作数组的方法(常用)
// 普通的for循环// var arr = ['张飞', '赵云', '马超', '刘备']// for (var i = 0; i < arr.length; i++) {// conso ...
- 导航栏 active 跟随鼠标效果
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- 零基础入门学习Python(15)--格式化
前言 上节课我们介绍了字符串N多种奇葩方法的用法,但是我们唯独漏掉了format方法,那为何不把format方法和上节课的内容一起讲呢? 因为小甲鱼觉得format方法,跟今天的主题是如出一辙的,都是 ...
- 每日命令:(12)sar
sar(System Activity Reporter系统活动情况报告)是目前 Linux 上最为全面的系统性能分析工具之一,可以从多方面对系统的活动进行报告, 包括:文件的读写情况.系统调用的使用 ...
- stark组件之时间插件(九)
在模型model中用的都是时间字段DateTimeField字段,在后台处理中可以看到,在生成modelform过程中,继承的是BaseModelForm,而其对时间字段加入了特殊的date_time ...
- TensorFlow - 相关 API
来自:https://cloud.tencent.com/developer/labs/lab/10324 TensorFlow - 相关 API TensorFlow 相关函数理解 任务时间:时间未 ...
- STM32串口程序的一般配置方法
#include "stm32f10x.h" /************************************************ 该程序讲解串口程序的一般配置方法: ...