环境概要

  • OS: CentOS Linux 7 (Core)
  • OpenStack: Rocky (RDO源)
  • Topology: 单节点 (Controller + Network + Compute)
  • Service: neutron-server (Active)

1. 安装 networking-sfc 软件包

使用 yum 安装 RDO 仓库中的 SFC 插件包(Python 模块)。

yum install -y python-networking-sfc

2. 配置 Neutron Server (控制器节点)

修改 Neutron 主配置文件,加载 SFC 服务插件并指定驱动。

文件路径: /etc/neutron/neutron.conf

2.1 启用 Service Plugins

[DEFAULT] 块中修改 service_plugins 选项。保持原有插件,并追加 SFC 相关的两个 Python 类路径。

[DEFAULT]
# 保持原有插件(例如 router, qos),并追加 SFC 插件路径
service_plugins = router,qos,networking_sfc.services.flowclassifier.plugin.FlowClassifierPlugin,networking_sfc.services.sfc.plugin.SfcPlugin

请添加图片描述

2.2 配置 SFC 驱动

在配置文件中添加或修改配置块,指定使用 Open vSwitch (OVS) 驱动。

[sfc]
# 指定 SFC 插件使用的驱动
drivers = ovs

[flowclassifier]
# 指定 Flow Classifier 插件使用的驱动
drivers = ovs

请添加图片描述

3. 数据库同步

运行数据库迁移命令,为 networking-sfc 项目创建所需的表结构。

neutron-db-manage --subproject networking-sfc upgrade head

4. 配置 Open vSwitch Agent (L2 Agent)

修改 OVS Agent 配置文件,启用 SFC 扩展,以便在数据平面实现服务功能链。

文件路径: /etc/neutron/plugins/ml2/openvswitch_agent.ini

[agent] 块中修改 extensions 选项。

[agent]
# 在现有扩展列表中追加 sfc
extensions = qos,sfc

请添加图片描述

5. 重启服务并验证

完成配置后,必须重启 Neutron Server 和 OVS Agent 服务。

# 重启 Neutron Server
systemctl restart neutron-server

# 重启 Open vSwitch Agent
systemctl restart neutron-openvswitch-agent

验证步骤

  1. 检查服务状态

    确认两个核心服务都已成功启动且状态为 active (running)

    systemctl status neutron-server
    systemctl status neutron-openvswitch-agent

    请添加图片描述请添加图片描述

  1. 检查 Neutron 扩展

    使用 OpenStack 命令行客户端检查 sfcflow_classifier 扩展是否已加载。

    openstack extension list --network | grep -E 'sfc|flow_classifier'

请添加图片描述

如果输出中包含这两个扩展,则表示 networking-sfc 插件已成功安装和配置。

‪G:\Program Files\nodejs\node C:\Users\AronaC:\Users\Arona\AppData\Roaming\npm\node_modules\picgo\bin\picgo\AppData\Roaming\npm\picgo upload