用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的更多相关文章

  1. [转] OpenStack Kilo 更新日志

    OpenStack 2015.1.0 (Kilo)更新日志 原文: https://wiki.openstack.org/wiki/ReleaseNotes/Kilo/zh-hans 目录  [隐藏] ...

  2. Openstack 实现技术分解 (1) 开发环境 — Devstack 部署案例详解

    目录 目录 前言 系统环境 Devstack 下载源码 配置文件 local.conf & localrc 简易的环境脚本 openrc 部署 Devstack 自动化部署流程 部署案例 单节 ...

  3. 在 ML2 中配置 OVS flat network - 每天5分钟玩转 OpenStack(133)

    前面讨论了 OVS local network,今天开始学习 flat network. flat network 是不带 tag 的网络,宿主机的物理网卡通过网桥与 flat network 连接, ...

  4. 在 ML2 中配置 OVS vlan network - 每天5分钟玩转 OpenStack(136)

    前面我们已经学习了 OVS 的 local 网络 和 falt 网络,今天开始讨论 vlan 网络. vlan network 是带 tag 的网络. 在 Open vSwitch 实现方式下,不同 ...

  5. ML2 配置 OVS VxLAN - 每天5分钟玩转 OpenStack(146)

    今天我们开始学习 OVS 如何实现 Neutron VxLAN,关于 VxLAN 的概念以及 Linux Bridge 实现,大家可以参考前面相关章节. Open vSwitch 支持 VXLAN 和 ...

  6. Neutron 理解 (4): Neutron OVS OpenFlow 流表 和 L2 Population [Netruon OVS OpenFlow tables + L2 Population]

    学习 Neutron 系列文章: (1)Neutron 所实现的虚拟化网络 (2)Neutron OpenvSwitch + VLAN 虚拟网络 (3)Neutron OpenvSwitch + GR ...

  7. Neutron 理解(14):Neutron ML2 + Linux bridge + VxLAN 组网

    学习 Neutron 系列文章: (1)Neutron 所实现的虚拟化网络 (2)Neutron OpenvSwitch + VLAN 虚拟网络 (3)Neutron OpenvSwitch + GR ...

  8. 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 ...

  9. OVS ARP Responder – Theory and Practice

    Prefix In the GRE tunnels post I’ve explained how overlay networks are used for connectivity and ten ...

随机推荐

  1. widows&l ubuntu 简单互联——基于samba

    只是简单访问对方文件,就不上SSH了 windows端访问ubuntu: 要共享的文件夹右键 → 本地网络共享:共享此目录. 会提示你安装一个协议包,即samba(但此处默认安装包不完整),安装成功后 ...

  2. oauth 理解

    单点登录 对授权码模式的解读. 1. 用户访问客户端,客户端将请求认证服务器. 2. 用户选择是否给予客户端授权 3.用户授权后,认证服务器将用户导向客户端事先定义好的重定向的地址,同时会附上一个授权 ...

  3. 04XML CSS

    XML CSS 1. XML CSS <?xml-stylesheet  href ="样式表的URI"  type= "text/css" ?> ...

  4. Analysis Of The Causes Of Internal Symmetry Of Hydraulic Motor

    The main reasons why hydraulic motors have this symmetrical internal structure are as follows: The   ...

  5. jQuery动态移除和绑定事件

    function bindEvent() { //移除绑定事件 $('.btnsp').unbind('click'); //绑定事件 $('.btnsp').bind('click', functi ...

  6. redis中基本命令

    记录一下redis中的基本命令.redis中有redis-cli工具客户端,使用这个客户端来发送一些命令 一.redis-cli的使用  1.redis-cli使用之发送命令 2.redis-cli使 ...

  7. C++操作MYSQL遇到的一些问题

    首先 我使用的是 vcpkg<不知道的可以进行百度 可以剧透一下,这个对Visual Studio使用一些C++的轮子太方便了, 上面是我装的一些库<大大安利vcpkg 安装时一定要使用p ...

  8. [bzoj2806][Ctsc2012]Cheat(后缀自动机(SAM)+二分答案+单调队列优化dp)

    偷懒直接把bzoj的网页内容ctrlcv过来了 2806: [Ctsc2012]Cheat Time Limit: 20 Sec  Memory Limit: 256 MBSubmit: 1943   ...

  9. Linux网络配置出现的问题

    网络连接 : 选择桥接模式进入字符界面后,管理员登入后  ifconfig显示eth0和ol,但是不显示静态IP地址,即无inet.地址.广播.掩码 解决方案: 1.使用sudo dhclient e ...

  10. LNMP环境搭建网站

    系统:Centos7.4 一台服务器安装nginx.php.mysql 原理不是很懂,但实测如下两种环境下都能成功,这里做下记录: 1.一个干净的系统,从0开始完成所有步骤,完成LNMP搭建 2.已经 ...