当前位置: 首页 > news >正文

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

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

本节开始我们将学习 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 功能的实践,我们将看到这个网络状态会不断的演变和发展。

 

转载于:https://my.oschina.net/u/2397560/blog/736925

相关文章:

  • Android listview的item设定高度
  • 解决使用Handler时Can't create handler inside thread that has not called Looper.prepare()
  • Spring注解解释(@Primary、@Qualifier)
  • storm-kafka(storm spout作为kafka的消费端)
  • js没有重载
  • 【索引】Oracle之不可见索引和虚拟索引的比对
  • 分区
  • class文件概述
  • 关于 LVM 逻辑卷管理
  • mysql学习之旅-数据库自动备份和手动恢复
  • 寻找二叉查找树中的下一个结点
  • nginx的安装及基本配置,及多个域名服务
  • 滚动字幕标记marquee/marquee
  • 观察者模式实现非直接耦合
  • 怎么把Maven项目转为动态Web项目?
  • Android Volley源码解析
  • CSS选择器——伪元素选择器之处理父元素高度及外边距溢出
  • Cumulo 的 ClojureScript 模块已经成型
  • Java IO学习笔记一
  • mysql外键的使用
  • 不上全站https的网站你们就等着被恶心死吧
  • 如何在GitHub上创建个人博客
  • 听说你叫Java(二)–Servlet请求
  • 一、python与pycharm的安装
  • 以太坊客户端Geth命令参数详解
  • ​MPV,汽车产品里一个特殊品类的进化过程
  • ​马来语翻译中文去哪比较好?
  • $分析了六十多年间100万字的政府工作报告,我看到了这样的变迁
  • (30)数组元素和与数字和的绝对差
  • (C#)获取字符编码的类
  • (附源码)ssm智慧社区管理系统 毕业设计 101635
  • (剑指Offer)面试题34:丑数
  • (欧拉)openEuler系统添加网卡文件配置流程、(欧拉)openEuler系统手动配置ipv6地址流程、(欧拉)openEuler系统网络管理说明
  • (四)c52学习之旅-流水LED灯
  • (转)Linux NTP配置详解 (Network Time Protocol)
  • (转)Unity3DUnity3D在android下调试
  • (转贴)用VML开发工作流设计器 UCML.NET工作流管理系统
  • .net core webapi 大文件上传到wwwroot文件夹
  • .NET DevOps 接入指南 | 1. GitLab 安装
  • .NET 读取 JSON格式的数据
  • .net 怎么循环得到数组里的值_关于js数组
  • .Net(C#)常用转换byte转uint32、byte转float等
  • .net6Api后台+uniapp导出Excel
  • :如何用SQL脚本保存存储过程返回的结果集
  • @cacheable 是否缓存成功_让我们来学习学习SpringCache分布式缓存,为什么用?
  • @Mapper作用
  • [AHOI2009]中国象棋 DP,递推,组合数
  • [ccc3.0][数字钥匙] UWB配置和使用(二)
  • [C语言]——函数递归
  • [HarmonyOS]第一课:从简单的页面开始
  • [IDF]啥?
  • [JS入门到进阶] 前端开发不能写undefined?这是误区!
  • [nginx] LEMP 架构随笔
  • [NOIP 2015] Day.1 T1 神奇的幻方 [模拟]
  • [poj 2001]Shortest Prefixes [Trie]