Vqalive

Version 1.1

Ken Jones

Inter7 Internet Technologies, Inc.

http://www.inter7.com/


Vqalive is software that runs as a daemon on two or more physical machines to create a virtual machine. The virtual machine is accessed by use of an IP address that vqalive manages between the two machines. One machine will be the active server, using the virtual IP and the other machine will be in a standby mode, not using the virtual IP.


If the active server should fail for any reason, the vqalive daemon on the standby server will detect the failure and carefully take control of the virtual IP and bring up all services.


Vqalive is controlled by a configuration file typically located at /etc/vqalive.conf

This text file can be edited by system installers or maintainers. It contains control information to tell vqalive how to run.


/etc/vqalive.conf consists of multiple lines. Each line has a parameter and a value pair. The following parameters are available:


promote_script /path/to/promote/shell/script

Typical value: promote_script /usr/local/sbin/vqalive.promote

This parameter tells vqalive what set of commands to run when it must promote itself to being the active server. The vqalive.promote script should be a standard unix shell script. It will typically bring down the service, bring up the virtual IP on it's own network interface card as an aliased IP, and bring the service back up.


demote_script /path/to/demote/shell/script

Typical value: demote_script /path/to/demote/shell/script

This is the shell script to run when the machine should make sure it is not the primary server. The script is run by vqalive on startup to bring the machine to a known state. It is also run when vqalive must demote itself from being the active server. Typically this script will turn off the services, remove the aliased virtual ip and turn back on services.


check_ip virtual-ip-address

typical value: check_ip 192.168.0.3

Normally a vqalive system has two virtual Ips. One IP is the public IP that all users of the system should access services on. The other IP should be a private IP on a private network between the two vqalive servers, connected by a crossover cable. So a typical value in the /etc/vqalive.conf file would be something like:

check_ip virtual-private-ip-address

check_ip virtual-public-ip-address


check_port service_port

typical value: check_port 25

vqalive will check for an active service on these ports for each of the ip addresses specified by the check_ip lines. For an email relay server, only port 25, the Simple Mail Transfer Protocol port needs to be checked.