3 自动化脚本
TCL和python都是业界广泛使用的脚本语言,网络设备支持这些脚本语言,可以大大降低网络管理员的学习成本,利用这些脚本语言,网络管理员可以实现高度自动化的管理。
网络设备支持脚本语言通常都遵循如图7的体系结构:
图7 自动化脚本架构
用户脚本由脚本解释器解释执行,脚本解释器内嵌在网络设备操作系统的内部。TCL和Python都有各自独立的脚本解释器。除了用户自行编写的脚本,还可以使用业界开源或者第三方开发的脚本库或者工具。脚本的解释和执行是在一个安全上下文内进行的,可以有效避免非授权的恶意攻击。
在大型机构里,大量的接入设备的配置一般都具有很大的相似性,但又不完全相同,不能通过简单的复制粘贴copy其他设备的配置文件。业务有变更需要对网络设备配置进行修改时,如果不使用自动化技术,需要逐一手工对每台设备进行配置,耗时非常长且容易出错;而通过自动化脚本可以对大批的设备进行批量配置,既缩短了变更时间、出错的概率也大大降低。
4 嵌入式自动化技术
嵌入式自动化技术主要是对设备内部事件进行监控,事件发生时执行用户定义策略。针对一些特定类型的故障,通过嵌入式自动化技术,维护人员可以预先定义故障处理的方法,一旦发生该类故障,设备自动执行预先定义好的故障处理策略,从而提高故障处理的效率。下文主要以H3C RTM(Real-Time event Manager)技术为例进行说明。
RTM是一种嵌入式设备上内嵌的、实时的策略驱动的模型。用户通过策略订阅感兴趣的实时事件。事件发生时,执行策略中制定的动作。RTM可用来实时监控设备,当故障发生时能及时的收集第一现场信息,并采取故障诊断、故障恢复、汇总上报等措施。例如RTM与SCM联动,监控进程的启动和停止,衡量系统的可靠性,并采取更灵活的策略。如图8所示。
图8 嵌入式自动化技术架构
RTM是一种开放的架构,可以很容易的将事件源添加到RTM框架中。RTM目前支持7种事件源。其它事件源也将会陆续添加到RTM框架中。
有匹配的事件发生时,RTM可以执行用户配置的一个动作或者多个动作。RTM目前支持的动作主要有:CLI、syslog、trap、switch-over、reboot等*。CLI是指执行任一命令行;syslog和trap是向网管发送特定消息;switch-over可以实现主备自动倒换;reboot可以实现对单独板卡或者整个设备的重新启动。
RTM是一种开发的框架,很容易将动作添加到RTM框架中。熟悉Comware CLI的用户可以选择使用Comsh script订阅事件。RTM也支持完整的TCL8.5语法,并在此基础上做了适当扩展,使用TCL可以编写出更为灵活且功能强大的策略脚本。RTM框架对策略脚本执行的安全性做了特别考虑。只有管理员或授权用户才可注册策略脚本,而且只有注册的策略脚本才会生效运行。策略脚本一旦被篡改,则不能再运行。
5 结论
在网络日益复杂的环境下,网络管理承受着大量挑战。通过“零配置”管理让大量设备的开局能在短时间内完成,使得新机房、新业务上线时间大大缩短。通过NETCONF网络管理技术,用户可以使用API深度定制网络管理系统,将不同厂商的设备统一管理起来。自动化脚本技术使得网络管理脚本(甚至工具)共享成为可能,使一些低效的、繁琐的、机械的网络管理操作变成自动化的高效操作。嵌入式自动化技术使管理员能实时监控设备,并在第一时间进行信息收集和故障恢复尝试,大大减少了网络故障时间。
随着自动化管理技术的不断进步,网络管理在“化繁为简”的同时,网络资源调度的灵活性也极大提高了,从而使“随需而动”成为可能。