配置 linux-bridge mechanism driver - 每天5分钟玩转 OpenStack(77)

配置 linux-bridge mechanism driver - 每天5分钟玩转 OpenStack(77)

本节开始我们将学习 Linux Bridge 如何实现 Neutron 的各种功能。
首先需要配置 linux-bridge mechanism driver。

Neutorn ML2 plugin 默认使用的 mechanism driver 是 open vswitch 而不是 linux bridge。那是否还有研究 linux bridge 的必要呢?
我的答案是:很有必要!

原因如下:

  1. linux bridge 技术非常成熟,而且高效,所以业界很多 OpenStack 方案采用的是 linux bridge,比如 Rackspace 的 private cloud。

  2. open vswitch 实现的 Neutron 虚拟网络较为复杂,不易理解;而 linux bridge 方案更直观。先理解 linux bridge 方案后再学习 open vswitch 方案会更容易。并且可以通过两种方案的对比更加深入地理解 Neutron 网络。

在深入学习之前,我们先复习一下 linux bridge 实现虚拟交换节的基本原理。

配置 linux-bridge mechanism driver - 每天5分钟玩转 OpenStack(77)

上图中,br0 是 linux bridge,br0 充当虚拟交换机的作用,负责将物理网卡 eth0 和虚拟网卡 tap 设备 vnet0/vent1 连接到同一个二层网络,实现虚拟机 VM1 和 VM2,以及虚拟机与外网之间的通信。

关于 linux bridge 更详细的内容请参考“预备知识 -> 网络虚拟化” 相关章节。

配置 linux-bridge mechanism driver

要在 Neutron 中使用 linux bridge,首先需要配置 linux-bridge mechanism driver。 Neutron 默认使用 ML2 作为 core plugin,其配置位于 /etc/neutron/neutron.conf。

配置 linux-bridge mechanism driver - 每天5分钟玩转 OpenStack(77)

控制节点和计算节点都需要在各自的 neutron.conf 中配置 core_plugin 选项。

然后需要让 ML2 使用 linux-bridge mechanism driver。 ML2 的配置文件位于 /etc/neutron/plugins/ml2/ml2_conf.ini。

配置 linux-bridge mechanism driver - 每天5分钟玩转 OpenStack(77)

mechanism_drivers 选项指明当前节点可以使用的 mechanism driver,这里可以指定多种 driver,ML2 会负责加载。 上面的配置指明我们只使用 linux-bridge driver。

控制节点和计算节点都需要在各自的 ml2_conf.ini 中配置 mechanism_drivers 选项。

Neutron 服务正常启动后,所有节点上都会运行 neutron-linuxbridge-agent

配置 linux-bridge mechanism driver - 每天5分钟玩转 OpenStack(77)

linux-bridge mechanism driver 已经配置完毕,下一节会检视当前的网络状态。
随着各种 Neutron 功能的实践,我们将看到这个网络状态会不断的演变和发展。

 

配置 linux-bridge mechanism driver - 每天5分钟玩转 OpenStack(77)

上一篇:CentOS安装mysql*.rpm提示conflicts with file from package的解决办法


下一篇:2021阿里云开发者大会|【云原生数据库:一站式数据服务】分论坛即将开启