功能介绍

华为交换机使用U盘开局或升级,该方法适用于新设备和非在线设备(在线设备是指已经在运行业务的设备)。U盘开局是指设备在开局部署时,用户预先将开局文件存储在U盘中,然后将U盘插入设备,通过从U盘下载开局文件来对设备实现目标版本以及相关业务的部署。

随着网络规模的扩大,网络中需要部署的设备数量越来越多,开局部署也日渐增多。相比传统的通过专业工程师逐台的去给设备开局的模式,U盘开局功能只需要让专业工程师把所有开局文件存储到U盘中即可,具体开局任务可以通过开局现场非专业人员来进行。这样即简化了开局部署流程,又降低了开局部署成本。

V200R021C10版本特性支持情况,仅如下款型支持U盘开局:(具体版本支持情况请查看华为官网)

S5720-LI、S5720S-LI(支持USB接口的款型)、S5720I-SI、S5735S-H、S5736-S、S5731-H、S5731-H-K、S5731-S、S5731S-S、S5731S-H、S5732-H、S5732-H-K、S5735-L-I、S5735-L1、S5735-L、S5735S-L1、S5735S-L、S5735S-L-M、S500(支持USB接口的款型)、S5735-S、S5735S-S、S5735-S-I(支持USB接口的款型)、S6735-S、S6720-EI、S6720S-EI、S6730-H、S6730-H-K、S6730S-H、S6730-S、S6730S-S

usb开局设备运行流程.png前期准备

设备有足够的内存空间保存开局文件、FAT32分区格式的U盘、smart_config.ini索引文件、电脑、console线、系统文件".cc"、补丁文件".pat"、配置文件".cfg”或“.zip”,配置文件和补丁文件是可选的,根据个人情况进行准备。

制作smart_config.ini索引文件

以下为V200R021C10版本,华为官方索引文件示例,每个字段我都以“;”注释写明含义。

BEGIN LSW ;必选字段。起始标志,此字段不能修改。
[GLOBAL CONFIG] ;必选字段。全局配置起始标志,此字段不能修改。
TIMESN= ;必选字段。数据变更时间标志,字符串格式,长度范围为1~16,不能包含空格。建议格式:年月日.时分秒。例如,2011年06月28日08时09分10秒,可设置为TIMESN=20110628.080910。
AUTODELFILE= ;可选字段,表示是否允许升级后自动删除原有系统软件。默认为NO,建议设置成YES。
ACTIVEMODE= ;可选字段,表示文件拷贝完成后的文件激活方式。默认为DEFAULT:按照各个文件的默认方式激活。可选RELOAD:采用重启设备的方式激活。建议使用DEFAULT。
USB-DEPLOYMENT PASSWORD= ;可选字段,U盘开局的认证密码。该字段必须与交换机上配置的开局认证密码一致,开局认证密码需要手动在交换机上配置。
[DEVICEn DESCRIPTION] ;必选字段,单台设备文件信息描述起始标志,n表示设备的编号,从0开始,最大为65535。示例:[DEVICE110 DESCRIPTION]。
OPTION= ;可选字段,单台设备文件信息有效标志,表示该设备文件信息是否有效。默认为OK表示有效,NOK表示无效,此单台设备的文件信息都无需判断
ESN= ;可选字段,设备序列号。如果ESN=DEFAULT,表示不匹配ESN序列号,否则需要和设备匹配ESN。默认为DEFAULT,建议填写自己的设备ESN。
MAC= ;可选字段,设备MAC地址,格式为:XXXX-XXXX-XXXX,X为十六进制数。默认值为DEFAULT,如果已经填写ESN则该项建议填写DEFAULT。
AUTODELFILE= ;可选字段,表示是否允许升级后自动删除原有系统软件。默认为NO,建议设置成YES。在[DEVICEn DESCRIPTION]下时优先级高于[GLOBAL CONFIG]下的AUTODELFILE
ACTIVEMODE= ;可选字段,表示文件拷贝完成后的文件激活方式。默认为DEFAULT:按照各个文件的默认方式激活。可选RELOAD:采用重启设备的方式激活。建议使用DEFAULT,在[DEVICEn DESCRIPTION]下时优先级高于[GLOBAL CONFIG]下的ACTIVEMODE
DEVICETYPE= ;可选字段,表示与设备的类型匹配,例如S5732-H。默认值为DEFAULT,如果你有多个型号的设备需要使用U盘开局请填写该字段。
HMAC= ;可选字段。配置文件的HMAC校验值,用于对加载的配置文件进行校验。默认为不校验,使用该字段较为麻烦需要使用HMAC-SHA256计算工具(如OpenSSL或者HashCalc)生成配置文件的HMAC值。该值必须与交换机计算出来的HMAC值一致否则开局失败。
DIRECTORY= ;可选字段,文件在U盘中存放的目录。默认为根目录“/”,目录深度小于等于4级。目录必须以“/”开头,每一级目录以“/”隔开,但不能以“/”结束,例如/abc/test是合法目录,/abc/test/则是非法目录。每一级目录的字符串长度范围是1~15。目录名使用的字符不可以是空格、“~” 、“*” 、“/” 、“\” 、“:” 、“'” 、“"” 、“<” 、“>” 、“|” 、“?” 、“[” 、“]”、“%” 等字符,目录名称不区分大小写。不建议使用中文目录。
SYSTEM-SOFTWARE= ;可选字段,系统软件名称,后缀名为“.cc”。这里只需填写文件的名称+文件后缀,系统会自动在“DIRECTORY”设置的值中查找,如没有设置则在跟目录查找。
SYSTEM-CONFIG= ;可选字段,配置文件名称,后缀名为“.cfg”或“.zip”。这里只需填写文件的名称+文件后缀,系统会自动在“DIRECTORY”设置的值中查找,如没有设置则在跟目录查找。
SYSTEM-PAT= ;可选字段,补丁文件名称,后缀名为“.pat”。这里只需填写文件的名称+文件后缀,系统会自动在“DIRECTORY”设置的值中查找,如没有设置则在跟目录查找。
SYSTEM-WEB= ;可选字段。Web网页文件名称,后缀名为“.web.7z”。这里只需填写文件的名称+文件后缀,系统会自动在“DIRECTORY”设置的值中查找,如没有设置则在跟目录查找。
SYSTEM-SCRIPT= ;可选字段。表示脚本文件的名称,脚本文件以“.bat”为文件后缀,文件名长度为5~64个字符,格式与配置文件一致,“!”表示注释。这里只需填写文件的名称+文件后缀,系统会自动在“DIRECTORY”设置的值中查找,如没有设置则在跟目录查找。
SYSTEM-USERDEF1= ;可选字段。用户自定义文件1。
SYSTEM-USERDEF2= ;可选字段。用户自定义文件2。
SYSTEM-USERDEF3= ;可选字段。用户自定义文件3。
END LSW ;必选字段,文件结束标志。
下面是我个人使用过的索引文件,大家可以进行一个参考。
BEGIN LSW
[GLOBAL CONFIG]
TIMESN=20230118.014500
[DEVICE0 DESCRIPTION] ;设备0的配置
ESN=020TEA10xxxxxxxx
AUTODELFILE=YES
DEVICETYPE=S5720S-SI
SYSTEM-SOFTWARE=S5720SI-new.CC
SYSTEM-USERDEF1=userfile.txt
[DEVICE1 DESCRIPTION] ;设备1的配置,DEVIVE最多可以添加到65535
ESN=020TEA10xxxxxxxx
AUTODELFILE=YES
DEVICETYPE=S5720S-SI
SYSTEM-SOFTWARE=S5720SI-new.CC
SYSTEM-CONFIG=vrpcfgnew.zip
SYSTEM-PAT=patch.pat
END LSW

