OpenStack neutron网络Kilo-Newton版本区别

本文总结了OpenStack Neutron从Kilo版本到Newton版本的变化,涵盖了网络、NFV方面的重要改进,包括新功能、性能优化、bug修复等。


作者: 赵怡

上次发表了一篇有关 neutron kilo/liberty/mitaka各版本的主要区别, 这次来总结一下网络和NFV方面, kilo版和newton之间的版本变化:

一、Neutron Kilo版和Newton版本功能区别:

L2-二层

功能点

功能变化类型

描述

支持管理员手动调度agent

新增

在添加新的agent时支持新的选项: enable_new_agents, 针对以下agent: l3-agent, dhcp-agent, lbaas-agent。当admin_state_up=True和enable_new_agents=True时, 为传统的默认行为, 资源可以自动调度到该agent。当admin_state_up=False和enable_new_agents=False, 为维护模式(测试模式), 资源将不能自动调度到该agent, 直到管理员将admin_state_up置为True。该模式主要用于新增节点时, 管理员不想让用户资源调度到该节点, 需要经过一段时间做测试。

改进默认MTU配置

修改

默认把path_mtu置为1500, 'advertise_mtu'置为True, 通过DHCP可以考虑到VXLAN overhead问题, 自动设置为1450.

自动创建网络

新增

“get-me-a-network” , 即Automatic allocation of network topologies, 简化创建虚拟机时需要配置网络信息的步骤。

只需要事先指定默认的外部网络和subnet pools, 创建虚拟机时, 可以让neutron自动根据默认配置, 创建网络,子网,分配ip, 路由器, 连接外网。

改进l2-agent下线后导致port-bind失败

bug修复

当port bind fail是由于l2 agent下线导致的话, 当l2 agent上线时, port bind将会恢复

ovs实现allowed_address_pairs

新增

虚拟机只允许Neutron给它分配的IP地址和MAC地址对外发包,这一特性之前在iptables实现,现在在OVS上也实现了

ovs默认openflow/ovsdb接口驱动默认改为native方式

新增

neutron-openvswitch-agent原来默认使用'ovs-ofctl'和'ovsdb'接口驱动, 现在改为'native'接口驱动, 提高了性能。

注:

ovs-ofctl驱动: 即调用ovs-ofctl命令进行openflow流表下发, 启动ovs-ofctl命令需要花很多时间, 而'native'驱动是通过调用ryu控制器接口, 通过openflow协议下发openflow流表。

ovs-vsctl驱动: 即调用ovs-vsctl命令进行端口、bridge的增删, 启动ovs-vsctl命令需要花很多时间, 而'native'驱动是通过调用ovs提供的python api接口, 通过ovsdb协议来操作。

支持查询网络及其子网的所有ip个数和使用过的ip个数

新增

支持查询网络下所有ip个数, 使用过的ip个数。网络下每个子网的所有ip个数, 使用过的ip个数

支持IP分配选项

新增

port多了一个ip_allocation的属性, 可选值有: ‘immediate’, ‘deferred’, or ‘none’。当创建port时, 'immediate'为: 立即分配和配置IP地址。'deferred'为: 延后分配IP, 等到port能够bind到host时再分配。'none'为: 暂不分配ip

subnet增加类型属性: ‘service_types’

新增

subnet增加类型属性: ‘service_types’, 为手动指定的device_owner的列表, 如: network:floatingip_agent_gateway, network:router_gateway。

port分配IP时, 通过port的device_owner匹配subnet的service_type, 来决定在哪个subnet中分配IP。

厂商驱动被移除

废弃

厂商的ML2 plugin/agent被移除出neutron代码。 厂商代码被挪到各自的networking-XXX项目中, 其中XXX为厂商驱动名称。

 

安全组

功能点

功能变化类型

(新增/修改/废弃/重大bug修复/性能改进)

描述

OVS-agent驱动支持connection track连接跟踪

新增

新的安全组防火墙驱动引入。基于OpenFlow,使用了connection track

  

L3-三层

功能点

功能变化类型

(新增/修改/废弃/重大bug修复/性能改进)

描述

支持IPAM

新增

默认使用可插拔式的IP address management框架, 可使用第三方IPAM, 用来管理IP地址。

L3 HA使用keepalived引发的问题

bug修复

解决L3 HA使用keepalived引发的问题

开启keepalived时会记录进程的pid,如果节点意外关机或者发生故障等,那么这个文件不会清除,下次再开启keepalived时如果这个文件保存的pid恰好被用了,那么keepalived将无法启动

支持DVR SNAT上的HA

新增

支持DVR SNAT上的HA

### 解决 `yum install` 命令报错的方法 当执行命令 `yum install openstack-neutron ml2 linuxbridge ebtables` 出现错误时,可能的原因有多种。以下是几种常见的原因以及相应的解决方案。 #### 1. 检查仓库配置 确保 YUM 仓库已正确配置并可用。如果缺少必要的 OpenStack 或 EPEL (Extra Packages for Enterprise Linux) 仓库,则可能导致依赖项无法解析或下载失败。可以尝试添加这些仓库: 对于 CentOS/RHEL 用户来说,可以通过以下方式启用额外的软件源: ```bash sudo yum install centos-release-openstack-yoga epel-release -y ``` #### 2. 清理缓存重新同步数据 有时本地元数据可能会损坏或者过期,这也会引起安装过程中的问题。清理现有缓存再重试有助于解决问题: ```bash sudo yum clean all && sudo yum makecache fast ``` #### 3. 使用完整的包名进行安装 根据提供的信息,在实际操作过程中应当使用更具体的名称来代替缩写的参数[^1]。因此建议按照官方文档推荐的方式输入完整指令如下所示: ```bash sudo yum -y install openstack-neutron openstack-neutron-ml2 openstack-neutron-linuxbridge ebtables conntrack-tools ``` #### 4. 修改内核参数支持桥接防火墙过滤功能 为了使Linux Bridge能够正常工作于Neutron环境中,还需要调整一些内核级别的设置以允许网桥上的流量被iptables规则所影响[^4]: ```bash echo 'net.bridge.bridge-nf-call-iptables=1' >> /etc/sysctl.conf echo 'net.bridge.bridge-nf-call-ip6tables=1' >> /etc/sysctl.conf sysctl -p modprobe br_netfilter ``` 通过以上措施应该能有效减少因环境差异而导致的各种潜在错误情况的发生概率。当然具体到每一个特定场景下还可能存在其他因素干扰成功部署流程,这时就需要结合日志文件进一步排查分析了。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值