In OpsMgr 2012 how does the failover process actually work?

For starters, this answer varies depending upon what is doing the communicating and what it is communicating to: Agent to Management Server, Agent to Gateway, Gateway to Management Server, Network device to resource pool, and Unix/Linux agent to resource pool.

Windows Agents reporting to a management server: When an Agent is installed and configured to report to a Management Server, it is automatically configured to fail over to ANY other Management Servers. Failover behavior can be configured via PowerShell scripts or AD Integration.  NOTE: Windows agents do NOT report to a resource pool in OpsMgr 2012.

Windows Agents reporting to a gateway: When an Agent is installed and configured to report to a Gateway Server, no failover servers are automatically configured.  Failover can be configured for via PowerShell scripts.

Gateways reporting to a management server: When a Gateway Server is installed, it is configured to report to a specific Management Server and no failover is automatically configured. Failover can be configured for Gateway servers via PowerShell scripts.

Network device to resource pool: In OpsMgr 2012 a resource pool can be defined to include management servers which will provide monitoring for network devices to provide failover when a management server is offline.

Unix/Linux agent to resource pool: In OpsMgr 2012 a resource pool can be defined to include management servers which will provide monitoring for Unix/Linux systems to provide failover when a management server is offline.

So where does AD Integration fit in? For non-domain controllers and non-OpsMgr servers, AD Integration provides a method for clients to look to Active Directory and determine what management server they should communicate with (as a primary or failover). This approach provides a configuration where an agent reporting to a management server loses its management server and fails over randomly to another management server in the management group. The same type of failover can be defined on an agent level with PowerShell scripts.

Relevant Links:

· Discussion on agents and gateways: http://blogs.technet.com/b/jimmyharper/archive/2010/07/23/powershell-commands-to-configure-gateway-server-agent-failover.aspx

· PowerShell and Gateway Failover in OpsMgr 2012: http://www.teknoglot.se/code/powershell/opsmgr-2012-agent-gateway-failover-the-basics/

· Discussion on OpsMgr 2012 and how to define failover (not answered as of 6/5/2012): http://www.systemcentercentral.com/Forums/tabid/60/categoryid/4/indexid/93169/Default.aspx