Perform Zero-Downtime Upgrades for Failover Pairs
Phase 1 Staging:
1. After logging into the firewall access the Privilege EXEC mode.
Firewall>enable
Copy the Cisco ios. firewall#copy flash:{your IOS image filename} tftp://{TFTP server IP address}
2. Do the following to verify a cisco IOS hash. Cisco IOS Software Release 12.2(4) and 12.0(22)S, allow the calculation of the MD5 hash of the Cisco image file that is loaded on the device. The hash can be compared against the hash of the user and then against the Cisco provided MD5 hash to confirm the image integrity. ` `
Verify /md5 filesystem:filename [md5-hash] 1. Ex. firewall#verify /md5 disk0:c7301-jk9s-mz.124-10.bin
....<output truncated>.....Done!
1.Show Commands
a.#show arp summary
This command will show the number of static entries, total number of dynamic
entries, and total number of entries in the ARP resolution table, not including the entries of the CSS management port.
b.#show arp
c.#show connection detail
This will display all of the flag issues of the device
d.#show xlate
This will display details regarding the translation slots.
e.#show route
This will display the routing table
f.#show slot0
This will show the contents of slot 0 which is helpful to determine the location of a stored file.
Configuration Backup
"File_name" is the software image name. "Destination" maybe bootflash:, disk0:, disk1:, slot0:, or tftp: ` - Refer to Upgrade a Software Image and ASDM Image using CLI for more information. primary Reload the secondary unit to boot the new image by entering the failover reload-standby command in the system execution space of the primary unit: primary primary Note: Use the show failover command in order to verify that both failover groups are in the Standby Ready state on the secondary unit. command: primary Troubleshoot update IPsec failover runtime data on the standby unit Problem One of these error messages appear when you try to upgrade the Cisco Adaptive Security Appliance (ASA): %ASA-5-720012: (VPN-Secondary) Failed to update IPSec failover runtime data on the standby unit. %ASA-6-720012: (VPN-unit) Failed to update IPsec failover runtime data on the standby unit. Solution These error messages are informative errors. The messages do not impact functionality of the ASA or the VPN. These messages appear when the In routed firewall mode and for the management-only interface, enter this command in interface configuration mode for each interface. In transparent firewall mode, enter the command in global configuration mode.In multiple context mode, configure the interface addresses from within each context. 'Use the change to context command to switch between contexts. The command prompt changes to hostname/context(config-if)#, where context is the name of the current context. You must enter a management IP address for each context in you do not need to specify a standby address—one will be created automatically. Step 2: COMMAND: failover lan unit primary . PURPOSE: Designates the unit as the primary unit. Step 3: COMMAND: ` failover lan interfaceif_name phy_if Example:hostname(config)# failover lan interface folink GigabitEthernet0/3 . PURPOSE: Specifies the interface to be used as the failover interface.The if_name argument assigns a name to the interface specified by the phy_if argument.The phy_if argument can be the physical port name, such as Ethernet1, or a previously created subinterface, such as Ethernet0/2.3. On the ASA 5505 adaptive ASA, the phy_if specifies a VLAN. This interface should not be used for any other purpose (except, . optionally, the Stateful Failover link). COMMAND: failover interface ip if_name [ip_address mask standby ip_address | ipv6_address/prefix standbyipv6_address] Example: hostname(config)# failover interface ip folink 172.27.48.1 255.255.255.0 standby 172.27.48.2 hostname(config)# failover interface ip folink 2001:a0a:b00::a0a:b70/64 standby 2001:a0a:b00::a0a:b71 PURPOSE: Assigns the active and standby IP addresses to the failover link. You can assign either an IPv4 or an IPv6 address to the interface. You 'cannot assign both types of addresses to the failover link.The standby IP address must be in the same subnet as the active IP address. You do 'not need to identify the standby address subnet mask.The failover link IP address and MAC address do not change at failover. The active IP address 'for the failover link always stays with the primary unit, while the standby IP address stays with the secondary unit.
EX. copy tftp://172.18.0.154/asa912-k8.bin will download the new code from the ipaddress
verify /md5 filesystem:filename [md5-hash] will verify hash of the new code
#copy tftp: running-config b. Address or name of remote host 192.168.1.1 (Ip of the device being updated) Phase 3 Upgrade Two Units in an Active/Standby Failover Configuration:
The standby unit can be reloaded to boot to the new image by using the following command #failover reload-standby
show failover state
State Last Failure Reason Date/TimeThis host - Primary Active NoneOther host - Secondary Standby Ready Ifc Failure 17:38:56 CEDT Jun 10 2013 dmz5: Failed inside: Failed====Configuration State=== Sync Done Sync Done - STANDBY====Communication State=== Mac set
State Last Failure Reason Date/Time This host - Primary Negotiation Backplane Failure 15:44:56 UTC Jun 20 2009 Other host -
Secondary Not Detected Comm Failure 15:36:30 UTC Jun 20 2009 ====Configuration State=== Sync Done ====Communication State=== Mac set
When the new standy unit is done reloading and in the Standby Ready state, switch the original active unit to active status
#failover active Upgrade an Active/Active Failover Configuration Complete these steps in order to upgrade two units in an Active/Active failover configuration:
#failover reload-standby
%ASA-5-720012: (VPN-Secondary) Failed to update IPSec failover runtime data on the standby unit (or) %ASA-6-720012: (VPN-unit) Failed to
`
Configuring the primary and secondary units:
http://www.cisco.com/c/en/us/td/docs/security/asa/asa82/configuration/guide/config/ha_active_standby.html Step 1: Configuring the Primary Unit
COMMAND: ip address active_addr netmask standbystandby_addr ipv6 address {autoconfig| ipv6-prefix/prefix-length [eui-64] [standbyipv6-prefix] | ipv6-address link-local[standby ipv6-address]}
Example:hostname(config-if)# ip address 10.1.1.1 255.255.255.0 standby 10.1.1.2
Configures the active and standby IP addresses for each data interface (routed mode), for the management IP address (transparent mode), or 'for the management-only interface.
`
COMMAND:
interface phy_if
Example:hostname(config)# interface vlan100
hostname(config-if)# no shutdown
PURPOSE:
Enables the interface
`
Step 6:' COMMAND: ` failover link if_name phy_if Example:hostname(config)# failover link statelink GigabitEthernet0/2 (Optional) Specifies the interface to be used as the Stateful Failover link. Note If the Stateful Failover link uses the failover link or a data interface, then you only need to supply the if_name argument.The if_name argument assigns a logical name to the interface specified by the phy_if argument. The phy_if argument can be the physical port name, such as Ethernet1, or a previously created subinterface, such as Ethernet0/2.3. This interface should not be used for any other purpose (except, optionally, the failover link).
`
COMMAND:
. failover interface ip if_name [ip_address mask standby ip_address | ipv6_address/prefix standbyipv6_address]
. Example:hostname(config)# failover interface ip folink 172.27.48.1 255.255.255.0 standby 172.27.48.2
PURPOSE:
Note If the stateful Failover link uses the failover link or data interface, skip this step. You have already defined the active and
standby IP addresses for the interface.The standby IP address must be in the same subnet as the active IP address. You do not need to identify the standby address subnet mask.
Step 8: ' ` COMMAND: interface phy_if no shutdown Example: hostname(config)# interface vlan100 hostname(config-if)# no shutdown PURPOSE: `
`
COMMAND:
. failover . Example: hostname(config)# failover
PURPOSE: Enables failover.
`
Step 10:
`
COMMAND:
Copy running-config startup-config
Example: hostname(config)# copy running-config startup-config
PURPOSE:
Saves the system configuration to Flash memory. Configuring the Secondary Unit The only configuration required on the secondary unit
is for the failover interface. The secondary unit requires these commands to communicate initially with the primary unit. After the primary unit
sends its configuration to the secondary unit, the only permanent difference between the two configurations is the failover lan unit command,
which identifies each unit as primary or secondary. Prerequisites When configuring LAN-based failover, you must bootstrap the secondary
device to recognize the failover link before the secondary device can obtain the running configuration from the primary device
'
Step 1: ` COMMAND: failover lan interface if_name phy_if Example: hostname(config)# failover lan interface folink vlan 100Specifies the interface to be used as the failover interface. ( Use the same settings that you used for the primary unit.) The if_name argument assigns a name to the interface specified by the phy_if argument. Step 2: failover interface ip if_name [ip_address mask standby ip_address | ipv6_address/prefix standbyipv6_address] Example: hostname(config)# failover interface ip folink 172.27.48.1 255.255.255.0 standby 172.27.48.2 hostname(config)# failover interface ip folink 2001:a0a:b00::a0a:b70/64 standby 2001:a0a:b00::a0a:b71 Note Enter this command exactly as you entered it on the primary unit when you configured the failover interface on the primary unit (including the same IP address). Step 3: interface phy_ifno shutdown Example: hostname(config)# interface vlan100hostname(config-if)# no shutdownEnables the interface Step 4: failover lan unit secondary Example: hostname(config)# failover lan unit secondary Step 5: COMMAND: Example:hostname(config)# failover PURPOSE: Enables failover: After you enable failover, the active unit sends the configuration in running memory to the standby unit. As the Step 6: COMMAND: #copy running-config startup-config Example:hostname(config)# copy running-config startup-config PURPOSE: Saves the configuration to Flash memory.Enter the command after the running configuration has completed replication.