文件传输错误导致包文件加载失败
故障现象:
MA5680T补丁升级,补丁从Software Version:MA5600V800R006C02 SPC108 升级为Software Version:MA5600V800R006C02 SPC119。在加载包文件sculv8r6c00HP1119_gpon_new.bin过程中,当加载到91%的时候提示包文件错误。服务器上的文件是从客户端上传过去,服务器为linux系统,客户端是windows xp系统。
原因分析:
分析判断可能原因:
1、操作错误
2、下载的原文件错误
3、拆包错误
4、网络丢包
5、其他
原因排查:
1、首先看下操作步骤,
ST_TP_MA5680T(config)#display patch all
Software Version:MA5600V800R006C02
SPC100
SPH108
------------------------------------------------------------------------
Current Patch State:
------------------------------------------------------------------------
Patch Name Patch State Delivery Attribute Dependency
------------------------------------------------------------------------
SPC100 running common cold patch NO
SPH108 running common hot patch NO
------------------------------------------------------------------------
Total:2
Last Patch State:
------------------------------------------------------------------------
Patch Name Patch State Delivery Attribute Dependency
------------------------------------------------------------------------
SPC100 running common cold patch NO
------------------------------------------------------------------------
Total:1
ST_TP_MA5680T(config)#load patch ftp 192.168.35.242 HP1016
ST_TP_MA5680T(config)#
The loading starts
The loading is successful
ST_TP_MA5680T(config)#patch activate HP1016
Patch operation in active board succeeded
ST_TP_MA5680T(config)#patch run HP1016
Patch operation in active board succeeded
ST_TP_MA5680T(config)#
Patch operation in standby board succeeded
ST_TP_MA5680T(config)#load patch ftp 192.168.35.242 SPH119
ST_TP_MA5680T(config)#
The loading is successful
ST_TP_MA5680T(config)#patch activate SPH119
Patch operation in active board succeeded
Patch operation in standby board succeeded
ST_TP_MA5680T(config)#patch run SPH119
Patch operation in active board succeeded
ST_TP_MA5680T(config)#
Patch operation in standby board succeeded
ST_TP_MA5680T(config)#display patch all
Software Version:MA5600V800R006C02
SPC100
SPH119
HP1016
------------------------------------------------------------------------
Current Patch State:
------------------------------------------------------------------------
Patch Name Patch State Delivery Attribute Dependency
------------------------------------------------------------------------
SPC100 running common cold patch NO
HP1016 running common hot patch NO
SPH119 running common hot patch YES
------------------------------------------------------------------------
ST_TP_MA5680T(config)#load packetfile
{ ftp
{ filename6c00HP1119_gpon_new.bin
命令:
load packetfile ftp 192.168.35.242 sculv8r6c00HP1119_gpon_new.bin
加载新的包文件将覆盖原有的包文件
回滚功能将被取消, 请确认系统已经不需要回滚
确实需要加载包文件? (y/n)[n]:y
加载(备份,复制,...)命令开始进行, 请耐心等待并注意结果进度显示
加载(备份,复制,...)进行过程中, 任何复位或倒换操作都会导致失败
并引发不可预知的严重后果
加载开始
参数信息:框号:0,槽号:9,位置:-1,加载类型:发布包文件,加载对象:主用主控板
ST_TP_MA5680T(config)#
加载开始
参数信息:框号:0,槽号:10,位置:-1,加载类型:发布包文件,加载对象:备用主 控板
ST_TP_MA5680T(config)#display progress load
框号/槽号: 0/9
板名称: H801SCUL
操作类型: 加载
文件类型: 发布包文件
操作阶段: 文件从外部传向板内
进度: 91%
框号/槽号: 0/10
板名称: H801SCUL
操作类型: 加载
文件类型: 发布包文件
操作阶段: 文件从外部传向板内
进度: 36%
ST_TP_MA5680T(config)#
加载失败
参数信息:框号:0,槽号:9,位置:-1,加载类型:发布包文件,加载对象:主用主控板,失败原因 :包文件错误
ST_TP_MA5680T(config)#
加载失败
参数信息:框号:0,槽号:10,位置:-1,加载类型:发布包文件,加载对象:备用主 控板,失败原因 :包文件错误
操作过程按照升级步骤执行,不存在问题。
2、下载的原文件错误
文件下载用网络蚂蚁,下载过程中有中断过,然后通过续传继续下载,怀疑续传有问题。删除原文件重新在华为 support下载,拆包后传到服务器,重新给设备加载包文件。
ST_TP_MA5680T(config)#load packetfile
{ ftp
{ filename6c00HP1119_gpon_new2.bin
ST_TP_MA5680T(config)#
加载失败
参数信息:框号:0,槽号:9,位置:-1,加载类型:发布包文件,加载对象:主用主控板,失败原因 :包文件错误
ST_TP_MA5680T(config)#
加载失败
参数信息:框号:0,槽号:10,位置:-1,加载类型:发布包文件,加载对象:备用主 控板,失败原因 :包文件错误
依然加载失败,排除原文件错误问题。
3、怀疑拆包错误引起。
拆包工具正确,包文件内容如下:
把该文件拿到现场另一台OLT加载,补丁版本成功加载:
STYD_XXDL_MA5680T#display io-packetfile information
Version of the board software packetfile:MA5600V800R006C02HP1119
---------------------------------------------------------------------------
Index File Type Version File Length
---------------------------------------------------------------------------
0 H801ETHB BIOS 107 612608
1 H801ETHB PROGRAM 126 3748736
2 H801GPBC BIOS 715 366080
3 H801GPBC PROGRAM 668 4988544
4 H801FICB BIOS 108 4224
5 H801GICD BIOS 108 4352
6 H801GICE BIOS 108 4480
7 H801GICF BIOS 108 4608
8 H801GICG BIOS 108 4736
9 H801GICD CPLD 108 10752
10 H801GICF CPLD 108 10880
11 H801GICE CPLD 107 9984
12 H801GICG CPLD 107 10112
13 H801FICB PROGRAM 340 46080
14 H801GICD PROGRAM 340 46208
15 H801GICE PROGRAM 340 46336
16 H801GICF PROGRAM 340 46464
17 H801GICG PROGRAM 340 46592
18 H801FICA PROGRAM 150 32256
19 H801GICA PROGRAM 150 32256
20 H801GICB PROGRAM 150 32256
21 FAN PROGRAM 156 7808
22 H801ESC PROGRAM 110 18816
23 H802GPBD BIOS 106 524160
24 H802GPBD PROGRAM 665 3804928
---------------------------------------------------------------------------
Status of the board software packetfile:active
STYD_XXDL_MA5680T#display patch all
Software Version:MA5600V800R006C02
SPC100
SPH119
HP1016
------------------------------------------------------------------------
Current Patch State:
------------------------------------------------------------------------
Patch Name Patch State Delivery Attribute Dependency
------------------------------------------------------------------------
SPC100 running common cold patch NO
HP1016 running common hot patch NO
SPH119 running common hot patch YES
------------------------------------------------------------------------
Total:3
Patches in the system cannot be rolled back
排查拆包错误引起的推断。
4、网络丢包。
在OLT设备上ping 服务器:
ST_TP_MA5680T(config)#ping -c 100 192.168.35.242
Reply from 192.168.35.242: bytes=56 Sequence=99 ttl=253 time=1 ms
Reply from 192.168.35.242: bytes=56 Sequence=100 ttl=253 time=1 ms
--- 192.168.35.242 ping statistics ---
100 packet(s) transmitted
100 packet(s) received
0.00% packet loss
round-trip min/avg/max = 1/25/100 ms
排除了服务器与设备丢包问题。
怀疑从客户端传到服务器时丢包,在客户端ping服务器:
C:\Documents and Settings\Administrator>ping 10.253.238.45 -t
Reply from 10.253.238.45: bytes=32 time<1ms TTL=253
Reply from 10.253.238.45: bytes=32 time<1ms TTL=253
Reply from 10.253.238.45: bytes=32 time<1ms TTL=253
Ping statistics for 10.253.238.45:
Packets: Sent = 511, Received = 511, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 1ms, Average = 0ms
文件传输不存在丢包。
5、虽然不存在丢包,但是在现场加载就没问题,远程加载就出现包文件错误,故依然怀疑包文件传输有问题。
看下从客户端把文件传到服务器步骤:
C:\Documents and Settings\Administrator>ftp
ftp> open 10.253.238.45
Connected to 10.253.238.45.
220 hoste10000g0 FTP server ready.
User (10.253.238.45:(none)): root
331 Password required for root.
Password:
230 User root logged in.
ftp> put "C:\Documents and Settings\Administrator\桌面\ sculv8r6c00HP1119_gpon_new.bin"
200 PORT command successful.
150 Opening ASCII mode data connection for OLT补丁升级脚本).txt.
226 Transfer complete.
从传输过程可以看到,windowxp默认的传输格式为ASCII传输,而linux系统ftp传输时采用二进制传输。在传输过程中导致包文件错误。
解决措施:
1、通过cuteftp把文件文件上载到服务器,再重新加载包文件,文件加载成功:
ST_TP_MA5680T(config)
load packetfile ftp ‘ 10.253.238.45 sculv8r6c00HP1119_gpon_new.bin
加载新的包文件将覆盖原有的包文件
回滚功能将被取消, 请确认系统已经不需要回滚
确实需要加载包文件? (y/n)[n]:y
加载(备份,复制,...)命令开始进行, 请耐心等待并注意结果进度显示
加载(备份,复制,...)进行过程中, 任何复位或倒换操作都会导致失败
并引发不可预知的严重后果
加载开始
参数信息:框号:0,槽号:9,位置:-1,加载类型:发布包文件,加载对象:主用主控板
ST_TP_MA5680T(config)#
加载成功
参数信息:框号:0,槽号:9,位置:-1,加载类型:发布包文件,加载对象:主用主控板
重启设备后,补丁已经正确打上。
2、在传文件时设为二进制传输:
ftp> binary
200 Type set to I.
把文件传到服务器上也同样能正确打上补丁。
经验总结:
windowxp默认的传输格式为ASCII传输,而linux系统ftp传输时采用二进制传输。在传输过程中导致包文件错误,由于N2000网管安装在linux系统中,用dos命令从客户端上载文件的时候尤其要注意ftp传输的格式问题。包括ONU的版本,设备数据库文件等,最好用ftp工具上传下载,避免由于文件传输格式不一致引起的错误。
本文来源:https://www.2haoxitong.net/k/doc/537ff502f5ec4afe04a1b0717fd5360cbb1a8d5b.html
文档为doc格式