Dynamic configuration synchronization in support of a “hot” standby stateful switchover
AssigneeCisco Technology, Inc.
InventorsDonald Banks, Praveen Joshi, Seok Anthony Koh, Ajoy K. Thamattoor
Life of this patent
Estimating the term…
Abstract
A system and method for supporting a “hitless” switchover from an Active to a Standby processor utilizes several points of configuration synchronization. The startup and running configuration files are copied to the Standby processor and subsequent modifications to the Active configuration are synchronized to the Standby configuration.
Claims22
A method for maintaining processor synchronization in a system having an Active processor that controls all system resources that are providing service and a Standby processor for assuming control if the Active processor fails or a manual request is made to switchover, with each processor including memory for storing a startup-config file, the method comprising:
- bulk synchronizing the Standby and Active processors at a first point of synchronization by:
- copying a startup configuration file from the Active processor to the Standby processor;
- creating a file system on the Standby processor memory for running configuration synchronization;
- sending a running configuration file from the Active processor to the Standby processor and generating the running configuration at the Standby processor which is stored in the file system;
- and
- dynamically synchronizing the Standby and Active processors subsequent to the first point of synchronization by:
- synchronizing subsequent configuration changes on the Active processor to the Standby processor thereby maintaining configuration synchronization between the processors.
A system for maintaining processor synchronization in a system having an Active processor that controls all system resources and a Standby processor for assuming control if the Active processor fails or a manual request is made to switchover, with each processor including memory for storing a startup-config file, the system comprising:
- means for bulk synchronizing the Standby and Active processors at a first point of synchronization including:
- means for copying a startup configuration file from the Active processor to the Standby processor during startup;
- means for creating a file system on the Standby processor memory for running configuration synchronization during startup;
- means for sending a running configuration file from the Active processor to the Standby processor and generating the running configuration at the Standby processor which is stored in the file system;
- means for dynamically synchronizing the Standby and Active processors subsequent to the first point of synchronization including:
- means for synchronizing subsequent configuration changes on the Active processor to the Standby processor thereby maintaining configuration synchronization between the processors subsequent to startup.
In a high-availability router that includes redundant route processors (RPs) where a first RP is an Active RP that controls routing and processing and a second RP is a Standby RP which takes over routing and processing during a switchover, with both RPs having non-volatile RAM (NVRAM) and dynamic RAM (DRAM), and with an interconnect coupling the Active and Standby RPs to facilitate interprocess communication, a method for automatically synchronizing the configuration of the Active RP to the Standby RP so that the Standby RP will be configured the same as the Active RP in the event of a switchover, said method, initiated and controlled by the Active RP, comprising:
- bulk synchronizing the Standby and Active processors at a first point of synchronization by:
- copying a startup-configuration file, comprising a series of text commands, from the NVRAM of the Active RP to the NVRAM of the Standby RP to ensure that any subsequent reboot of the Standby RP as the Active RP will accurately reflect any committed configuration changes;
- creating a running-config file system in the DRAM of the Standby RP as a dedicated placeholder for receiving running configuration commands from the Active RP;
- copying a running-configuration file, comprising a series of text commands, from the Active RP to the running-config file system of the Standby RP;
- executing the text commands in the running-configuration file at the Standby RP to synchronize running configurations between both RPs;
- verifying a bulk config sync by comparing the running-configuration files of the Active and Standby RPs and conveying the result back to the Active RP for appropriate action;
- dynamically synchronizing the Standby and Active processors subsequent to the first point of synchronization by:
- for each configuration text command subsequently called on the Active RP:
- executing the command on the Active RP;
- if the command succeeds, sending the command to the Standby RP;
- if the command is sent to the Standby RP, executing the commands, determining whether it succeeds on the Standby RP, and conveying the result to Active RP;
- if the command fails on the Standby RP, indicating that the Standby RP is not synchronized and resetting the Standby RP.
In a high-availability router that includes redundant route processors (RPs) where a first RP is an Active RP that controls routing and processing and a second RP is a Standby RP which takes over routing and processing during a switchover, with both RPs having non-volatile RAM (NVRAM) and dynamic RAM (DRAM), and with an interconnect coupling the Active and Standby RPs to facilitate interprocess communication, a system for automatically synchronizing the configuration of the Active RP to the Standby RP so that the Standby RP will be configured the same as the Active RP in the event of a switchover, said system comprising:
- means for bulk synchronizing the Standby and Active processors at a first point of synchronization including:
- means for copying a startup-configuration file, comprising a series of text commands, from the NVRAM of the Active RP to the NVRAM of the Standby RP to ensure that any subsequent reboot of the Standby RP as the Active RP will accurately reflect any committed configuration changes;
- means for creating a running-config file system in the DRAM of the Standby RP as a dedicated placeholder for receiving running configuration commands from the Active RP;
- means for copying a running-configuration file, comprising a series of text commands, from the Active RP to the running-config file system of the Standby RP;
- means for verifying bulk config sync by comparing the running-configuration files of the Active and Standby RPs and conveying the result back to Active RP for appropriate action;
- means for dynamically synchronizing the Standby and Active processors subsequent to the first point of synchronization including:
- means for executing the text commands in the running-configuration file at the Standby RP to synchronize running configurations between both RPs;
- means for executing each subsequent configuration text command on the Active RP;
- where:
- if the command succeeds, the command is sent to the Standby RP;
- if the command is sent to the Standby RP, the command is executed, a determination is made whether it succeeds on the Standby RP, and a result of the determination is conveyed to the Active RP;
- if the command fails on the Standby RP, it is indicated that the Standby RP is not synchronized and the Standby RP is reset.
A computer program product for maintaining processor synchronization in a system having an Active processor that controls all system resources that are providing service and a Standby processor for assuming control if the Active processor fails or a manual request is made to switchover, with each processor including memory for storing a startup-config file, the computer program product comprising:
- a computer usable medium having computer readable program code physically embodied therein, said computer program product further comprising:
- computer readable program code for bulk synchronizing the Standby and Active processors at a first point of synchronization including:
- computer readable program code for causing a startup configuration file to be copied from the Active processor to the Standby processor;
- computer readable program code for causing a file system to be created on the Standby processor memory for running configuration synchronization;
- computer readable program code for a running configuration file to be sent from the Active processor to the Standby processor and generating the running configuration which is stored in the file system;
- and
- computer readable program code for dynamically synchronizing the Standby and Active processors subsequent to the first point of synchronization including:
- computer readable program code for causing subsequent configuration commands executed on the Active processor to be synchronized to the Standby processor thereby maintaining configuration synchronization between the processors.
A system for maintaining processor synchronization in a system having an Active processor that controls all system resources that are providing service and a Standby processor for assuming control if the Active processor fails or a manual request is made to switchover, with each processor including memory for storing a startup-config file, the system comprising:
- an initialization facility that copies a startup configuration file from the Active processor to the Standby processor, creates a file system on the Standby processor memory for running configuration synchronization, and sends a running configuration file from the Active processor to the Standby processor and generates the running configuration which is stored in the file system to bulk synchronize the Active and Standby processors at a first point of synchronization;
- a verification facility that compares the running configurations between the Active processor and Standby Processor to generate a comparison result and sends the comparison result to the Active processor for appropriate action;
- and
- a synchronizing facility that synchronizes subsequent configuration commands executed on the Active processor to the Standby processor thereby maintaining configuration synchronization between the processors to dynamically synchronize the Active and Standby processors subsequent to the first point of synchronization.
Dependencies are inferred from the claim text.