本节开始我们将学习 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 实现虚拟交换节的基本原理。

上图中,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。

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

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

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

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

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

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

配置 linux-bridge mechanism driver - 每天5分钟玩转 OpenStack(77)的更多相关文章

  1. Linux 如何实现 VLAN - 每天5分钟玩转 OpenStack(12)

    LAN 表示 Local Area Network,本地局域网,通常使用 Hub 和 Switch 来连接 LAN 中的计算机.一般来说,两台计算机连入同一个 Hub 或者 Switch 时,它们就在 ...

  2. 详解 ML2 Core Plugin(II) - 每天5分钟玩转 OpenStack(72)

    上一节我们讨论了 ML2 Plugin 解决的问题,本节将继续研究 ML2 的架构. ML2 对二层网络进行抽象和建模,引入了 type driver 和 mechansim driver. 这两类 ...

  3. 学习笔记之Linux Shell脚本教程:30分钟玩转Shell脚本编程

    Linux Shell脚本教程:30分钟玩转Shell脚本编程 http://c.biancheng.net/cpp/shell/

  4. 每天5分钟 玩转OpenStack 目录列表

    最近在学习 OpenStack 的相关知识,一直苦于 OpenStack 的体系庞大以及复杂程度,学习没有进度,停滞不前.偶然机会在 51CTO 上发现了一个热点的专题关于 OpenStack 的,题 ...

  5. 实践 Neutron 前的两个准备工作 - 每天5分钟玩转 OpenStack(78)

    上一节配置了 linux-bridge mechanism driver,本节再做两个准备工作: 1. 检视初始的网络状态.2. 了解 linux bridge 环境中的各种网络设备. 初始网络状态 ...

  6. Neutron 功能概述 - 每天5分钟玩转 OpenStack(65)

    从今天开始,我们将学习 OpenStack 的 Networking Service,Neutron.Neutron 的难度会比前面所有模块都大一些,内容也多一些.为了帮助大家更好的掌握 Neutor ...

  7. 写在最前面 - 每天5分钟玩转 OpenStack(1)

    <每天5分钟玩转 OpenStack>是一个 OpenStack 教程,这是第 1 篇. 这个教程有下面两个特点: 系统讲解 OpenStack 从架构到各个组件:从整体到细节逐一讨论 重 ...

  8. 动手实践虚拟网络 - 每天5分钟玩转 OpenStack(10)

    本节将演示如何在实验环境中实现下图所示的虚拟网络 配置 Linux Bridge br0 编辑 /etc/network/interfaces,配置 br0. 下面用 vimdiff 展示了对 /et ...

  9. 配置 L2 Population - 每天5分钟玩转 OpenStack(114)

    前面我们学习了L2 Population 的原理,今天讨论如何在 Neutron 中配置和启用此特性. 目前 L2 Population 支持 VXLAN with Linux bridge 和 VX ...

随机推荐

  1. 2-Sat问题

    二分+2-Sat 判断是否可行 输出字典序最小的解 输出字典序可行解 其实这些都是小问题,最重要的是建图,请看论文. 特殊的建边方式,如果a b是一对,a必须选,那么就是b->a建边. HDU ...

  2. Ubuntu Java 环境变量

    方法1:修改/etc/profile 文件所有用户的 shell都有权使用这些环境变量<1>在 shell终端执行命令:vi /etc/profile<2>在 profile文 ...

  3. 移动端Web适配的两种做法思路总结

    看了几篇文章,理一下网易跟淘宝移动端适配的思路,主要是参考 从网易与淘宝的font-size思考前端设计稿与工作流 像素相关概念 物理像素(physical pixel) 一个物理像素是显示器(手机屏 ...

  4. LabVIEW 吸星大法 - 看见的好东西都是我的(上篇)

    前言 写了多年的LabVIEW程序,你是否面临这样的问题 总是在做一些重复的工作,感觉很没有意思: 总在不停的写代码,做类似的控件,实现相同的功能,丝毫没有成就感: 总在天加班,没有时间去提高自己; ...

  5. iOS 10 开发问题总结

    兼容iOS 10 资料整理笔记   1.Notification(通知) 自从Notification被引入之后,苹果就不断的更新优化,但这些更新优化只是小打小闹,直至现在iOS 10开始真正的进行大 ...

  6. 后台PageVo中字段赋值与前台datagrid字段获取

    后台PageVo中字段的geter与setter函数需根据pageVo的字段自动生成,前台字段与后台字段名保持一致. 数据返回到前台时,datagrid会根据字段名隐射到相应的getter与sette ...

  7. 对Java中正则表达式的一些理解

    2016-12-11 22:26:18 正则表达式的意义:正则表达式是一个字符串处理工具,可以对字符串进行查找/提取/分割/替换等等,也可以对用户输入的内容进行匹配. 常用的预定义字符就不解释了,网上 ...

  8. 下订单存储过程 - MYSQL

    BEGIN DECLARE smark INT; DECLARE orderId INT; /*查询课程是否存在,如果不存在就不执行订单操作了*/ ) FROM t_course WHERE id = ...

  9. Android 中关于ListView分割线的设置

    今天发现许多App上的listview的item之间的分割线都只显示了右边一部分,而左边的那一半则没有,第一反应则是给分割线设置一张背景图片就ok了: android:divider="@m ...

  10. Unity3D UGUI之ScrollView弹簧效果

    unity3d版本5.3.2p4 UGUI中ScrollView包含Viewport(Content) ScrollView包含脚本.其Movement Type一共3个选项.Elastic就是弹簧效 ...