数据网光模块管理系统的设计和实现
2018-12-04张嵩
张嵩
中国电信股份有限公司天津分公司
0 引言
电信设备的运维过程中,光模块的管理、测试、数据收集、模块调拨,是电信日常维护中一项必不可少的工作。随着互联网的发展,数据设备量持续大规模增长,板卡密度不断增加,光模块作为可跨设备利用的资源,其可用性、安全性、可靠性显得尤为重要。另外,对一些扩容、网络割接工程、软件升级等,工程前后也需要对光模块进行检查。可见光模块管理是一项非常重要的维护工作。
现有对光模块的管理比较粗放,实施方法是工作人员按照自己所管辖的设备进行管理,采取telnet登录设备的方式逐个查看,设备型号繁杂,命令种类较多,且无法记录和统一管理。这种查看方式存在很大缺陷,首先,如果对单个设备模块进行逐个查看,按照现有设备的端口密度,完成查看共需要30分钟,若完成多台设备将占用大量人力工时;其次,由于长时间的重复操作使工作人员容易产生厌烦情绪,稍有马虎就导致错误,这使得到的结果的准确性不高,对后续的故障定位排除、业务割接形成干扰;再有,即使今天完成查看确认,明天可能还需要再次查看,工作陷入无休止的重复之中。诸如此类的工作必将接踵而来。这让我们不得不去思考这样一个问题——能不能让机器来代替人进行管理呢?答案是肯定的,就是我们所研发的数据网光模块管理系统。
光模块管理系统的设计思想就是用机器来代替人工劳动,尽量将人从烦冗的光模块管理工作中解放出来。数据网智能化工程中引入了光模块管理系统,可以预见到的效果有:
(1)大大节省人力工时。显然,之前由人来完成的工作被机器替换了,一方面,将人从此项工作中解放出来,另一方面,也增添了其他工作的人力资源。
(2)大大缩短确认时长。系统通过程序登录设备并和设备MIB库进行比对,较短的时间就可轮询一遍所有端口。
(3)准确率可达到100%。这是因为测试管理过程全部通过系统自动完成,消除了人为因素干扰。
(4)模块管理率将提升到100%。因为采用了软件逻辑控制,自动定时采集模块信息,对异常情况进行人工确认,避免模块丢失、误用等情况的发生。
图1 系统架构图
1 系统架构
系统架构如图1所示,该系统总体上分成两大部分,第一部分是网络管理部分。该部分由网管软件、数据库、采集服务器、网络设备等组成。网管软件制定一定的采集策略,通过TCP/IP网络控制采集机对IP网中的网络设备进行采集。这个时候,采集机就替换了工作人员操作指令,自动发送出查看指令。采集上来的数据存入数据库,并通过应用服务器的程序进行归并、整理、分析、生成前台可管理的页面。
2 系统实现原理
2.1 采集流程
采集流程如图2所示,
(1)在系统中输入所要采集的设备信息(设备名称、IP地址、管理口令、SNMP口令等);
(2)网管进行设备登录,采集设备基本信息,如设备类型,版本信息等;
(3)执行命令采集设备模块及板卡信息;
(4)将采集的模块信息进行入库管理,以便后续调用分析。
图2 采集流程图
2.2 采集方式
按照用户提供的每种设备型号的mib库,把相应的设备mib库信息都存储在服务器上,每天定时通过使用snmpwalk采集设备的OID信息方式采集全网可管设备模块信息(与存储在服务器上的mib信息作比对),把采集到的现网的所有模块信息存储到数据库中。
按采集到模块的序列号,读取OpticalView中的现网采集到的光模块,并与OpticalModule表中的光模块进行比对。OpticalView中序列号非空的光模块记为A。OpticalModule中序列号非空的光模块记为B,按序列号进行比对,如果A中有,B中没有,则为新增硬件,插入OpticalModuleCheck表一条新增记录(OMCheckSEQ,系统时间,add,A中的设备ID,硬件序列号,所在端口,硬件类型,硬件描述,硬件型号,硬件版本)。如果A中没有,B中有,则为删除硬件,插入OpticalModuleCheck表一条删除记录(OMCheckSEQ,系统时间,del,B中的设备ID,硬件序列号,所在端口,硬件类型,硬件描述,硬件型号,硬件版本)。如果A和B都有,则比较A的设备+所在端口和B的设备+所在端口。如果一致,则跳过。如果不一致,则为变化硬件,插入OpticalModuleCheck表一条变化记录(OMCheckSEQ,系统时间,mod,A中的设备ID,硬件序列号,所在端口,硬件类型,硬件描述,硬件型号,硬件版本,B中的设备ID,B中的所在端口)。
对于没有序列号的光模块,按所在端口比对。读取OpticalView中序列号为空的光模块记为C。读取OpticalModule中序列号为空的光模块记为D。C有D没有的,则为新增硬件,插入OpticalModuleCheck表一条新增记录(OMCheckSEQ,系统时间,add,C中的设备ID,硬件序列号,所在端口,硬件类型,硬件描述,硬件型号,硬件版本)。C没有D有的,则为删除硬件,插入OpticalModuleCheck表一条删除记录(OMCheckSEQ,系统时间,del,D中的设备ID,硬件序列号,所在端口,硬件类型,硬件描述,硬件型号,硬件版本)。
不同类型设备采集根据其设备特点有不同的采集差异,具体分为如下三类:
(1)二层汇聚交换机系列设备
a)首先确定采集硬件信息的实体范围。
采集硬件实体class,对应class类型为 container(5)或者module(9)时,过滤出对应实体进一步获取实体的index和entityName。
b)根据entity-mib采集额外信息。
根据以下mib补充硬件信息:
'1.3.6.1.2.1.47.1.1.1.1.2', #entPhysicalDescr
'1.3.6.1.2.1.47.1.1.1.1.4', #entPhysicalContainedIn
'1.3.6.1.2.1.47.1.1.1.1.8', #entPhysicalHardwareRev
'1.3.6.1.2.1.47.1.1.1.1.11', #entPhysicalSerialNum
'1.3.6.1.2.1.47.1.1.1.1.7', #entslotName
'1.3.6.1.2.1.47.1.1.1.1.13' #entpartno
示例如下:
Cardsn硬件序号:entPhysicalSerialNum
ENTITY-MIB:entPhysicalSerialNum 47.1.1.1.1.11.51="SAD131800J6"
Carddescr硬件描述:entPhysicalDescr
ENTITY-MIB:entPhysicalDescr 47.1.1.1.1.2.51="ISE 10G Modular Services Card v2"
(2)二层接入交换机设备
a)导入硬件实体信息值对应的模块类型说明。
根据MIB对应模块的硬件类型,型号过多仅列举如下说明:
{1}='type-10OR100M(10M/100M Ethernet Copper Interface Module)'
{2}='type-1000BASE-LX-SM(1000BASE-X Module (SMF, LC))'
{3}='type-1000BASE-SX-MM(1000BASE-X Module (MMF, SC))'
{4} = 'type-1000BASE-TX'
{5}='type-100M-SINGLEMODE-FX(100M Ethernet Single Mode Optical Interface Module)'
{6}='type-100M-MULTIMODE-FX(100M Ethernet Multi-mode Optical Interface Module)'
{7}= 'type-100M-100BASE-TX(100M Ethernet copper Interface Module(RJ45))'
{8}='type-100M-HUB(100M Base-TX transportation Interface Module)'
{9} = 'type-VDSL(VDSL)'
{10} = 'type-STACK(GigaStack Module)'
{11}='type-1000BASE-ZENITH-FX(1000M Ethernet Single Mode Optical Interface Module(1550nm,70km,LC))'
{12}='type-1000BASE-LONG-FX(1000M Ethernet Single Mode Optical Interface Module(1550nm,40km,LC))'
b)通过lsw-dev-adm mib私有mib采集板卡和子卡信息,并通过Entity-mib进行补充,对应实体序号、标识等。
举例如下所示:
$ snmpwalk -v2c -c switch-huawei
59.43.224.29 .1.3.6.1.4.1.2011.2.23.1.18.4.3.1.2
enterprises.2011.2.23.1.18.4.3.1.2.0.0 = 256
type-Main(256)
$ snmpwalk -v2c -c switch-huawei
59.43.222.15 .1.3.6.1.4.1.2011.2.23.1.18.4.3.1.2
enterprises.2011.2.23.1.18.4.3.1.2.0.0 = 364
type-LSB2SRP1N2(364), -- Switching and Route Process Unit, 5*LPU
enterprises.2011.2.23.1.18.4.3.1.2.0.1 = 364
enterprises.2011.2.23.1.18.4.3.1.2.0.2 = 98
type-LSB1GP24B(98), -- 24-Ports 1000Base-X Ethernet Interface Module B
enterprises.2011.2.23.1.18.4.3.1.2.0.3 = 183
(3)BRAS、路由器等设备
先通过disp device命令判断单框还是多框,然后根据不同类型进行采集。
a)单框
首先确定光模块所在板卡信息,然后进行光模块的端口拼接,最后采集光模块信息与之对应。具体如下所示:
disp ela 1
[Slot_1]……………………………………………槽位信息
/$[Board Integration Version]
/$BoardIntegrationVersion=3.0
[Main_Board_0]
/$[ArchivesInfo Version]
/$ArchivesInfoVersion=3.0
[Board Properties]
BoardType=CR52P4UFG0
BarCode=030FMV108 9000058
Item=03030FMV
Description=NetEngine80E,CR52P4UFG0,4-port 2.5G POS SFP Optical Interface LPU G………………………板卡信息
Manufactured=2008-09-06
VendorName=Huawei
IssueNumber=00
CLEICode=
BOM=
[Main_Board_1]
/$[ArchivesInfo Version]
/$ArchivesInfoVersion=3.0
[Board Properties]
BoardType=CR52FADD
BarCode=0291326T88001595
Item=03029132
Description=NetEngine80E,CR52FADD,Fabric Adapter Board D,1*1
Manufactured=2008-09-06
VendorName=Huawei
IssueNumber=00
CLEICode=
BOM=
[Main_Board_2]
/$[ArchivesInfo Version]
/$ArchivesInfoVersion=3.0
[Board Properties]
BoardType=CR52LPUG
BarCode=020DTB6T88000514
Item=03020DTB
Description=NetEngine80E,CR52LPUG,Line Processing Unit G,1*1
Manufactured=2008-09-06
VendorName=Huawei
IssueNumber=00
CLEICode=
BOM=
[Daughter_Board_0]………………………光模块所在子卡
/$[ArchivesInfo Version]
/$ArchivesInfoVersion=3.0
[Board Properties]
BoardType=CR52TCMH
BarCode=020DTU6T88001147
Item=03020DTU
Description=NetEngine80E,CR52TCMH,Search Engine Daughter Card H,1*1
Manufactured=2008-09-06
VendorName=Huawei
IssueNumber=00
CLEICode=
BOM=
[Daughter_Board_1]
/$[ArchivesInfo Version]
/$ArchivesInfoVersion=3.0
[Board Properties]
BoardType=CR52P4UF
BarCode=020EJX1089000010
Item=03020EJX
Description=NetEngine50 00E,CR52P4UFX,4 Port 2.5G POS SFP Optical Interface Daughter Card ,1*1…………光模块所在板卡信息
Manufactured=2008-09-06
VendorName=Huawei
IssueNumber=00
CLEICode=
BOM=
[Port_0]……………光模块拼接,1/0/0
/$[ArchivesInfo Version]
/$ArchivesInfoVersion=3.0
[Board Properties]
BoardType=SCP6828-H1-BNE
BarCode=877010E00195 ………光模块信息
Item=
Description=2500Mb/s-1310nm-LC-2km(0.009mm)
Manufactured=2008-07-17
VendorName=SumitomoElectric
IssueNumber=
CLEICode=
BOM=
b)多框
多框采集过程和单框相比增加了一个业务框的判定过程。
其他基本类似,在此不再一一说明。
2.3 采集程序
根据业务需要编写了采集程序,如下所示:
DevUSwitchHuaVRP.pl
DevUSHuaLsw.pl
DevURouterhwNE5k.pl
DevUBHuawei.pl
3 界面展现及应用设计
3.1 光模块管理维护界面设计
图3 光模块变更管理页面设计
如图3所示:
●节点为登录用户有配置权限的节点树,作用于OpticalView表、OpticalModuleCheck表、OpticalModuleCheckH表的设备所在节点。
●设备厂商,类型,型号下拉框联动,可空。设备属性下拉框为多选下拉框,可空。均作用于OpticalView表、OpticalModuleCheck表、OpticalModuleCheckH表的设备相关字段。本文型号均为设备详细型号。
●所在设备/IP,所在端口,文本框,like匹配。作用于OpticalView表、OpticalModuleCheck表、OpticalModuleCheckH表的设备和所在端口字段。
●原所在设备/IP,原所在端口,文本框,like匹配作用于OpticalModuleCheck表、OpticalModuleCheckH表的原设备和原端口字段。
●光模块序列号,文本框,等匹配,作用于OpticalView表、OpticalModuleCheck表、OpticalModuleCheckH表的硬件序列号字段。
●变化类型,下拉框,可空。add:新增;del:删除;mod:变更。作用于OpticalModuleCheck表、OpticalModuleCheckH表的Changetype字段。
●变化日期,日期控件。作用于OpticalModuleCheck表、OpticalModuleCheckH表的changeTime字段。
●确认人,文本框,like匹配,作用于OpticalModuleCheckH表的Operator字段
●备注,文本框,like匹配,作用于OpticalModuleCheck表、OpticalModuleCheckH表的remark字段。
●点击“变更查询”按钮,显示第一个红框的列表。点击“当前光模块查询”按钮,显示第二个红框的列表。点击“确认历史查询”,显示第三个红框的列表。页面上的查询条件对3个按钮,能生效的都生效。
●页面打开后,默认执行变更查询。
●导出excel功能,与下面列表查询的数据保持一致,只是忽略翻页,显示符合条件的全部数据。
●变更查询:列表显示OpticalModuleCheck表中数据。
●当前光模块查询:列表显示OpticalView表数据。
●确认历史查询:列表显示OpticalModuleCheckH表数据。
●变更历史查询结果,点击列表中的备注,可弹出浮现框编辑备注,并保存到OpticalModuleCheck.remark字段。
●选中多条记录点击批量确认时,浮现弹出页面如图4:
图4 确认页面
点击确认,校验备注必填,执行下述入库逻辑:
●更新选中checkno对应的remark字段(只更新remark为空的记录)。
●对于选中的记录,根据checkno将OpticalModuleCheck表中记录复制到OpticalModuleCheckH表(确认人为当前登录用户,确认时间为系统时间)。
●删除OpticalModuleCheck表选中checkno对应的记录。
3.2 界面效果及功能
(1)点击界面变更查询:界面可以显示模块变化日期,变化类型(新增、删除、变更),模块序列号,所在设备,设备IP,所在端口,以及硬件描述。其中对于变更的,会显示模块所在原设备、原设备IP,及原设备端口信息。如图5所示。
图5 前台页面-1
(2)点击当前模块查询:可显示光模块序列号、所在设备、所在设备IP、设备厂商、设备型号、设备属性、所在端口、硬件描述(传输距离等)。如图6所示。
图6 前台页面-2
(3)点击确认历史查询:可显示变化日期、变化类型、光模块序列号、所在设备、所在设备IP、所在端口、硬件描
述(传输距离等)、原设备、原设备IP、原设备端口、确认人、确认时间,以及确认填写备注情况等。如图7所示。
图7 前台页面-3
(4)点击导出excel,可以把当前查询结果导出到表格。
3.3 邮件通知功能设计
为了对设备模块变更实现自动提醒,特别设计了邮件通知功能,对当天发生的模块变化进行邮件通知,以便维护人员及时进行确认和操作。
设计了OpticalModuleCheck.pl程序,每天运行一次。查询系统参数表,若光模块发生变化,执行下面发邮件功能:
收件人:XXX(可以是逗号分隔的多个邮箱地址。)
邮件主题:2015年1月20日光模块变化情况:新增:XX个 变更:XX个 删除:XX个。
邮件内容:
邮件附件:上述表格的excel文件。
表格数据来自OpticalModuleCheck表,按变化日期过滤,只发变化日期为当天的记录。列表中变化日期字段显示到日即可。如果没记录,则不用带附件和正文,邮件标题改为:2015年1月20日光模块变化情况:无变化。
4 结束语
本文提出了采用系统替换人工进行光模块的方案,并从软硬件角度分析了该方案的实现原理。最后实现了系统功能,可以说该系统填补了我们运维领域中的一项空白,既减少了人工参与,提高了管理效率,也节省了人力工时。
但是目前该系统还有几个地方在未来有待改进,首先是应用的设备类型问题,随着设备厂家和设备类型的不断增加,还需要对系统的适配性进行更新;另外,该系统对模块轮询的周期只能为24小时,时效性还有待提高。