ipredun

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
empty file with the name of :

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

Values for ZE can be :
    0 - all folders on the remote/sending server are clear/no files waiting
    1 - there are still some files on the remote/sending server for this system
    -99 - sffcheck messages - just ignore
Any other value will set the flag to none

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: 9001
        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 closely coupled - with no other traffic to any other
system
    ipredun -E 20 -t 15 -T 3 -F
        -E 20   expire all files after 20 secs
        -t 15   scan redun folder/check for incoming hbts every 15 secs
        -T 3    send hbts/pingpongs every 3 secs
        -F  zap any files in offline when remote system flips from DOWN to UP

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
; 11o13 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-11 5oct11 redid ZR for 64bit plus bugette with -h and added -H
forcehostname
        ;12 23feb21 ! fipnet HBT is now a RESEND ;13 minor

(copyright) 2024 and previous years FingerPost Ltd.