← 回到技术随笔
· 9101 字

H3C交换机更换设备配置迁移实例

以H3C S5570S和Comware V7为例,记录旧交换机配置备份、新设备兼容性检查、离线导入、分批接线、业务验证和快速回退方法。

本文以 H3C S5570S 系列和 Comware V7 为主要示例。文中的地址、接口和文件名需要按现场实际信息替换。

一、现场场景

公司更换交换机时,现场通常有两种情况:旧交换机还能登录,可以重新导出配置;旧交换机已经无法启动,只能使用以前留下的备份,或者根据现网资料重新配置。

最容易出问题的不是复制配置文件,而是把旧设备无法远程登录当成配置已经丢失,或者拿到一份旧备份后没有核对就直接恢复。

这次使用下面的示例:

项目 示例值
旧交换机 HQ-Access-01
新交换机 同型号 H3C S5570S
Comware 新旧设备使用相同 Release
管理 VLAN 100
管理 IPv4 192.168.100.2
管理 IPv6 2001:db8:100::2
配置备份服务器 192.168.100.30
SFTP 端口 22222
迁移配置文件 HQ-Access-01-migration.cfg

新旧交换机最终使用相同的管理地址,因此不能同时连接生产网络。配置新设备时,先保持上联口断开,只使用 Console 或隔离的临时管理网络。

二、先决定能不能直接导入配置

1. 可以直接导入的情况

同时满足下面条件时,可以考虑把旧配置文件作为新设备的启动配置:

  • 交换机完整型号相同;
  • Comware 大版本和 Release 相同;
  • 接口数量、类型和编号相同;
  • 需要的功能和软件包相同;
  • 旧配置文件完整并且已经验证;
  • 新设备没有需要保留的生产配置。

即使条件全部满足,也要先在离线状态下启动和检查,不能导入完成后直接接上所有网线。

2. 不能直接导入的情况

下面任意一项不同,都应逐段迁移:

  • 交换机型号或端口数量不同;
  • 上联口从千兆改成万兆,接口名称变化;
  • Comware V5 更换为 V7;
  • 聚合成员端口重新规划;
  • 新设备缺少旧设备使用的功能;
  • 配置中存在与原硬件、证书或授权相关的内容。

逐段迁移时,可以参考旧配置,但要重新整理 VLAN、管理地址、聚合、Trunk、Access 端口、路由、ACL、SSH、SNMP、NTP 和 Syslog,不能把整份文件直接设为启动配置。

三、旧交换机还能登录时保存资料

远程 SSH 登录失败不等于交换机已经损坏。我会先观察电源和端口指示灯,再尝试从 Console 登录。只要 Console 还能进入系统,就先记录设备和启动状态:

# 查看完整型号、Comware版本、补丁和运行时间。
<HQ-Access-01> display version

# 查看当前正在运行的软件和下次启动软件。
<HQ-Access-01> display boot-loader

# 查看当前和下次启动配置文件。
<HQ-Access-01> display startup

# 查看当前设备和端口状态。
<HQ-Access-01> display device
<HQ-Access-01> display interface brief description

再保存配置:

# 安全保存当前配置,避免最近的修改没有进入启动文件。
<HQ-Access-01> save safely force

# 另存一份迁移文件,不改变当前主启动配置。
<HQ-Access-01> save flash:/HQ-Access-01-migration.cfg

# 确认文件存在并记录大小。
<HQ-Access-01> dir flash:/HQ-Access-01-migration.cfg

迁移文件还要上传到内网备份服务器。服务器端核对文件大小和校验值后,再保留一份只读副本。

除了配置文件,我还会保存:

  • 机柜和交换机正面的照片;
  • 每根网线的标签和原端口号;
  • 上联、聚合、Trunk 和管理口对应关系;
  • display current-configuration 的文本记录;
  • VLAN、MAC、ARP、IPv6 邻居和路由的检查结果;
  • 原设备的序列号和故障现象。

配置文件只能恢复命令,不能告诉我哪根现场网线原来插在哪个端口。

四、旧交换机损坏并且无法登录

