By sharing workloads across multiple processors and adopting multiple software recovery technologies, you can provide a highly available environment and improve the overall RAS (reliability, availability, and serviceability) of the environment. Benefits include quicker recovery from accidental outages and minimizing the impact of accidental outages on end users.
To better understand this article, you need to be familiar with the basics of Linux and networking, and you need to configure your Apache server. The example in this article is based on the standard SUSE Linux Enterprise Server (SLES10) installation, but smart users with other versions should also be able to use the methods presented in the article.
This article shows a robust Apache WEB server stack with 6 Apache server nodes (although 3 nodes are sufficient to support the steps described in this article) and 3 Linux Virtual Server (LVS) controllers. We use 6 Apache server nodes to simulate larger deployments by achieving higher workload throughput during testing. The architecture shown in this article should be able to support more controllers and back-end Apache servers (in the case of resources permitting), but we have not tried much further. Figure 1 shows the implementation of using the Linux Virtual Server and linux-ha.org components.
Figure 1. Linux Virtual Servers and Apache
As shown in Figure 1, the external client sends traffic to a single IP address, which may exist on a LVS controller machine. The controller machine actively monitors the pool of WEB servers that receive the work it sends.
Note that the workload process on the left side of Figure 1 points to the right. The floating resource address for this cluster will be located on a LVS controller instance at a given time. You can manually move a service address by using a graphical configuration tool, or (this method is more common) manage the service address yourself, depending on the status of the LVS controller. If a controller becomes unqualified (due to loss of connection, software failure, or similar reason), then the service address is automatically reassigned to a qualified controller.