Home / Notes / Firewall Upgrade Maintenance
NOTES · FIREWALL MAINTENANCE / UPGRADE DISCIPLINE

Firewall Upgrade Without Downtime: Backup, Upgrade and Rollback Discipline

A firewall upgrade rarely fails because of the upgrade command itself — it fails because something wasn't backed up, the package wasn't verified before it was loaded, or a hot-standby pair got upgraded in the wrong order. This is the backup checklist, the package verification steps, the isolate-upgrade-verify-switchover sequence for a hot-standby pair, the rollback path, and the checklist to run before you close the change.

By the AtlasCommTech engineering team — 13 years of carrier & enterprise network deployments · Updated July 2026

Why Upgrade Incidents Are Backup Incidents in Disguise

Almost every upgrade that goes wrong traces back to one of three gaps — something wasn't backed up, the package wasn't verified before it was loaded, or a hot-standby pair got upgraded in the wrong order.

Most firewall upgrades are routine, right up until the one that isn't — and by then it is too late to go back and back up the configuration you just overwrote. Huawei's own maintenance guidance for the HiSecEngine USG6000F, USG6000G and USG12000 platform treats backup as a precondition of any serious maintenance operation, not an afterthought: the network's critical data is named explicitly — topology and device inventory, the configuration file, the License file, and the system software and patch files — to be backed up before anything else happens.

What follows is that backup checklist, how to verify an upgrade package before you load it, the sequence that keeps a hot-standby pair passing traffic through the whole upgrade, the rollback path if the new version does not work out, and the checklist to run before you consider the change complete.

What to Back Up Before You Touch the Upgrade Command

The source documentation names this list explicitly as the network's critical data — back it up before anything else happens.

CategoryWhat It CoversWhy It Matters
Topology & device inventoryDevice models, software and patch versions, topology diagramWithout a snapshot of what used to be connected to what, a bad upgrade turns from “roll back one device” into “reconstruct the network from memory.”
Configuration filevrpcfg.cfg / current-configurationEvery rollback path assumes you still have this, in a form you can diff against.
License fileLoaded independently per deviceA hot-standby pair does not share a License — each device needs its own, matching feature set and expiry.
System software & patch filesThe .cc packages currently running, plus any loaded patchBoth the version you're moving to and the version you're moving from — deleting the old one before the new one is verified removes your rollback path.
(Optional) Logs & signature-database versionsIPS / AV / URL feature-database versionsConfirms nothing silently regressed; not required for a bare rollback.
File Transfer: Use an Encrypted Method for Anything You're Pulling Off the Device

The source documentation compares Console, FTP, TFTP, SFTP and SCP as file-transfer methods: TFTP and plain FTP send data and login credentials in clear text, while SFTP and SCP encrypt and integrity-protect the transfer. For pulling a configuration or License backup off a live device, prefer SFTP or SCP over FTP or TFTP.

The Upgrade Sequence End to End

Ten steps, in this order — skip the isolation step and a hot-standby pair can end up split; skip the verification step and you carry an unverified assumption forward.

1. Back UpConfig, License,software & patch files 2. Verify PackageSpace, version match,signature & checksum 3. IsolateStandby device: shutbusiness + heartbeat if 4. Upgrade & RebootLoad new software onthe isolated device 5. Verify Versiondisplay version beforetouching anything else 6. Switch Overhrp switch active /hrp switch standby 7. Isolate Old ActiveSame isolation asstep 3, other device 8. Upgrade & RebootSame load-and-rebootas step 4 9. Verify Bothversion, patch, License,hrp state on each device 10. Restore & ConfirmInterfaces up, hrpinterface running

Diagram labels are kept in English for engineering clarity.

Steps 1 through 5 run on one device of a hot-standby pair, in isolation from its peer; steps 6 through 10 repeat the same isolate-upgrade-verify pattern on the other device, after traffic has been switched across on purpose. On a single, non-redundant firewall, steps 3, 6 and 7 simply don't apply — but 1, 2, 4, 5, 9 and 10 still do.

Verify the Package Before You Load It

A failed upgrade is often not a bad file — it's an unverified one; a handful of checks catch most of what would otherwise surface mid-upgrade.

  1. If pulling the file over FTP/SFTP, confirm the device can even reach the file server: ping between the PC and the device, and log in to the FTP or SFTP service manually once to confirm the username and password are actually correct on that server.
  2. Check the device's free storage space with dir before assuming a failed transfer was a network problem — a full flash device fails an upload just as reliably as a bad link.
  3. Check display version to confirm the software package actually matches this device's hardware type; a package built for the wrong device type won't load no matter how many times you retry the transfer.
  4. Compare the uploaded file's size against the same file's size on the source server — a mismatch means the transfer itself was incomplete.
  5. Run check system-software against the uploaded file. A signature-check failure doesn't automatically mean the file is corrupted — verify with a checksum before you conclude that and go back to the source.
  6. Get the file's SHA256 or MD5 value on the source PC with certutil -hashfile, then compare it against the device's own value with check file-digest digest-algorithm sha256 (or md5) — if the two match, the corruption happened before the file ever reached the device.