旧设备无法启动、Console 也无法进入系统时,不能再从设备上执行备份命令。这时先找以前保存的配置,不要急着凭记忆配置新交换机。

1. 有完整配置备份

我会按下面的顺序查找:

  1. 内网配置备份服务器上的自动备份;
  2. 上一次人工导出的 .cfg 文件;
  3. 网管平台保存的配置;
  4. 变更记录中附带的配置文件。

找到文件后,先确认设备名称、备份日期、原交换机型号和 Comware 版本。文件名相同不代表内容就是最新的,还要查看最后修改时间,并与最近的变更记录核对。

备份来自相同型号、相同 Release 和相同接口结构的设备时,可以按后面的离线导入方法恢复。如果型号或版本不同,就把备份当作参考,按功能逐段迁移。

2. 只有较早的配置备份

旧备份仍然有价值,但不能直接认为它与故障前的配置完全一致。我会先用它恢复基础配置,再从下面这些地方补齐后续变化:

  • 近期交换机变更记录;
  • 上联交换机或防火墙上的对端端口配置;
  • DHCP 地址池、网关和 VLAN 资料;
  • IP 地址表和 IP-MAC-端口绑定表;
  • 机柜、网线标签和端口照片;
  • 网管、Syslog 和配置备份服务器留下的记录;
  • 业务负责人提供的终端和业务用途。

例如,旧备份里只有 VLAN 10 和 VLAN 20,但上联口现在允许 VLAN 30 通过,说明备份后可能新增过业务。没有核对清楚之前,不要把所有终端一次接回新交换机。

3. 完全没有配置备份

这种情况已经不是配置迁移,而是根据现网资料重建。先从上联设备、地址规划和现场接线中确认:

  1. 原交换机的管理 VLAN、管理地址和网关;
  2. 上联端口使用 Access、Trunk 还是链路聚合;
  3. 上联允许通过哪些 VLAN;
  4. 每个接入端口连接什么设备,应该进入哪个 VLAN;
  5. 是否有 IP-MAC-端口绑定、ACL、SSH、SNMP、NTP 和 Syslog;
  6. IPv4、IPv6、静态路由以及其他必须恢复的配置。

重建时先配置管理地址、一条上联和一个测试端口。确认可以管理交换机、VLAN 能够通过、测试电脑业务正常后,再分批恢复其他端口。无法确认用途的端口先不接,不能为了尽快恢复而把所有端口放进同一个 VLAN。

旧设备生成的 SSH 密钥、证书、许可证和未留档的密码不一定能从其他设备恢复。遇到这些内容,需要在新设备上重新生成、重新申请或重新设置,并同步修改网管和备份服务器上的相关记录。

4. 保留损坏设备

在新交换机业务验证完成之前,我不会清空、拆解或报废旧设备。如果只是电源、风扇或管理链路故障,后续仍可能恢复启动并补取配置。需要拆机或读取存储介质时,应交给厂商或有条件的维修人员处理,不建议现场直接拔取存储器尝试读取。

五、检查新交换机

新设备先不要接入生产上联。通过 Console 登录后检查:

# 确认新设备的完整型号和Comware版本。
<H3C> display version

# 确认设备、风扇、电源和温度没有异常。
<H3C> display device
<H3C> display fan
<H3C> display power
<H3C> display environment

# 查看新设备已有配置和启动文件。
<H3C> display current-configuration
<H3C> display startup
<H3C> dir

如果新设备不是空配置,先保存一份原始配置:

# 只把新设备当前配置另存为文件,不指定为下次启动配置。
<H3C> save flash:/new-device-before-migration.cfg

旧设备和新设备的型号、版本或接口不一致时,到这里就停止整份导入,改用逐段迁移。

六、把迁移文件下载到新交换机

下面继续使用前面配置备份文章中的 SFTP 服务器。新交换机通过隔离的临时管理网络连接服务器,不能使用旧交换机仍在生产网络中使用的管理地址。

例如,备份服务器地址是 192.168.100.30,旧交换机管理地址是 192.168.100.2,我会先给新交换机使用临时地址 192.168.100.253。下面用 GigabitEthernet1/0/1 连接备份服务器,实际操作时要选择没有接入生产网络的端口。

<H3C> system-view
# 进入系统视图。

[H3C] vlan 100
# 创建临时管理VLAN 100。

[H3C-vlan100] quit
# 返回系统视图。

[H3C] interface Vlan-interface100
# 进入VLAN 100的三层接口。

[H3C-Vlan-interface100] ip address 192.168.100.253 255.255.255.0
# 配置临时地址,不能使用仍在线的旧交换机管理地址192.168.100.2。

[H3C-Vlan-interface100] quit
# 返回系统视图。

[H3C] interface GigabitEthernet1/0/1
# 进入连接备份服务器的临时端口。

[H3C-GigabitEthernet1/0/1] port link-type access
# 把临时端口设置为Access口。

[H3C-GigabitEthernet1/0/1] port access vlan 100
# 把临时端口加入VLAN 100。

[H3C-GigabitEthernet1/0/1] undo shutdown
# 确保端口处于启用状态。

[H3C-GigabitEthernet1/0/1] return
# 返回用户视图。

<H3C> ping 192.168.100.30
# 确认新交换机能够访问备份服务器。

这组配置只用于传输文件,不执行 save。新交换机重启并加载迁移文件后,会恢复正式管理地址和端口配置。

# 连接内网备份服务器,端口沿用公司规划的22222。
<H3C> sftp 192.168.100.30 22222
Username: h3cbackup
Password:

# 下载经过核对的迁移配置文件。
sftp> get HQ-Access-01-migration.cfg flash:/HQ-Access-01-migration.cfg

# 查看交换机Flash中的文件。
sftp> quit
<H3C> dir flash:/HQ-Access-01-migration.cfg

首次连接时要核对服务器公钥指纹。下载后再比较交换机与服务器端显示的文件大小,文件不完整就不能继续。

七、同型号同版本的离线导入

确认型号、版本和端口完全一致后,把迁移文件设置为新设备的主启动配置:

# 把迁移文件指定为下次主启动配置。
<H3C> startup saved-configuration flash:/HQ-Access-01-migration.cfg main

# 确认Next main指向迁移文件。
<H3C> display startup

此时配置还没有在新设备上生效,需要重启。重启前继续保持生产上联断开:

# 重启新交换机,让迁移配置生效。
<H3C> reboot

如果设备询问是否保存当前临时配置,应选择 N。迁移文件已经被指定为下次主启动配置,如果这时保存新设备的临时配置,可能覆盖原本准备加载的迁移文件。

设备启动过程中要通过 Console 观察是否有命令不支持、接口不存在或配置加载失败的提示。出现错误时先记录,不要马上接入生产网络。

八、型号或版本不同时逐段迁移

型号、端口或版本不同,我会把旧配置分成下面几组,按顺序重新配置:

  1. 设备名称和基础管理;
  2. VLAN 和管理 VLAN 接口;
  3. IPv4、IPv6 地址和路由;
  4. 链路聚合与上联 Trunk;
  5. 普通 Access 端口和端口说明;
  6. IP-MAC-端口绑定等接入策略;
  7. SSH、ACL 和本地账号;
  8. SNMP、NTP、Syslog 和配置备份;
  9. 生成树、环路检测和其他防护。

端口变化应先做对应表:

原端口 原用途 新端口 处理
GigabitEthernet1/0/47 上联成员1 现场规划 重新加入聚合
GigabitEthernet1/0/48 上联成员2 现场规划 重新加入聚合
GigabitEthernet1/0/1 办公电脑 现场规划 配置相同Access VLAN
GigabitEthernet1/0/2 办公电脑 现场规划 核对绑定后迁移

V5 配置不能直接当作 V7 配置文件加载。命令名称、接口视图和本地用户权限都有差异,应使用前面各篇已经核实的 V7 配置重新建立。

九、离线检查迁移结果

新设备重启后仍然不要接生产上联,先通过 Console 检查:

# 确认迁移文件已经成为当前和下次启动配置。
<HQ-Access-01> display startup

# 查看现在真正生效的配置。
<HQ-Access-01> display current-configuration

