Appendix A. Example Configuration File

This appendix contains a complete IRIS FailSafe configuration file for an IRIS FailSafe cluster with WebFORCE MediaBase. The sections are

Cluster Configuration

The complete IRIS FailSafe configuration file for the example configuration described in this guide is shown in Example A-1. In addition, these configuration choices have been made:

  • The nodes are two rackmount Origin2000 servers (rackmount Origin2000s have MMSC system controllers).

  • IRIS FailSafe e-mail notifications are sent to the account fsafe_admin on the local node.

  • If one node has a power failure, the other node should attempt to go to degraded state.

  • All failures should cause failovers.

  • Interface ef0 on mb1 has the fixed IP address mb1. Similarly, interface ef0 on mb2 has the fixed IP address mb2.

  • Interface ef0 on mb1 has the IP alias mbasesrvr.

  • If the interface ef0 on mb1 fails, its high-availability IP address (IP alias) mbasesrvr is failed over to interface ef0 on mb2.

  • If the private network fails, IRIS FailSafe uses the public network and the ef0 interfaces (IP addresses mb1 and mb2) instead.

  • The serial port /dev/ttyd2 on each node is used for the serial cable to the system controller port on the other node.

  • Both nodes should move to normal state after a failure.

  • Re-MACing isn't needed.

Configuration File

Example A-1 shows the configuration file for the example configuration of IRIS FailSafe with WebFORCE MediaBase in this guide. The timing values shown are the default values, with the exception of long-timeout and the start-monitor-time values. They have been increased to 120 for parameters whose default was 60 or 90.

Example A-1. IRIS FailSafe Configuration File for a WebFORCE MediaBase Server


system-configuration
{
        mail-dest-addr = fsafe_admin@localhost
        pwrfail = true
        monitor-failures = on
}

node mb1
{
        interface mb1-ef0
        {
                name = ef0
                ip-address = mb1
                netmask = 0xffffff00
                broadcast-addr = 192.0.2.255
        }
        heartbeat
        {
                hb-private-ipname = priv-mb1
                hb-public-ipname = mb1
                hb-probe-time = 5
                hb-timeout = 5
                hb-lost-count = 3
        }
        reset-tty = /dev/ttyd2
        sys-ctlr-type = MMSC
        controlled-failback = false
}

node mb2
{
        interface mb2-ef0
        {
                name = ef0
                ip-address = mb2
                netmask = 0xffffff00
                broadcast-addr = 192.0.2.255
        }

heartbeat
        {
                hb-private-ipname = priv-mb2
                hb-public-ipname = mb2
                hb-probe-time = 5
                hb-timeout = 5
                hb-lost-count = 3
        }
        reset-tty = /dev/ttyd2
        sys-ctlr-type = MMSC
        controlled-failback = false
}

interface-pair one
{

        primary-interface = mb1-ef0
        secondary-interface = mb2-ef0
        re-mac = false
        netmask = 0xffffff00
        broadcast-addr = 192.0.2.255
        ip-aliases = ( mbasesrvr )
}

application-class volumes
{
       server-node = mb1
}

volume mbv_inf
{
        server-node = mb1
        backup-node = mb2
        devname = inf_data
}

volume mbv_vid
{
        server-node = mb1
        backup-node = mb2
        devname = video
}

application-class filesystems
{
       server-node = mb1
}

filesystem mbfs_inf
{
        mount-point = /mbaseinf_data
        mount-info
        {
                fs-type = xfs
                volume-name = mbv_inf
                mode = rw,noauto
        }
}

filesystem mbfs_vid
{
        mount-point = /mbasevideo
        mount-info
        {
                fs-type = xfs
                volume-name = video
                mode = rw,noauto
        }
}

application-class main
{
        server-node = mb1
        server-node = mb2
}

action main
{
        giveaway = /var/ha/actions/giveaway
        giveback = /var/ha/actions/giveback
        takeback = /var/ha/actions/takeback
        takeover = /var/ha/actions/takeover
        kill = /usr/etc/ha_kill
}

action-timer main
{
        start-monitor-time = 120
}

internal
{
        short-timeout = 5
        long-timeout = 120
        version-major = 1
        version-minor = 2
}

application-class interfaces
{
        server-node = mb1
        server-node = mb2
        agent = /usr/etc/ha_ifa
}

interface-agent {
        start-monitor-time = 120
        interface-probe-interval = 30
        interface-probe-timeout = 20
        remote-send-probe-interval = 25
        remote-send-timeout = 10
}

action-timer interfaces
{
        start-monitor-time = 120
        lmon-probe-time = 60
        lmon-timeout = 60
        retry-count = 5
}

action interfaces
{
        local-monitor = /var/ha/actions/ha_ifa_lmon
}

action-timer volumes
{
        start-monitor-time = 300
        lmon-probe-time = 300
        lmon-timeout = 60
        retry-count = 1
}

action volumes
{
        local-monitor = /var/ha/actions/ha_vol_lmon
}

action-timer filesystems
{
        start-monitor-time = 120
        lmon-probe-time = 120
        lmon-timeout = 60
        retry-count = 1
}

action filesystems
{
        local-monitor = /var/ha/actions/ha_filesys_lmon
}

application-class mediabase
{
        server-node = mb1
}

mediabase mbserver
{
        server-node = mb1
        backup-node = mb2
        check-services = ( “Media Delivery Service” “Informix Online Daemon” )
        httpd-dir = /usr/ns-home/httpd-mbasesrvr
        httpd-options-file = ns_fasttrack.options
        httpd-script = /etc/init.d/ns_fasttrack
}

action mediabase
{
        local-monitor = /var/ha/actions/ha_mbase_lmon
}

action-timer mediabase
{
        start-monitor-time = 120
        lmon-probe-time = 120
        lmon-timeout = 90
}