<HUAWEI> dir
Directory of flash:/
 Idx Attr Size(Byte) Date Time(LMT) FileName
 10 -rw- 25,841,428 Nov 17 2015 09:48:10 basicsoft.cc
 12 -rw- 26,101,692 Dec 21 2015 11:44:52 devicesoft.cc
1,927,220 KB total ( 1,130,464 KB free )

<HUAWEI> display version
Huawei YunShan OS
Version 1.23.0.X (XXX)
// software version must match this device's type — not interchangeable across device types

<HUAWEI> check system-software upgrade.cc
Caution! Confirm to check startup file! Continue? [Y/N]:y
Info: Prepare to check system software cfcard:/upgrade.cc, please wait, XX% completed.
// look for: System software signature check passed! / ...check failed!

C:\Users\xxxx> certutil -hashfile "C:\upgrade\upgrade.cc" SHA256

<HUAWEI> check file-digest digest-algorithm sha256 <hash-from-certutil> upgrade.cc
Info: Verification completed. The digest value of cfcard:/upgrade.cc is the same as the input digest value.

Upgrading a Hot-Standby Pair Without Losing Traffic

The order matters more than the commands — isolate one device completely, upgrade it alone, verify it, then switch traffic across on purpose.

  1. Before starting, confirm both devices in the pair still qualify to be a pair: identical product model, software version, patch version, feature package and signature-library version; identical interface cards in identical slots; identical business and heartbeat interfaces; and — because a hot-standby pair does not share a License — each device already holding its own currently valid License with a matching feature set and expiry.
  2. Choose which device to upgrade first (commonly the standby) and isolate it completely: shut down its business interfaces and its heartbeat interface so it cannot try to renegotiate its role with its peer mid-transfer.
  3. Load the new software on the isolated device and reboot it, then confirm it actually came up on the target version with display version before touching anything else.
  4. Bring its interfaces back up only after the version is confirmed. Expect it to rejoin as standby, not active: a rebooted device only attempts to preempt into the active role once its main-board configuration is restored, at least one CPU is online, and at least one heartbeat-carrying interface board is back — and only after waiting a further minute on top of that.
  5. Trigger the switchover on purpose rather than waiting for an unplanned failure to move traffic — hrp switch standby on the device still running the old version, or hrp switch active on the device you just upgraded.
  6. Repeat the isolate, upgrade, verify cycle on the device that was originally active and is now standby.
  7. Run the three trigger tests before you close the change: shutting down a business interface, physically unplugging a cable, and a full power-cycle reboot. Each one has to move traffic to the other device without an interruption a user would notice.
HRP_M[sysname] hrp switch standby
// forces this active device to yield; peer takes over as active

HRP_S[sysname] hrp switch active
// forces this standby device to take over as active

<sysname> system-view
[sysname] hrp track interface 10GE 1/0/1
// raises this device's HRP fault metric on a Down interface, for a controlled switchover test without touching live business interfaces
What Should — and Shouldn't — Differ Between the Two Devices

Compare the two devices' configuration files (a diff tool works well here). Everything should match except: device name, Router ID and the route segments each advertises, interface IP addresses, HRP interface joined state, preemption delay, and — in load-sharing mode only — NAT port range. Anything else that differs is worth investigating before you trust the pair.

If It Goes Wrong: the Rollback Path

Rolling back is not a panic reflex — it's the same discipline as the upgrade, run in reverse, inside a change window.

  1. reboot and startup system-software both appear on the dangerous-operations list for a reason — see Dangerous Router and Switch Commands. Rolling back means deliberately pointing startup system-software back at the previous software file, still present on the device, and rebooting inside an approved window — not as a reflex the moment something looks wrong.
  2. If the failure looks like a configuration problem rather than a software-version problem, check exactly what changed before restoring anything: display configuration commit changes in diagnose view shows the most recent commits, and display configuration changes start-time / end-time isolates a specific window.
  3. Do not delete the previous software package with delete /unreserved until the new version has passed the verification checklist below — that deletion is documented as unrecoverable in the same danger-operations reference.
  4. On a hot-standby pair, roll back one device at a time using the same isolate, downgrade, verify, rejoin sequence as the upgrade itself; do not roll back both halves at once.
[HUAWEI] diagnose
[HUAWEI-diagnose] display configuration commit changes
Building configuration
Commit changes of commitId 1000000002 2024-12-23 07:08:24 by root
#
- sysname 11
#
+ sysname HUAWEI

[HUAWEI-diagnose] display configuration changes start-time 2025/06/18,12:01:18

Verification Checklist Before You Close the Change

Six checks, run on both devices of a pair — the difference between “the upgrade finished” and “the upgrade actually worked.”

  1. display version — confirms the software and patch version actually match the plan on both devices.
  2. display patch-information — confirms the expected patch is loaded, not just the base image.
  3. display license — confirms License is present and active, not sitting in a Demo or expired state on either device.
  4. display hrp state — confirms one device shows Local role: Active, Peer role: Standby. Peer role: Unknown on both sides is a dual-active split, not a healthy pair.
  5. display hrp interface — confirms the heartbeat interface shows running, not down, invalid or negotiation failed.
  6. Business interfaces physically Up with traffic counters moving on both devices, and current-configuration compared against the pre-change backup for anything unintended.