# 查看是否有接口、配置或系统异常日志。
<HQ-Access-01> display logbuffer

# 检查VLAN、管理接口、聚合和端口配置。
<HQ-Access-01> display vlan brief
<HQ-Access-01> display ip interface brief
<HQ-Access-01> display ipv6 interface brief
<HQ-Access-01> display link-aggregation summary
<HQ-Access-01> display interface brief description

配置文件迁移后,还要单独检查这些内容:

  • 新设备的序列号和设备 MAC 已经变化;
  • SSH 主机指纹需要重新核对;
  • SNMPv3、网管识别和告警接收需要重新测试;
  • 许可证、证书和设备生成的密钥不能只靠配置文件判断;
  • IP-MAC-端口绑定要与新端口对应关系一致;
  • 新设备时间可能还没有完成 NTP 同步。

只有配置检查通过,才进入正式换线。

十、正式换线顺序

维护窗口开始后,按下面的顺序处理:

  1. 旧交换机还能登录时,做最后一次配置保存和备份;
  2. 旧交换机无法登录时,确认准备使用的备份版本和已经补录的变更;
  3. 断开旧交换机的上联和管理连接;
  4. 确认旧设备已经不会再使用原管理地址;
  5. 安装新交换机,先连接 Console 和电源;
  6. 按标签连接两条上联;
  7. 检查聚合和 Trunk 正常后,再分批连接普通端口;
  8. 每接入一批端口就检查 VLAN、MAC 学习和业务;
  9. 全部验证通过后保存配置。

新旧设备不能同时带着 192.168.100.22001:db8:100::2 接入网络,否则会出现地址冲突。

十一、上线后的验证

1. 先检查上联

# 确认聚合成员正常选中。
<HQ-Access-01> display link-aggregation summary
<HQ-Access-01> display link-aggregation verbose bridge-aggregation 1

# 确认聚合接口上的Trunk和允许通过的VLAN正确。
<HQ-Access-01> display current-configuration interface Bridge-Aggregation 1

# 检查STP状态,避免换线形成重复路径。
<HQ-Access-01> display stp brief

聚合组编号必须以现场配置为准,示例中的 Bridge-Aggregation1 不能直接照搬。

2. 再检查管理和业务

# 测试IPv4和IPv6网关。
<HQ-Access-01> ping 192.168.100.1
<HQ-Access-01> ping ipv6 2001:db8:100::1

# 查看MAC、ARP和IPv6邻居是否重新学习。
<HQ-Access-01> display mac-address dynamic
<HQ-Access-01> display arp
<HQ-Access-01> display ipv6 neighbors

# 查看端口状态和系统日志。
<HQ-Access-01> display interface brief description
<HQ-Access-01> display logbuffer

还要从运维电脑测试非默认端口 SSH,从网管平台测试 SNMP,再确认 NTP、Syslog 和自动备份恢复正常。办公电脑要测试网关、内网系统和实际业务。

3. 保存新设备配置

# 所有验证通过后,安全保存新设备当前配置。
<HQ-Access-01> save safely force

# 确认下次启动配置正确。
<HQ-Access-01> display startup

十二、回退方法

旧交换机仍然可用时,迁移失败后可以恢复旧设备:

  1. 断开新交换机的上联和管理连接;
  2. 按原端口标签重新连接旧交换机;
  3. 恢复旧交换机电源和上联;
  4. 检查聚合、Trunk、管理地址和业务;
  5. 确认旧设备恢复后,再离线处理新设备。

回退完成前不要清空旧交换机配置,也不要拆乱原来的网线标签。

旧交换机已经完全损坏时,没有“重新接回旧设备”这条退路。这种情况下要保留新设备修改前的配置文件,每次只恢复一组端口;发现问题时撤销刚才的一组配置,或者重新加载上一个已经验证的配置文件。必要时先恢复最重要的业务和少量端口,剩余端口等资料核对完成后再处理。

十三、Comware V5 版本差异

Comware V5 同样可以把配置文件指定为下次启动配置:

# 查看当前和下次启动配置文件。
<HQ-Access-01> display startup

