#!/bin/sh # # Startup script handle the initialisation of LVS # chkconfig: - 08 92 # description: Initialise the Linux Virtual Server # config: /etc/sysconfig/ipvsadm # ### BEGIN INIT INFO # Provides: ipvsadm # Required-Start: $local_fs $network $named # Required-Stop: $local_fs $remote_fs $network # Short-Description: Initialise the Linux Virtual Server # Description: The Linux Virtual Server is a highly scalable and highly # available server built on a cluster of real servers, with the load # balancer running on Linux. ### END INIT INFO # set the configuration file IPVSADM_CONFIG="/etc/sysconfig/ipvsadm" # Source function library . /etc/rc.d/init.d/functions start() { # If we don't clear these first, we might be adding to pre-existing rules. action "Clearing the current IPVS table:" ipvsadm -C echo -n "Applying IPVS configuration: " ipvsadm-restore < ${IPVSADM_CONFIG} && \ success "Applying IPVS configuration" || \ failure "Applying IPVS configuration" echo touch /var/lock/subsys/ipvsadm } stop() { action "Clearing the current IPVS table:" ipvsadm -C rm -f /var/lock/subsys/ipvsadm } save() { echo -n "Saving IPVS table to ${IPVSADM_CONFIG}: " ipvsadm-save -n > ${IPVSADM_CONFIG} 2>/dev/null && \ success "Saving IPVS table to ${IPVSADM_CONFIG}" || \ failure "Saving IPVS table to ${IPVSADM_CONFIG}" echo } # See how we were called. case "$1" in start) # If we have no configuration, save the current one [ -f ${IPVSADM_CONFIG} ] || save start ;; stop) stop ;; reload|force-reload|restart) # Start will flush everything, so it counts as a restart start ;; status) ipvsadm -L -n ;; save) save ;; *) echo "Usage: $0 {start|stop|restart|force-reload|status|save}" exit 3 esac exit 0