wiki:SynDog

Version 5 (modified by Edwin Eefting, 15 years ago) (diff)

--

Syn-3 hartslag monitoring

Vanaf versie 4.2 heeft Syn-3 ook 'heartbeat' ondersteuning. Door de manier waarop Syn-3 is opgezet kon er geen gebruik worden gemaakt van het orginele heartbeat project op http://linux-ha.org/.

Om deze reden heeft DatuX een eigen simpel doch doeltreffend heartbeat systeem ontwikkeld. Vrijgegeven onder GPL: trunk/npl/syn3/synwatchdog

In dog modus zal syndog op alle media tegelijkertijd een cluster id 'blaffen'. Dit gaat via:

  • Beide seriele poorten (/dev/ttyS0 en /dev/ttyS1)
  • Alle ethernet devices via een simpel ethernet protocol.

Doordat het monitoren via ethernet broadcasts gaat is er geen ip configuratie nodig en zal er geen hinder ondervonden worden van de firewall die op het systeem aanwezig is. Er is geen ARP en IP stack nodig, waardoor de kans op problemen minimaal is.

De monitoring gaat dus niet alleen via de crosskabel, maar ook via de switches op de andere adaptors.

Als extra veiligheid kan zelfs nog een seriele kabel gebruik worden.

Dog modus

Deze mode word automatisch gestart in de initrd. Tijdens het booten word via de inittab een nieuwe instantie gestart, waardoor de initrd geunmount kan worden.

Handmatig starten kan natuurlijk ook:

[Syn-3] root@demo.syn-3.nl ~# syndog geert
Syndog: Barfing 'geert' on all links.

De ID word gebruikt om meerdere clusters op 1 netwerk uitelkaar te kunnen houden. (er word immers gebruik gemaakt van broadcasts)

Cat modus

In cat modus kan er gekeken worden of er een hartslag aanwezig is op 1 van de media:

[Syn-3] root@demo.syn-3.nl ~# source /boot/drbd.conf
[Syn-3] root@demo.syn-3.nl ~# syndog $CLUSTER_ID --cat
/dev/ttyS0 eth1:00:0c:29:7d:75:59 eth0:00:0c:29:7d:75:59 eth1:00:0c:29:7d:75:63 eth0:00:0c:29:7d:75:63 /dev/ttyS0 eth1:00:0c:29:7d:75:59 eth1:00:0c:29:7d:75:63 eth0:00:0c:29:7d:75:59 eth0:00:0c:29:7d:75:63 /dev/ttyS0 eth1:00:0c:29:7d:75:59 eth1:00:0c:29:7d:75:63 eth0:00:0c:29:7d:75:59 eth0:00:0c:29:7d:75:63 eth1:00:0c:29:7d:75:59 eth1:00:0c:29:7d:75:63 eth0:00:0c:29:7d:75:59 eth0:00:0c:29:7d:75:63 [Syn-3] root@demo.syn-3.nl ~#

Hier word de adaptor getoond waarop het pakketje binnenkomt, gevolgd door het source mac adres. In dit geval zitten de machines met beide adaptors op dezelfde switch, waardoor alle pakketjes dubbel binnenkomen.

Protocol informatie

De werking van het protocol is zeer eenvoudig:

  • Iedere seconde word er een ethernet frame gebroadcast.
  • Het ethernet type-veld van het frame staat in gesteld op 0x1337.
  • Het datafield van dit ethernet frame bevat de unieke ID die meegegeven is aan het syndog-commando.

Tcp dump output:

root@server # tcpdump -i wlan0
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on wlan0, link-type EN10MB (Ethernet), capture size 96 bytes
22:49:59.094503 00:0c:29:83:8b:95 (oui Unknown) > Broadcast, ethertype Unknown (0x1337), length 60:
        0x0000:  6363 6663 6233 6264 2d38 6136 342d 3434  ccfcb3bd-8a64-44
        0x0010:  3563 2d61 3461 352d 3063 6663 6162 3261  5c-a4a5-0cfcab2a
        0x0020:  6638 6666 0000 0000 0000 0000 0000       f8ff..........
22:49:59.094757 00:0c:29:83:8b:9f (oui Unknown) > Broadcast, ethertype Unknown (0x1337), length 60:
        0x0000:  6363 6663 6233 6264 2d38 6136 342d 3434  ccfcb3bd-8a64-44
        0x0010:  3563 2d61 3461 352d 3063 6663 6162 3261  5c-a4a5-0cfcab2a
        0x0020:  6638 6666 0000 0000 0000 0000 0000       f8ff..........
22:50:00.188907 00:0c:29:83:8b:95 (oui Unknown) > Broadcast, ethertype Unknown (0x1337), length 60:
        0x0000:  6363 6663 6233 6264 2d38 6136 342d 3434  ccfcb3bd-8a64-44
        0x0010:  3563 2d61 3461 352d 3063 6663 6162 3261  5c-a4a5-0cfcab2a
        0x0020:  6638 6666 0000 0000 0000 0000 0000       f8ff..........
22:50:00.189142 00:0c:29:83:8b:9f (oui Unknown) > Broadcast, ethertype Unknown (0x1337), length 60:
        0x0000:  6363 6663 6233 6264 2d38 6136 342d 3434  ccfcb3bd-8a64-44
        0x0010:  3563 2d61 3461 352d 3063 6663 6162 3261  5c-a4a5-0cfcab2a
        0x0020:  6638 6666 0000 0000 0000 0000 0000       f8ff..........