# 把迁移文件指定为下次主启动配置。
<HQ-Access-01> startup saved-configuration flash:/HQ-Access-01-migration.cfg main

# 再次确认主启动配置文件。
<HQ-Access-01> display startup

V5 只能直接导入到型号、版本和接口结构相同的 V5 设备。V5 更换为 V7 时,应按第八章逐段转换,不能直接加载整份 V5 配置。

十四、小结

更换交换机时,先确认旧设备只是远程管理失败,还是已经完全无法启动。Console 还能登录就立即补做备份;设备完全损坏就从备份服务器或网管平台找配置;没有备份时,只能根据上联配置、地址规划和现场接线逐步重建。

同型号同版本可以离线加载启动配置;型号、端口或版本不同,就按功能和端口对应表逐段迁移。旧备份也要核对日期和后续变更,不能把找到配置文件等同于已经得到故障前的完整配置。

正式换线前要备份旧配置、记录每根网线、断开旧设备,再让新设备使用原管理地址。上线后先验证聚合和 Trunk,再检查管理、监控和终端业务。失败时及时断开新设备并恢复旧设备,不要在业务中断状态下连续试错。

完整配置汇总

下面汇总同型号、同版本设备的迁移命令。命令执行前必须确认新设备仍与生产上联断开。旧交换机完全无法登录时,跳过第一组命令,直接使用备份服务器上已经核对的配置文件。

# 旧交换机还能登录时:保存并生成迁移文件。
# 旧交换机完全损坏时跳过这三条命令。
<HQ-Access-01> save safely force
<HQ-Access-01> save flash:/HQ-Access-01-migration.cfg
<HQ-Access-01> dir flash:/HQ-Access-01-migration.cfg

# 新交换机:先保存新设备原始配置。
<H3C> save flash:/new-device-before-migration.cfg

# 新交换机:配置临时地址和临时Access端口,不执行save。
<H3C> system-view
[H3C] vlan 100
[H3C-vlan100] quit
[H3C] interface Vlan-interface100
[H3C-Vlan-interface100] ip address 192.168.100.253 255.255.255.0
[H3C-Vlan-interface100] quit
[H3C] interface GigabitEthernet1/0/1
[H3C-GigabitEthernet1/0/1] port link-type access
[H3C-GigabitEthernet1/0/1] port access vlan 100
[H3C-GigabitEthernet1/0/1] undo shutdown
[H3C-GigabitEthernet1/0/1] return
<H3C> ping 192.168.100.30

# 新交换机:通过隔离的临时管理网络下载迁移文件。
<H3C> sftp 192.168.100.30 22222
Username: h3cbackup
Password:
sftp> get HQ-Access-01-migration.cfg flash:/HQ-Access-01-migration.cfg
sftp> quit
<H3C> dir flash:/HQ-Access-01-migration.cfg

# 新交换机:指定迁移文件为下次主启动配置。
<H3C> startup saved-configuration flash:/HQ-Access-01-migration.cfg main
<H3C> display startup

# 保持生产上联断开,再重启加载迁移配置。
# 如果询问是否保存临时配置,选择N。
<H3C> reboot

# 新设备启动后:先做离线检查。
<HQ-Access-01> display startup
<HQ-Access-01> display current-configuration
<HQ-Access-01> display vlan brief
<HQ-Access-01> display ip interface brief
<HQ-Access-01> display ipv6 interface brief
<HQ-Access-01> display link-aggregation summary
<HQ-Access-01> display interface brief description
<HQ-Access-01> display logbuffer

# 正式换线后:检查上联和业务。
<HQ-Access-01> display link-aggregation summary
<HQ-Access-01> display link-aggregation verbose bridge-aggregation 1
<HQ-Access-01> display current-configuration interface Bridge-Aggregation 1
<HQ-Access-01> display stp brief
<HQ-Access-01> ping 192.168.100.1
<HQ-Access-01> ping ipv6 2001:db8:100::1
<HQ-Access-01> display mac-address dynamic
<HQ-Access-01> display arp
<HQ-Access-01> display ipv6 neighbors

# 全部验证通过后保存。
<HQ-Access-01> save safely force
<HQ-Access-01> display startup

参考资料