openstack DVR (pike)
发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,1 说明在openstack传统的集中式路由环境下,南北流量和跨网络的东西流量都要经过网络节点,当计算节点规模越来越大的时候,网络节点很快会成为整个系统的瓶颈,为解决这个问题引入了Distribute
千家信息网最后更新 2026年11月01日openstack DVR (pike)1 说明
在openstack传统的集中式路由环境下,南北流量和跨网络的东西流量都要经过网络节点,当计算节点规模越来越大的时候,网络节点很快会成为整个系统的瓶颈,为解决这个问题引入了Distribute Virtual Router (DVR)的概念。
DVR是将路由分布到计算节点,南北流量和跨网段的东西流量由虚机所在计算节点上的虚拟路由进行路由。
2 DVR结构图
3 DVR配置
本文采用的网络方案是openvswitch vxlan
3.1 控制节点配置
/etc/neutron/neutron.conf添加如下配置
[DEFAULT]
router_distributed = True
重启neutron-server
systemc restart neutron-server.service
3.2 网络节点配置
/etc/neutron/plugins/ml2/ml2_conf.ini中添加如下配置
[agent]
l2_population = True
enable_distributed_routing = True
apr_responder = True
/etc/neutron/plugins/ml2/openvswitch_agent.ini中添加如下配置
[default]
enable_distributed_routing = True
重启neutron-openvswitch-agent,neutron-l3-agent
systemctl restart neutron-openvswitch-agent neutron-l3-agent
3.3计算节点配置
计算节点中安装如下软件openstack-neutron,openstack-neutron-ml2
yum install -y openstack-neutron openstack-neutron-ml2
/etc/neutron/l3_agent.ini 中添加如下配置
[default]
agent_mode = dvr_snat
/etc/neutron/plugins/ml2/ml2_conf.ini中添加如下配置
[agent]
l2_population = True
enable_distributed_routing = True
/etc/neutron/plugins/ml2/openvswitch_agent.ini中添加如下配置
[default]
enable_distributed_routing = True
apr_responder = True
重启neutron-openvswitch-agent,neutron-l3-agent
systemctl restart neutron-openvswitch-agent neutron-l3-agent
查看安装的network agent
[root@network ~]# openstack network agent list
+--------------------------------------+--------------------+---------+-------------------+-------+-------+---------------------------+
| ID | Agent Type | Host | Availability Zone | Alive | State | Binary |
+--------------------------------------+--------------------+---------+-------------------+-------+-------+---------------------------+
| 77717425-5a8f-494d-a144-8d1831e7d5de | Metadata agent | network | None | :-) | UP | neutron-metadata-agent |
| 903d9a68-b050-4948-8c4b-ecc329189fff | Open vSwitch agent | compute | None | :-) | UP | neutron-openvswitch-agent |
| bb1cdef8-e8bf-4353-8b89-2b33464392a5 | L3 agent | network | nova | :-) | UP | neutron-l3-agent |
| c59b2915-184d-4e38-9d8a-e5c593001db0 | Open vSwitch agent | network | None | :-) | UP | neutron-openvswitch-agent |
| ce266daa-dee1-45a9-93e4-bb0b1edb5b8b | DHCP agent | network | nova | :-) | UP | neutron-dhcp-agent |
| d0173090-50a6-4d02-8af8-cf73204a05c7 | L3 agent | compute | nova | :-) | UP | neutron-l3-agent |
| f2ce576c-01e8-488b-b718-68aa9117c2ac | Metadata agent | compute | None | :-) | UP | neutron-metadata-agent |
+--------------------------------------+--------------------+---------+-------------------+-------+-------+---------------------------+
创建网络和DVR
#!/bin/bash
neutron net-create --shared --router:external=True --provider:network_type flat --provider:physical_network provider public
neutron subnet-create public 192.168.100.0/24 --name public-sub --allocation-pool start=192.168.100.181,end=192.168.100.190 --dns-nameserver 8.8.8.8 --gateway 192.168.100.1 --enable_dhcp=False
neutron net-create private --provider:network_type vxlan --router:external False --shared
neutron subnet-create private --name private-sub --gateway 172.17.0.1 172.17.0.1/16 --dns-nameserver 8.8.8.8
neutron router-create dvr-router --distributed true
neutron router-interface-add dvr-router private-sub
neutron router-gateway-set dvr-router public
创建虚机绑定浮动IP,可以在dashboard上操作
在计算节点的qrouter
[root@compute ~]# ip netns
fip-51e0cb5e-1058-4a97-b205-a57d245a6726
qrouter-a3cc1dbb-73cb-431d-97e5-23be9aa7be20
网络节点的qrouter
[root@network ~]# ip netns
snat-a3cc1dbb-73cb-431d-97e5-23be9aa7be20
fip-51e0cb5e-1058-4a97-b205-a57d245a6726
qrouter-a3cc1dbb-73cb-431d-97e5-23be9aa7be20
qdhcp-53896585-6380-48f1-aed9-db340c5facf9
拓扑图

