OpenStack Pike 使用 OpenVSwitch + VXLAN

作者:demo2024.02.16 11:59浏览量:4

简介:OpenStack Pike 版本中,Neutron 团队决定将 LinuxBridge 替换为 OpenVSwitch 作为其主要的网络虚拟化解决方案。本文将介绍 OpenVSwitch 和 VXLAN 的工作原理,以及如何在 OpenStack Pike 中配置和使用它们。

在 OpenStack Pike 版本中,Neutron 团队做出了一项重要的更改,将之前使用的 LinuxBridge 替换为 OpenVSwitch(OVS)。这一改变意味着 Neutron 现在使用 OVS 作为其主要的网络虚拟化解决方案。此外,Neutron 还决定与 VXLAN 结合使用,以支持大规模虚拟网络。

在深入了解如何在 OpenStack Pike 中配置和使用 OVS + VXLAN 之前,我们首先需要了解这两个组件的工作原理。

OpenVSwitch: OVS 是一个开源的多层虚拟交换机,设计用于提供大规模网络自动化和虚拟化。它支持多种协议,包括 OpenFlow、协议无状态传输(Protocol-Independent Switch Architecture,简称 PISA)和 VXLAN。OVS 提供了一个可扩展的 API,用于管理网络资源,并支持网络服务的集成。

VXLAN: VXLAN 是一种用于虚拟网络的overlay协议。它通过在以太网帧上封装一个额外的 VXLAN 头来扩展数据包,从而允许在 IP 网络上构建多层的虚拟网络。VXLAN 可以跨越多层网络,实现大规模的虚拟机迁移和网络扩展。

在 OpenStack Pike 中配置和使用 OVS + VXLAN 的步骤如下:

  1. 安装和配置 OVS: 首先,您需要在计算节点上安装 OVS 软件包。一旦安装完成,您需要配置 OVS 数据库和 OVS 守护进程(ovsdb-server 和 ovs-vswitchd)。这些配置通常在 /etc/openvswitch/conf.db 和 /etc/sysconfig/openvswitch 中进行。

  2. 配置 Neutron 使用 OVS: 在 Neutron 的配置文件中(通常位于 /etc/neutron/neutron.conf),您需要指定使用 OVS 作为 L2 代理。您还需要配置 Neutron 使用 VXLAN 作为其 overlay 协议。

  3. 创建外部网桥: 在 Neutron 中,您需要创建一个外部网桥来连接物理网络和虚拟网络。使用 OVS,您可以使用 ovs-vsctl add-br 命令来添加一个新的网桥(例如 ovs-vsctl add-br br-ex)。

  4. 添加物理网卡到外部网桥: 在创建外部网桥后,您需要将物理网卡添加到该网桥中。这可以通过 ovs-vsctl add-port 命令完成(例如 ovs-vsctl add-port br-ex eth1)。

  5. 创建网络和子网: 使用 Neutron CLI 或 Dashboard,您可以创建虚拟网络和子网。这些网络和子网将与您的虚拟机实例相关联。

  6. 分配 IP 地址: 最后,您可以通过分配 IP 地址给虚拟机实例,使其能够通过网络进行通信。IP 地址是通过 Neutron 自动分配的。

需要注意的是,具体的配置步骤可能会因您的环境和 OpenStack 版本而有所不同。此外,对于生产环境中的大规模部署,还需要考虑其他因素,如性能优化、高可用性和安全性等。