Five Gotchas From the Field

Same upgrade, same commands — here's what actually catches people out.

1. License Is Not Shared Across a Hot-Standby Pair

RISKOn a hot-standby pair the two devices do not share a License; features like IPS, AV or URL filtering that depend on one are licensed and applied independently on each device, matching in feature set, resource count and expiry.

SAFER PRACTICEWhen you upgrade or renew, check display license on both devices, not just the one you happened to log in to — a License that expired quietly on the standby only becomes visible the moment it takes over as active.

2. A Freshly Rebooted Device Won't Preempt Back to Active Immediately

RISKA device doesn't retake the active role the instant it finishes rebooting. It only attempts to preempt once its main-board configuration is restored, at least one CPU is online, and at least one heartbeat-carrying interface board has come back — and only after a further one-minute wait.

SAFER PRACTICEIf a just-upgraded device is sitting in standby longer than expected, check whether all three conditions are actually met — and check the heartbeat interface board specifically — before assuming the upgrade failed.

3. Isolating a Device the Wrong Way Leaves the Pair Dual-Active

RISKShutting down business interfaces to isolate a device for upgrade is correct; mishandling the heartbeat interface, its security zone, or the policy that lets its heartbeat packets through leaves both devices believing they're active once the isolated one reboots.

SAFER PRACTICEdisplay hrp state showing Local role: Active, Peer role: Unknown on both devices is the signature of a split pair — check display hrp interface for a down, invalid or negotiation failed heartbeat state before declaring the upgrade finished.

4. A Signature-Check Failure Doesn't Always Mean the File Is Corrupted

RISKcheck system-software reporting a failed signature check gets treated as “re-download the file” by reflex, which wastes time if the actual fault is a partial or interrupted transfer rather than a genuinely bad source file.

SAFER PRACTICECompare a checksum — SHA256 or MD5, taken with certutil -hashfile on the source PC and check file-digest on the device — before you conclude the source file itself is bad and go back for a fresh copy.

5. Deleting the Old Software Package Removes Your Rollback Path

RISKdelete /unreserved is documented as unrecoverable — using it on the previous software package the moment flash space runs low quietly removes the one thing a rollback depends on.

SAFER PRACTICEFree space with routine cleanup of genuinely unused files first, and keep at least one known-good previous software package until the new version has passed the full verification checklist.

Related solution designs

Five Questions That Come Up Constantly

Pulled straight from the field — the ones worth having an answer ready for.

Do both firewalls in a hot-standby pair need to run the exact same version at all times?

Only briefly, during the upgrade window itself, are they intentionally mismatched. The minimum requirement for the pair to function correctly is that product model, software version, patch version, feature package and signature-library version all match — so plan to complete both sides in the same maintenance window rather than leaving the upgrade half-done.

What actually happens to active sessions during the switchover step?

hrp switch is a deliberate, controlled trigger rather than an unplanned failure. The same verification the source documentation calls for — shutting down a business interface, unplugging a cable, and a full reboot — all have to move traffic to the other device without an interruption a user would notice; test that trigger before the real change with hrp track interface on an already-down interface rather than assuming it will simply work on the day.

The upgrade package failed the signature check — is the file definitely corrupted?

Not necessarily. A signature-check failure can also mean the transfer itself was incomplete or interrupted. Compare a SHA256 or MD5 hash between the source file and the uploaded file before concluding the source is bad and going back for a fresh copy.

How long should I keep the old software file after a successful upgrade?

There's no fixed number of days in the source documentation; the practical answer is: until the verification checklist above has passed on both devices and the pair has been through at least one planned switchover test on the new version. Reserve — don't /unreserved — delete it before then.

My newly rebooted standby device is still showing as standby when I expected it to take over — did the upgrade fail?

Not necessarily — see the second gotcha above. Check whether the main-board configuration has finished restoring, whether at least one CPU is online, and whether the heartbeat-carrying interface board has come back, and allow the additional one-minute wait before treating it as a fault.

Honest Limits of This Note

Honest Limits of This Note

This note is built from the HiSecEngine USG6000F, USG6000G and USG12000 V600 maintenance-manual case material on backup discipline, upgrade-package verification and hot-standby best practice, cross-checked against the same platform family's USG6000E/USG9500 manual where the underlying HRP and per-device licensing behavior is shared. The specific reboot-preemption timing and licensing rules described are this platform's own; a different vendor's HA implementation will use different commands and counters even though the backup, verify, isolate and switchover order carries over conceptually. It doesn't cover chassis-level board replacement during an upgrade, or multi-vsys License apportionment, in depth.

Planning a firewall upgrade and want a second set of eyes on the plan?

Tell us the device model, current and target software version, and whether it's a hot-standby pair — we'll help you check the plan before you touch the upgrade command.

WhatsApp an engineer →

Related Reading