论文部分内容阅读
随着互联网的发展,路由器、交换机等网络设备的使用量越来越大,部署越来越广泛。网络管理人员在配置部署的过程中,通常会遇到大量的重复工作。在自动化运维工具的使用已非常广泛的今天,本课题提出了对网络设备进行自动化配置管理的必要性。在网络设备上比较成熟的配置方式是通过命令行配置方式,比命令行配置方式更高效的有通过SNMP协议或者Netconf协议进行配置,但这些方式都得手动去配置。因此,在大规模管理的情况下亟需一种自动化配置方式。在众多运维管理工具中,大数据时代的到来和云计算的加速发展让Chef的优势尤为突出,同时Chef提供WebUI和REST API接口,都与现在流行的技术接轨,故本课题采用Chef工具对网络设备实现自动化配置管理。本课题中的网络管理平台采用Linux内核,但有针对网络设备的特性添加许多功能模块。在网络设备中包含众多模块,本课题选择VLAN、LAGG、Interface三个模块来实现自动化配置管理。在Chef中提供了许多可被直接使用的平台资源类型,如文件、服务、包管理等,但没有与网络设备上这三个模块相关的资源类型。所以本课题需借助Chef工具提供的接口实现与这三个模块相关的自定义资源类型。Chef工具是由Ruby开发,在使用Chef的过程中,创建自定义资源类型,创建配置脚本等各文件均用Ruby编写。本文首先分析了实现网络设备自动化配置管理的必要性,然后介绍了本课题将使用的相关技术,接着对本课题的需求进行分析,然后对整个架构进行设计。最后论述了整个Chef环境的搭建过程、自定义资源类型的实现过程和验证过程,并进行了总结和展望。