启用 Open vSwitch - 每天5分钟玩转 OpenStack(127)

Linux Bridge 和 Open vSwitch 是目前 OpenStack 中使用最广泛的两种虚机交换机技术。

前面各章节我们已经学习了如何用 Linux Bridge 作为 ML2 mechanism driver 实现 Neutron 网络。
今天开始我们将详细讨论如何用 Open vSwitch 实现 Neutron。

实验环境两节点的网卡分配方式与 Linux Bridge 一致,如下所示:

  1. 控制节点三个网卡(eth0, eth1, eth2),计算节点两网卡(eth0, eth1)。
  2. 合并 Management 和 API 网络,使用 eth0,IP 段为 192.168.104.0/24。
  3. VM 网络使用 eht1。
  4. 控制节点的 eth2 与 External 网络连接,IP 段为 10.10.10.0/24。

网络拓扑

实验环境的网络拓扑如下图所示

这个图在 Linux Bridge 实现中也看到过,唯一的区别是: 对于节点中的 “Virtual Network Switch” 我们将用 Open vSwitch 替换掉 Linux Bridge。

配置 openvswitch mechanism driver

要将 Liunx Bridge 切换成 Open vSwitch,首先需要安装 Open vSwitch 的 agent。
修改 devstack 的 local.conf:

重新运行 ./stack,devstack 会自动下载并安装 Open vSwitch。

接下来就可以修改 ML2 的配置文件 /etc/neutron/plugins/ml2/ml2_conf.ini,设置使用 openvswitch mechanism driver。

控制节点和计算节点都需要按照上面的方法安装并配置 Open vSwitch。

Neutron 服务重启后,可以通过 neutron agent-list 命令查看到 neutron-openvswitch-agent 已经在两个节点上运行。

下一节查看当前网络的状态并介绍 Open vSwitch 涉及的各种网络设备。

时间: 2024-08-10 23:25:33

启用 Open vSwitch - 每天5分钟玩转 OpenStack(127)的相关文章

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

<每天5分钟玩转 OpenStack>是一个 OpenStack 教程,这是第 1 篇. 这个教程有下面两个特点: 系统讲解 OpenStack 从架构到各个组件:从整体到细节逐一讨论 重实践并兼顾理论 主要从实际操作的角度带着大家学习 OpenStack. 为啥要写这个? 简单回答是:因为OpenStack 学习难度大,但如果掌握了价值会很大 先做一个自我介绍吧. 本人网名CloudMan,在 IT 这个行当已经摸爬滚打了十多年,05年之前是搞上层应用开发的,那时候 Java 比较火,所以

创建 Pool & VIP - 每天5分钟玩转 OpenStack(122)

上节完成了 LBaaS 配置,今天我们开始实现如下 LBaaS 环境. 环境描述如下:1. 创建一个 Pool "web servers".2. 两个 pool member "WEB1" 和 "WEB2",均为运行 Ubuntu cloud image 的 instance.3. load balancer VIP 与 floating IP 关联.4. 位于外网的 client 通过 floating IP 外网访问 web server.

每天5分钟 玩转OpenStack

最近在学习OpenStack的相关知识,一直苦于OpenStack的体系庞大以及复杂程度,学习没有进度,停滞不前.偶然机会在51CTO上发现了一个热点的专题关于OpenStack的,题目叫做<每天5分钟 玩转OpenStack>,抱着试试的态度看了几篇,被文章的内容和书写风格吸引了,内容全面,思路清晰,简单易懂,关键是每篇博文的内容很少,绝对是一泡大便的功夫.每周一.周三.周五定时更新,微信也有同步更新.不过大神在博客园cnblogs上的博文没有目录,每次翻阅的时候甚是费劲,可能是大神太忙了,

cloud-init 典型应用 - 每天5分钟玩转 OpenStack(174)

本节介绍几个 cloud-init 的典型应用:设置 hostanme,设置用户初始密码,安装软件. 设置 hostname cloud-init 默认会将 instance 的名字设置为 hostname.但这样不太方便,有时希望能够将二者分开,可利用 cloud-init 的set_hostname 模块实现.set_hostname 它会查询 metadata 中 hostname 信息,默认值就是 instance 的名字.我们可以指定自己的 hostname,方法是将下面的内容传给 c

学习 OpenStack 的方法论 - 每天5分钟玩转 OpenStack(150)

作为 OpenStack 的核心教程,我们已经到了最后总结的部分. OpenStack 目前已经有好几十个模块,本教程讨论的是最最重要的核心模块:Keystone,Nova,Glance,Cinder 和 Neutron.请大家看下图: 此图截自 https://www.openstack.org/software/project-navigator/,这是 OpenStack 官方定义的 6 个 Core Service.每个模块都会从三个维度来衡量: ADOPTION - 采用度 MATUR

配置 LBaaS - 每天5分钟玩转 OpenStack(121)

上一节学习了 Neutron LBaaS 的原理,今天开始实践.首先在配置中启用 LBaaS 服务. Neutron 通过 lbaas plugin 和 lbaas agent 提供 LBaaS 服务. lbaas plugin 与 Neutron Server 一起运行在控制节点上. lbaas agent 运行在网络节点上. 对于我们的实验环境,控制节点和网络节点是一个,都是 devstack-controller. 配置 LBaaS agent Neutron 配置 LBaaS agent

OVS 中的各种网络设备 - 每天5分钟玩转 OpenStack(128)

上一节我们启用了 Open vSwitch,本节将查看当前的网络状态并介绍 Open vSwitch 涉及的各种网络设备 初始网络状态 查看一下当前的网络状态. 控制节点 ifconfig 显示控制节点上有三个网桥 br-ex,br-int 和 br-tun. 从命名上看我们大致能猜出他们的用途: br-ex连接外部(external)网络的网桥 br-int集成(integration)网桥,所有 instance 的虚拟网卡和其他虚拟网络设备都将连接到该网桥. br-tun隧道(tunnel

Metadata Service 架构详解 - 每天5分钟玩转 OpenStack(165)

下面是 Metadata Service 的架构图,本节我们详细讨论各个组件以及它们之间的关系. nova-api-metadata nova-api-metadata 是 nova-api 的一个子服务,它是 metadata 的提供者,instance 可以通过 nova-api-metadata 的 REST API 来获取 metadata 信息. nova-api-metadata 运行在控制节点上,服务端口是 8775. 通过进程 ID 13415 查看该启动程序. 我们这个环境是

分析 OVS 如何实现 vlan 隔离 - 每天5分钟玩转 OpenStack(140)

上一节我们完成了 OVS vlan 环境的搭建,当前拓扑结构如下: cirros-vm1 位于控制节点,属于 vlan100. cirros-vm2 位于计算节点,属于 vlan100. cirros-vm3 位于计算节点,属于 vlan101. 今天详细分析 OVS 如何实现 vlan100 和 vlan101 的隔离.与 Linux Bridge driver 不同,Open vSwitch driver 并不通过 eth1.100, eth1.101 等 VLAN interface 来隔