在openstack传统的集中式路由环境下,南北流量和跨网络的东西流量都要经过网络节点,当计算节点规模越来越大的时候,网络节点很快会成为整个系统的瓶颈,为解决这个问题引入了Distribute Virtual Router (DVR)的概念。
DVR是将路由分布到计算节点,南北流量和跨网段的东西流量由虚机所在计算节点上的虚拟路由进行路由。
2 DVR结构图
3 DVR配置
本文采用的网络方案是openvswitch vxlan
3.1 控制节点配置
/etc/neutron/neutron.conf添加如下配置
[DEFAULT]
router_distributed = True
重启neutron-server
systemc restart neutron-server.service
3.2 网络节点配置
/etc/neutron/plugins/ml2/ml2_conf.ini中添加如下配置
[agent]
l2_population = True
enable_distributed_routing = True
apr_responder = True
/etc/neutron/plugins/ml2/openvswitch_agent.ini中添加如下配置
[default]
enable_distributed_routing = True
重启neutron-openvswitch-agent,neutron-l3-agent
systemctl restart neutron-openvswitch-agent neutron-l3-agent
3.3计算节点配置
计算节点中安装如下软件openstack-neutron,openstack-neutron-ml2
yum install -y openstack-neutron openstack-neutron-ml2
/etc/neutron/l3_agent.ini 中添加如下配置
[default]
agent_mode = dvr_snat
/etc/neutron/plugins/ml2/ml2_conf.ini中添加如下配置
[agent]
l2_population = True
enable_distributed_routing = True
/etc/neutron/plugins/ml2/openvswitch_agent.ini中添加如下配置
[default]
enable_distributed_routing = True
apr_responder = True
重启neutron-openvswitch-agent,neutron-l3-agent
systemctl restart neutron-openvswitch-agent neutron-l3-agent
查看安装的network agent
[root@network ~]# openstack network agent list
+--------------------------------------+--------------------+---------+-------------------+-------+-------+---------------------------+
| ID | Agent Type | Host | Availability Zone | Alive | State | Binary |
+--------------------------------------+--------------------+---------+-------------------+-------+-------+---------------------------+
| 77717425-5a8f-494d-a144-8d1831e7d5de | Metadata agent | network | None | :-) | UP | neutron-metadata-agent |
| 903d9a68-b050-4948-8c4b-ecc329189fff | Open vSwitch agent | compute | None | :-) | UP | neutron-openvswitch-agent |
| bb1cdef8-e8bf-4353-8b89-2b33464392a5 | L3 agent | network | nova | :-) | UP | neutron-l3-agent |
| c59b2915-184d-4e38-9d8a-e5c593001db0 | Open vSwitch agent | network | None | :-) | UP | neutron-openvswitch-agent |
| ce266daa-dee1-45a9-93e4-bb0b1edb5b8b | DHCP agent | network | nova | :-) | UP | neutron-dhcp-agent |
| d0173090-50a6-4d02-8af8-cf73204a05c7 | L3 agent | compute | nova | :-) | UP | neutron-l3-agent |
| f2ce576c-01e8-488b-b718-68aa9117c2ac | Metadata agent | compute | None | :-) | UP | neutron-metadata-agent |
+--------------------------------------+--------------------+---------+-------------------+-------+-------+---------------------------+
创建网络和DVR
#!/bin/bash
neutron net-create --shared --router:external=True --provider:network_type flat --provider:physical_network provider public
neutron subnet-create public 192.168.100.0/24 --name public-sub --allocation-pool start=192.168.100.181,end=192.168.100.190 --dns-nameserver 8.8.8.8 --gateway 192.168.100.1 --enable_dhcp=False
neutron net-create private --provider:network_type vxlan --router:external False --shared
neutron subnet-create private --name private-sub --gateway 172.17.0.1 172.17.0.1/16 --dns-nameserver 8.8.8.8
neutron router-create dvr-router --distributed true
neutron router-interface-add dvr-router private-sub
neutron router-gateway-set dvr-router public
创建虚机绑定浮动IP,可以在dashboard上操作
在计算节点的qrouter
[root@compute ~]# ip netns
fip-51e0cb5e-1058-4a97-b205-a57d245a6726
qrouter-a3cc1dbb-73cb-431d-97e5-23be9aa7be20
网络节点的qrouter
[root@network ~]# ip netns
snat-a3cc1dbb-73cb-431d-97e5-23be9aa7be20
fip-51e0cb5e-1058-4a97-b205-a57d245a6726
qrouter-a3cc1dbb-73cb-431d-97e5-23be9aa7be20
qdhcp-53896585-6380-48f1-aed9-db340c5facf9
拓扑图

节点
配置
网络
流量
路由
东西
南北
虚机
传统
很快
所在
拓扑
拓扑图
方案
时候
概念
环境
瓶颈
系统
结构
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
互联网科技名片
互联网是第几次科技革命的成果
有马互联网科技
云电互联网科技
苏州互联网科技贷款公司
互联网科技logo
成都狮子座互联网科技
镁科技互联网资讯平台
湖北码尼互联网科技有限公司电话
中国航天科技大学国际工业互联网
坤平互联网科技
阿里互联网科技企业
美国互联网科技实力
互联网领先科技宣传片
互联网科技包装股
上海同邻互联网科技有限公司规模
互联网科技收购价值
米泉互联网科技专业怎么样
互联网科技创新方面的资料
知域互联网科技有限公司官网
华服互联网科技靠谱吗
互联网科技与金融科技
互联网科技公司需要的职位
中国互联网有什么科技含量
黑科技闪耀互联网之光
注册互联网科技公司经营范围大全
爱医互联网络科技
黑云互联网科技有限公司
从那以后互联网科技有限公司
济南小医互联网科技有限公司招聘