High Availability: Configure Piranha for HTTP, HTTPS and MySQL

In this post we will complete over the Piranha configuration with HTTP and HTTPS load balancing using direct-routing with firewall marks and MySQL load balancing using direct-routing only.

HTTP/HTTPS will need to be accessed by users via virtual public IP while MySQL service will be accessed by web servers using virtual private IP Kindly refer to picture below for the full architecture:

All Servers
SELINUX must be turned off on all servers. Change the SELINUX configuration file at /etc/sysconfig/selinux: Continue reading “High Availability: Configure Piranha for HTTP, HTTPS and MySQL” »


CentOS: Configure Piranha as Load Balancer (Direct Routing Method)

I am currently working on a web cluster project using CentOS. In this project, I have 2 web servers running on Apache and mounted the same document root to serve the HTTP content. I also have 2 servers in front of it to become the load balancer and failover to increase high availability of the two-node web server cluster. The virtual IP will be hold by load balancer #1 with auto failover to load balancer #2.

You may refer to diagram below to get clearer picture:

I am using following variables:

All servers’ OS: CentOS 6.2 64bit
Web server #1:
Web server #2:
Load balancer #1:
Load balancer #2:
Virtual IP:

Load Balancer Server
1. All steps should be done in both servers unless specified. We will install Piranha and other required packages using yum: Continue reading “CentOS: Configure Piranha as Load Balancer (Direct Routing Method)” »


Creating a Windows Server 2008 R2 Failover Cluster

I hear you…you want your SQL, DHCP, Hyper-V or other services to be highly available for your clients or your internal users. They can be if you create a Windows Failover Cluster and configure those services in the cluster. By doing that if one of the servers crashes the other(s) one will take over, and users will never even notice. There are two types of Failover Clusters: active/active and active/passive. In the first one (active/active) all the applications or services running on the cluster can access the same resources at the same time, and in the second one the applications or services running on the cluster can access resources only from one node, the other one(s) is/are in stand-by in case the active node is fails.

Continue reading “Creating a Windows Server 2008 R2 Failover Cluster” »


MySQL Master-Master Replication with Heartbeat

Setting Up The Two Base Systems

In this setup there will be one master server (which runs the ISPConfig control panel interface) and one slave server which mirrors the web (apache), email (postfix and dovecot) and database (MySQL) services of the master server.

To install the clustered setup, we need two servers with a Debian 6.0 minimal install.

Install only steps 1 – 8 of the perfect server tutorial and not the other steps as they differ for a clustered setup!

In my example I use the following hostnames and IP addresses for the two servers:

Master Server

Hostname: server1.example.tld

Slave server

Hostname: server2.example.tld

Whereever these hostnames or IP addresses occur in the next installation steps you will have to change them to match the IP's and hostnames of your servers.

It is a good idea to synchronize the system clock with an NTP (network time protocol) server over the Internet. Simply run Continue reading “MySQL Master-Master Replication with Heartbeat” »


Configuring A High Availability Cluster (Heartbeat) On CentOS

This guide shows how you can set up a two node, high-availability HTTP cluster with heartbeat on CentOS. Both nodes use the Apache web server to serve the same content.

Pre-Configuration Requirements

Assign hostname node01 to primary node with IP address to eth0.
Assign hostname node02 to slave node with IP address

Note: on node01

uname -n

must return node01.

On node02

uname -n

must return node02. Continue reading “Configuring A High Availability Cluster (Heartbeat) On CentOS” »