在 ML2 中 enable local network - 天天5分钟玩转 OpenStack(79)

前面完成了一系列准备工做,本节开始将建立各类 Neutorn 网络,咱们首先讨论 local network。linux

 

local network 的特色是不会与宿主机的任何物理网卡相连,也不关联任何的 VLAN ID。网络

对于每一个 local netwrok,ML2 linux-bridge 会建立一个 bridge,instance 的 tap 设备会链接到 bridge。位于同一个 local network 的 instance 会链接到相同的 bridge,这样 instance 之间就能够通讯了。spa

由于 bridge 没有与物理网卡链接,因此 instance 没法与宿主机以外的网络通讯。 同时由于每一个 local network 有本身的 bridge,bridge 之间是没有连通的,因此两个 local network 之间也不能通讯,即便它们位于同一宿主机上。配置

下图是 local network 的示例:plugin

image525.png

  • 建立了两个 local network,分别对应两个网桥 brqXXXX 和 brqYYYY。network

  • VM0 和 VM1 经过 tap0 和 tap1 链接到 brqXXXX。im

  • VM2 经过 tap2 链接到 brqYYYY。配置文件

  • VM0 与 VM1 在同一个 local network中,它们之间能够通讯。通信

  • VM2 位于另外一个 local network,因为 brqXXXX 和 brqYYYY 没有联通,因此 VM2 没法与 VM0 和 VM1 通讯。blob

下面咱们将一步一步实现 local network。

在 ML2 配置中 enable local network

建立 local 网络以前请先确保 ML2 已经加载了 local type driver。 ML2 的配置文件位于 /etc/neutron/plugins/ml2/ml2_conf.ini。

type_drivers 告诉 ML2 加载全部 5 种网络的 type driver。

type_drivers = local,flat,vlan,gre,vxlan

这样全部类型的网络咱们均可以建立(虽然在本节只建立 local 网络)。

普通用户和 admin 均可以经过 CLI 或者 Web GUI 建立网络,但只有 amdin 才能指定网络的 type,因此须要用 tenant_network_types 告诉 ML2 当普通用户在本身的 Tenant(Project)中建立网络时,默认建立哪一种 type 的网络,这里 type 是 local。

tenant_network_types = local

tenant_network_types 能够指定多种 type,好比:

tenant_network_types = vlan, local

其做用是先建立 vlan 网络,当没有 vlan 可建立时(好比 vlan id 用完),便建立 local 网络。

当配置文件发生了变化,须要重启 Neutron 相关服务使之生效。

下一节将建立第一个 local network。

 

blob.png

相关文章
相关标签/搜索