NetIQ AppManager 7.0.x
What are the issues/benefits of using MS network load balancing to split traffic from MCs to two MSs instead of configuring the MC's with primary and secondary MSs?
The concepts sound the same - load balancing and setting a primary and secondary, but unfortunately they will not act the same way. Think of the SetPrimaryMS functionality as more of a "fail-over" vs. load-balancing.
The SetPrimaryMS tells the agents to talk to a certain Management Server first. If the Primary MS is down for some reason, then it will fail-over to the Secondary one until communications is re-established with its dedicated Primary. Without this, jobs will most likely start stopping on agents, data may get lost, etc.
Instead of having a dedicated Management Server sitting there doing nothing other than being a "secondary" server, the un-intended option of being able to load-balance was available. So, instead of letting this MS sit and do nothing, we recommend splitting up your servers between each MS.
Please keep in mind though that each MS can handle around 300 ~ 400 servers effectively (we've seen higher numbers 600 ~ 1000 in one case, but performance was poor), dependant though on how many jobs you are running, how much data is being collected, etc. If you throw 400 servers per MS, and it fails over, one MS will now have to handle 800 servers and all the
events, data and any actions.
Using NLBS alone will most likely cause jobs to randomly stop, data to get lost, etc. because the agents do not recognize load-balancing and the management servers do not recognize load-balancing.
When jobs are being synchronized between the agents and the repository, the information will pass through the MSs. One of the MSs will not be aware of the jobs and will think they are orphan jobs and then stop them.
How Network Load Balancing works
Network Load Balancing provides high availability and salability of Web servers using a cluster of two or more host computers working together. Internet clients access the cluster using a single IP address (or a set of addresses for a multihomed host ). The clients are unable to distinguish the cluster from a single server. Server programs do not identify that they are running in a cluster. However, a Network Load Balancing cluster differs significantly from a single host running a single server program, because it provides uninterrupted service even if a cluster host fails. The cluster also can respond more quickly to client requests than a single host (for load-balanced ports).
Network Load Balancing delivers high availability by redirecting incoming network traffic to working cluster hosts if a host fails or is offline. Existing connections to an offline host are lost, but the Internet services remain available. In most cases (for example, with Web servers), client software automatically retries the failed connections, and the clients experience only a few seconds delay in receiving a response.
Network Load Balancing delivers scaled performance by distributing the incoming network traffic among one or more virtual IP addresses assigned to the Network Load Balancing cluster. The hosts in the cluster then concurrently respond to different client requests , even multiple requests from the same client. For example, a Web browser may obtain each of the multiple images in a single Web page from different hosts within a Network Load Balancing cluster. This speeds up processing and shortens the response time to clients.
Network Load Balancing enables all cluster hosts on a single subnet to concurrently detect incoming network traffic for the cluster's primary IP address (and for additional IP addresses on multihomed hosts). On each cluster host, the Network Load Balancing driver acts as a filter between the cluster adapter driver and the TCP/IP stack to allow a portion of the incoming network traffic to be received by the host.
Network Load Balancing employs a fully distributed algorithm to statistically map incoming clients to the cluster hosts based on their IP address, port, and other information. When inspecting .
an arriving packet, all hosts simultaneously perform this mapping to quickly determine which host should handle the packet. The mapping remains invariant unless the number of cluster hosts changes. The Network Load Balancing filtering algorithm is much more efficient in its packet handling than centralized load-balancing programs, which must modify and retransmit packets. This enables Network Load Balancing to provide much higher aggregate bandwidth. By running directly on the cluster hosts, Network Load Balancing performance is not limited by a specific generation of processor or network technology.