使用U盘进行开局

制作好索引文件后将所有的文件放进FAT32分区的U盘里,交换机上电开机。如果是新开箱的机器则无需对交换机进行设置可直接插上U盘进行开局,插入U盘后无需做任何操作交换机会自动读取索引文件并进行升级打补丁等操作。如果非新设备进行升级则需要使用console进入交换机进行配置。

  1. 执行命令system-view,进入系统视图。

  2. 执行命令undo set device usb-deployment disable,使能设备的U盘开局功能。

    缺省情况下,U盘开局功能是去使能的。建议U盘开局结束后,将此功能关闭。但是如果设备是空配置设备,则U盘开局功能一直是使能的。

  3. (可选)执行命令set device usb-deployment config-file password password,配置U盘开局时用于对配置文件进行加密和解密的密码。

    当U盘开局升级文件中包含配置文件时,为提高安全性,建议通过此命令配置密码,并将配置文件通过此密码按照标准zip格式压缩加密后保存至U盘。如果需要对配置文件进行HMAC校验,则必须要通过此步骤配置密码。

    如果是非空配置设备进行U盘开局,必须通过命令set device usb-deployment config-file password配置加密和解密的密码。

  4. (可选)执行命令set device usb-deployment hmac-key,配置U盘开局时HMAC校验功能的HMAC密钥。

    U盘开局时,如果使能了HMAC校验功能,则使用set device usb-deployment hmac-key命令配置的HMAC密钥计算需要加载的配置文件的HMAC值,然后将该值与索引文件中的“HMAC”字段值进行比较。如果一致,则文件合法,可以进行U盘开局;如果不一致,则文件非法,不能进行U盘开局。

  5. (可选)执行命令set device usb-deployment hmac,使能配置文件的HMAC校验功能。

    用户在进行U盘开局时,如果升级文件中包含配置文件,可以对加载的配置文件进行HMAC校验,以保证文件的合法性。

通过指示灯查看U盘开局状态

如果此次升级需要设备重启生效,则在重启前会延时10秒,在此时间内,设备USB灯黄色常亮。

S6735-S、S6720S-EI、S5720I-6X-PWH-SI-AC和S5720I-10X-PWH-SI-AC:通过SYS指示灯的状态,判断U盘开局进行的状态。

  • 黄色慢闪(每2秒闪一次):U盘开局成功。

  • 绿色快闪(每秒闪四次):U盘数据读取中。

  • 红色快闪(每秒闪四次):U盘开局失败。

通过USB指示灯的状态,判断U盘开局进行的状态(S5720I-6X-PWH-SI-AC和S5720I-10X-PWH-SI-AC除外)。

  • 绿色常亮:U盘开局成功。

  • 绿色快闪(每秒闪四次):U盘数据读取中。

  • 红色快闪(每秒闪四次):U盘开局失败。

  • 绿色慢闪:文件拷贝完成且校验成功,U盘可以拔出。

  • 常灭:可能原因有U盘中无索引文件、未插U盘、USB接口损坏、指示灯坏、插入非开局U盘、重启过程中。

说明

U盘开局成功后,系统会在U盘根目录下生成开局成功报告usbload_verify.txt文件。此时,可以拔出U盘,U盘开局结束。

如果U盘开局失败,系统也会在U盘根目录下生成错误报告usbload_error.txt文件,可以通过查看此文件定位失败原因。

U盘开局结束后,建议执行set device usb-deployment disable命令,去使能设备的U盘开局功能,防止因U盘误插入而引起不必要的版本升级,导致业务中断。