ipredun

IPREDUN is the main redundancy checker. It has two roles :

Firstly it sends and receives ping_pongs messsages to its companions (as
defined in tables/sys/REDUN) 

Secondly it loops around its directory regularly (usually once a minute).  At
the end of the scan, if any companions have NOT signed on then they are flagged
as AUTO_BLOCKED in ~/fix. Any redundant data files that the failed system is
the Primary are then unblocked and sent from this system.

Otherwise any data files older than the last scan are zapped as they will not
be needed.
Log all (un)blocks.

The ping-pong msg is sent every 30 secs or so. For your edification, this is a
zero length file with the name of :

#ZR:(sender-hostname)#ZE:(fileswaiting)#SN:localhostname#HU:redun#DP:(receiver-hostname)#HS:ipredun_pidno_date_time

Input parameters may be (all optional) :
	-9 : do NOT run in Speedy mode			default: no
	-e : ignore files after this period (in secs)
		Any files older than this may still be in spool/redun (if the -E is bigger)
		but will NOT be sent if a remote system fails.
		default is NOT to delete
	-E : expire files after this period (in secs)
		The files will no longer be held in spool/redun for sending
		if a remote system fails.
		default is NOT to delete
	-F : zap the offline folder on UP		default: no
	-h : Where multiple ethernet adapters are used, this is the hostname
		of the second card. The program checks which card is to
		be used. This must be a valid entry
		in /etc/hosts				default: no 2nd card
	-H : force the heartbeat ZR hostname to be this		default: hostname
		Note - no checking of this name is done to see if it  is a valid hostname
		the ZR name is used by the remote server to detect ups/down.
	-l : log if msg received from a host which is NOT in our file
		tables/sys/REDUN			default: ignore
	-L : log all resends				default: no
	-p : port number on remore systems to send to	default: 9000
		The default is the default for ipxnet.
	-r : Do not resolve any hostnames in REDUN	default resolve all names
	-t : scan interval of the queue			default: 60 secs
		To check for the ping-pong from each Remote System
		(by default ping-pongs are sent twice in this period)
	-T : interval for sending ping-pongs to the Remotes
		default is half the scan interval (-t) (ie 30 secs normally)
	-X : loglevel 0=SYS UP is a !r, 1=!x		default: 0
	-z : run this script on transition up or down	default: nothing
		2 parameters are started with the script :
			1. "UP" or "DOWN"
			2. system name
		eg :	-z lightbulb
		will trigger, when host "purplehaze" falls over :
			lightbulb DOWN purplehaze
	-v : print version no and exit

Often on systems in the DMZ trying to get thru busy firewalls, you need to
increate the scan time and decrease the time between ping pongs ie :
	ipredun -t 100 -T 20
This will check for the other box every 100 secs but will try to send the
pingpong every 20 secs.

For Systems which are closly coupled with no other traffic
	ipredun -E 20 -t 15 -T 3 -F

To run in balanced mode, add the folders to track in sys/REDUN. These should be
in all REDUN systems.
	track-folder:offline
	track-folder:balance_offline

Version Control
;011o9	28nov00 added -T for ping-pong interval and -E for expire
	;c-d 14nov01 WINNT/DHCP - wait for host/IPaddress on startup
	;e 17jun03 wait..fipnet now returns no of bytes
	;f-h 30oct04 speedy plus WINNT bugettes
	;i-j 30nov04 tighter Expireds
	;k-n 17jun05 added -e for ignore
	;o8 31jan08 check local folders + moved fix/redun_* to fix/redun/redun_*
		;2-4 -X added and SYSUP now defaults to !r
		;5-6 added -r and -d check for dot and allow hostnames starting with a number
		;7 added redo_redun_host
		;8-9 5oct11 redid ZR for 64bit plus bugette with -h and added -H
forcehostname

(copyright) 2011 and previous years progs.FingerPost Ltd.
Topic revision: r1 - 21 Jan 2005 - 13:38:55 - TWikiGuest
 
This site is powered by the TWiki collaboration platformCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback