The Cisco ASA offers a whole family of high-availability and scale features: failover in two flavors, redundant interfaces, EtherChannel, security contexts, resource classes, and clustering. Faced with that menu, the useful question is not "what exists" but "what should I actually deploy, and what can my platform even run." This article is the decision guide for the Cisco ASA series, and it is built on something rare: we tested every one of these features live on a real virtual ASA (asav 9.24). Exactly one of them worked, and it worked flawlessly. The rest were rejected by the parser. That gives us a comparison table where every "supported on asav" cell is a tested fact, not a guess.
The Proven Baseline: Zero-Loss Active/Standby Failover
Start with what works, because it is genuinely excellent. On our asav pair, Active/Standby failover formed automatically and replicated its entire configuration to the standby with no manual copy. The failover state showed a clean, synced pair:
"Sync Done" means the standby received the full running configuration (SSH, ACLs, ICMP inspection, all of it) automatically. That is the foundation of stateful failover: not just a config copy, but a live connection table replicated to the standby so it can take over mid-session.
Then we tested it the only way that really counts. An inside host ran a 45-packet ping stream through the firewall to an outside address, and mid-stream we forced the active unit to give up its role. The stream did not flinch:
Forty-five sent, forty-five received, zero loss, straight through a full active-unit failover. Under the hood the standby ran the complete state machine to take over, which the failover history records step by step:
The standby moved from Standby Ready to Active in a handful of transitions, took over the active IP and MAC, and carried the existing connection so seamlessly the ping never dropped. This is the HA story you can lab on a virtual ASA today, and it is the one most designs should use.
The Full Menu, Tested Live on asav
Here is the whole HA and scale family with the one column that matters most: whether the virtual appliance can actually run it. Every "supported on asav" answer below was verified on the real device, and every "No" is a parser rejection we captured, not an assumption.
One green cell out of seven. That is not a disappointment, it is clarity: on a virtual ASA, Active/Standby stateful failover is the HA story, and the other six features require physical ASA/Firepower hardware or FTD. Every "No" in that grid corresponds to a real % Invalid input detected at '^' marker. we captured on the device, documented in the individual articles for redundant interfaces, EtherChannel, Active/Active, shared-interface contexts, resource classes, and clustering.
Choosing By Goal
Work backwards from the problem you are solving rather than from the feature list.
- "I need my firewall to survive a unit failure." Active/Standby stateful failover. It is simple, it is lossless in practice, and it runs on every ASA including asav. This is the right answer for the overwhelming majority of deployments.
- "I need to survive a single link failure faster than a unit failover." Redundant interface (physical only). Layer it under failover so a dead cable is handled locally in about a second.
- "I need more bandwidth than one interface provides." EtherChannel (physical only), which also adds link redundancy as a bonus.
- "I need both firewalls forwarding at once." Active/Active failover (physical, multi-context only), and be ready for the asymmetric-routing complexity it brings.
- "I need many isolated tenants on one box." Security contexts with resource classes (physical only), or, on virtual, a separate asav per tenant.
- "I need to scale past what one pair can forward." Clustering (physical only), or FTD clustering on the modern platform.
The Honest Recommendation
For a virtual ASA, use Active/Standby stateful failover and stop there for HA. It is not a compromise or a lesser option; it is a genuinely excellent, proven design that survived a live failover in our lab without losing a single packet. Do not architect a virtual deployment around redundant interfaces, EtherChannel, Active/Active, contexts, resource classes, or clustering, because the asav parser will reject every one of them. For those features you need physical ASA or Firepower hardware, and increasingly the right destination is FTD (Firepower Threat Defense), which is where Cisco has concentrated its modern investment in scale-out and multi-tenancy. We will cover that on the Cisco FTD pillar as it comes online. And if you are thinking about HA more broadly than just the firewall, the same first-hop and gateway-redundancy principles show up across the network in the FHRP family, which is worth understanding alongside firewall failover. The through-line of this whole series is simple: test the feature on the platform you actually run, believe the parser, and design for what the device can really do.
Why the Parser Reject Is Trustworthy Evidence
It is worth pausing on why "the command was rejected" is such strong evidence, because it is more reliable than a feature-support matrix in a datasheet. A datasheet tells you what a product line is supposed to do; the parser tells you what the software image in front of you actually implements. When the asav returns % Invalid input detected at '^' marker. with the caret under the very first keyword of a command, it is not refusing a licensed feature or asking for a precondition. It is telling you the keyword does not exist in this image at all. There is no license to buy, no mode to enter, no reload that adds it, because the code path is simply not present in the virtual appliance. That is why every "No" in the support grid above is anchored to a captured rejection rather than to documentation: we asked the device directly, and it answered. For anyone designing a real deployment or preparing for a lab exam, this is the habit worth building. Test the feature on the exact platform and image you will run, and let the parser settle the argument.
Failover for the Firewall, FHRP for the Gateways Around It
High availability is not only a firewall concern, and it helps to keep the layers straight. Failover (and clustering) make the firewall itself redundant. But the routers and gateways on either side of the firewall have their own redundancy story, and that is the job of first-hop redundancy protocols. A pair of routers presenting a single virtual gateway address to hosts, so that the loss of one router is invisible, is exactly the FHRP pattern (HSRP, VRRP, GLBP). The firewall's failover and the surrounding gateways' FHRP solve the same class of problem (survive the loss of a device without the traffic noticing) at different points in the path. A well-designed edge uses both: stateful failover so the firewall pair survives a unit loss, and FHRP so the routers around it survive a router loss. Thinking about them together keeps you from building a firewall that never fails behind a gateway that does, or the reverse.
Common ASA HA Design Mistakes
A few patterns cause most of the avoidable trouble. The first is reaching for Active/Active because "both boxes forwarding" sounds more efficient, without accounting for multiple context mode, asymmetric routing, and the fact that a failure still dumps the whole load onto one unit; for most sites Active/Standby is simpler and just as available. The second is designing a virtual deployment around a hardware feature and only discovering at build time that the parser rejects it, which is the entire reason this series tests everything live. The third is under-provisioning the links that HA depends on: the failover state link and the cluster control link carry the replication and coordination that make the whole thing coherent, and starving them produces flapping and split-brain scenarios that look like random instability. The fourth is treating HA as set-and-forget: failover and clustering both need periodic testing (deliberately failing a unit in a maintenance window) so you learn the standby or the survivors genuinely take over, rather than discovering during a real outage that replication was broken for weeks. The zero-loss failover we captured was only meaningful because we actually forced the failover and watched the traffic; an untested standby is a hope, not a design.
Key Takeaways
- Of the seven ASA HA and scale features, only Active/Standby stateful failover runs on the virtual asav, and it is genuinely excellent: we proved a live 45-of-45 ping stream survived a failover at 0% loss.
- Redundant interfaces, EtherChannel, Active/Active, security contexts, resource classes, and clustering are all rejected by the asav parser; each "No" in the comparison grid is a captured
% Invalid inputerror, not a guess. - Choose by goal: unit survival means Active/Standby; link survival means redundant interfaces; bandwidth means EtherChannel; both-active means Active/Active; multi-tenancy means contexts; scale-out means clustering.
- For virtual ASA, deploy Active/Standby stateful failover and do not design around features the appliance cannot run.
- For the hardware-only features, use physical ASA/Firepower or FTD, which is where Cisco's modern scale-out and multi-tenant engineering lives.
- See the proven Active/Standby failover and stateful failover guides, the broader FHRP HA concepts, and the Cisco ASA pillar.