= Redundancy opzetten met Syn-3 = '''Zorg dat u altijd een backup heeft voordat u deze operatie uitvoert! ''' Met Syn-3 is het mogelijk om achteraf redundancy te activeren. Het enige wat u hiervoor nodig bent is een zogenaamde crosskabel tussen de netwerk kaarten van de servers. Hiervoor kunt u bijvoorbeeld een 3e netwerk kaart in beide machines gebruiken. Hieronder de instructies voor het opzetten van een 2e server voor redundancy. == Stap 1: Hoofd server (primaire server) == U begint met een reeds standaard geinstalleerde Syn-3 server: 1. Zorg dat de server 100% up to date is. 1. Schaf de redundancy licentie optie aan. 1. Zet uw firewall open voor DRBD redundancy vanaf de interface waarover u de 2 servers verbind. 1. Schakel redudancy in met de standaard instellingen. 1. Herstart de server (dit duurt langer doordat de 2e server nog niet geinstalleerd is) == Stap 2: Aanbevelingen == * Start de machines altijd beide op en laat ze altijd beide aan staan. * We raden u aan om voor de redundant connectie goede netwerk kaarten te gebruiken van het merk Intel. ''Goedkope'' kaarten worden sterk afgeraden. * Verbind de beide servers met elkaar via een cross-kabel. * Een verbinding via een switch word sterk afgeraden! * '''Verwijder deze kabel nooit meer en markeer hem desnoods.''' * Voor extra veiligheid word het aanbevolen een nullmodem kabel te installeren (zie hartslag monitoring, verder op) * Bij een kernel update dienen beide machines gereboot te worden: Bij de kernel manager zal het dus ook nodig zijn om 2 keer op 'Reboot met test kernel' te klikken. Pas als beide machines met de testkernel draaien kunt u deze definitief accepteren. == Stap 3: Fallback server (secundaire server) == Hierna start u de Syn-3 installatie CDROM op de fallback server. 1. Kies bij de installer voor de optie 'SECONDARY': [[Image(redundanyinstall1.png)]] 2a. Heeft u de hoofdserver oorspronkelijk met een 4.1 of nieuwere installatie CD geinstalleerd en de standaard instellingen gebruikt? U kunt dan bij alle instellingen op JA en Volgende klikken, behalve de netwerk zone. 2b. Heeft u de hoofdserver oorspronkelijk met een oudere installatie CD dan 4.1 is geïnstalleerd en de standaard instellingen gebruikt? Klik op JA bij de GPT en RAID vraag, en wijzig verder het volgende: ''Root partition size''=2G. ''Swap'' staat standaard goed. ''Home'' staat standaard goed. ''Space left unused''=976M (of minder) 2c. Weet u niet welke instellingen u moet gebruiken? Kijk dan in de SCC bij Systeem -> Installatie instellingen. Hier ziet u de gebruikte waarden, met de afwijkende waarden extra duidelijk weergegeven: [[Image(installsettings.png)]] 3. Selecteer bij de netwerk kaart dezelfde 'zone' als u op de hoofd server heeft geselecteerd: [[Image(redundanyinstall2.png)]] (hier ziet u geen zone namen maar eth-nummers. kijk bij de netwerk instellingen voor deze benaming.) De installer zal nu doorstarten naar het Redundancy status scherm. Hier zullen de servers elkaar moeten 'zien' en zal de syncronisatie plaatsvinden. Het uiteindelijke resultaat zal zijn dat alles groen is: (op eventueel software raid na, als u dit niet gebruikt) [[Image(redundancysync.png)]] Na verloop van tijd (afhankelijk van de diskgrootte) zullen alle statussen op 'groen' staan. ''Tijdens de eerste syncronisatie zal het booten van de machines een stuk langzamer gaan -- dit is normaal'' 4. Herstart nu de hoofdserver, waardoor de fallback server up moet komen en de installatie voltooid word. 5. Bij versie 4.2 of hoger: Na het voltooien van de installatie zal de fallback server automatisch rebooten. De CD-Rom kan verwijderd worden en het systeem kan nu vanaf de harddisk booten. Bij oudere versies dient u deze reboot-stap handmatig te doen. (u word hier van op de hoogte gesteld via het monitoring systeem) Uw systeem is nu redundant. '''Verwijder de crosskabel nooit en start de machines altijd beide op! Dit gaat nogal eens mis tijdens verhuizingen.''' = Hartslag monitoring = Vanaf versie 4.2 bevat Syn-3 ook monitoring via een ''seriele null-modem kabel'' als mede alle netwerk verbindingen. Hierdoor word de kans op het tegelijkertijd booten van 2 servers in geval van bijvoorbeeld een netwerk storing nihil. De status van de hartslag zal ook weergegeven worden via Syn-3 monitoring. Op de secundaire server worden de ontvangen hartslagen weergegeven op het status scherm. De extra kabel is ook beschikbaar in onze shop: http://shop.syn-3.nl Zie ook SynDog. = Problemen met software = De meeste software zal probleemloos werken met SYN-3 redundancy, doordat de redundancy laag transparant is. De software ziet dus geen verschil en zal op beide nodes werken. Bepaalde software kijkt echter naar de hardware om licenties bij te houden. Deze software zal op de 2e node dan ook niet werken en wellicht opnieuw geactiveerd moeten worden. Als oplossing hiervoor hebben we een speciale '''/etc/node''' directory. De inhoud van deze directory is uniek per server. Als u zorgt dat uw software hier de licenties opslaat, kunt u de software 2x registereren, met 2 verschillende licenties. = Problemen met netwerk apparatuur = Sommige netwerk apparatuur herkend niet dat de andere machine het IP overneemt. De apparatuur is dan pas na een reset weer bereikbaar. U kunt 1 van de onderstaande oplossingen gebruiken, of u dient de server een vast mac adres te geven zoals beschreven in SynNetwork. == Zyxel routers en firewalls == Deze apparatuur heeft vaak een timeout van 300 seconden, waarna alles weer werkt. Indien u wilt dat de modem meteen weer werkt, reset deze dan. Een andere optie is om de ''ip arp force on'' optie te gebruiken. Hoe u dit doet staat hier beschreven: http://wiki.signet.nl/index.php?title=Configuratie_en_troubleshooting_apparatuur_en_software . Neem contact op met Zyxel voor meer informatie over ARP cache problemen. = Redundancy problemen = Om problemen te voorkomen mag u de crosskabel tussen de servers nooit verwijderen! Het word ook sterk '''afgeraden''' om een switch te gebruiken in plaats van een crosskabel. Verder moet u altijd beide machines opstarten, hiermee voorkomt u syncronisatie problemen. == Connectie problemen == Als alle statussen op ''WfConnection'' blijven staan is er waarschijnlijk een firewall probleem. Als slecht 1 status op ''WfConnection'' blijft staan kan er een probleem met de diskgrootte zijn. Dit ziet u als volgt in de dmesg: {{{ [Syn-3] root@server.test.nl ~# dmesg | grep small drbd1: The peers disk is too small! }}} Als dit het geval is dient u uit te zoeken of de fallback disk minimaal dezelfde grootte heeft. Ook kan het zijn dat de partities anders geconfigureerd zijn. Bij Syn-3 versie 3.0 was de root namelijk nog 2G ipv 4G. Deze groottes kunt u opgeven bij de installer. Indien u de fallback server opnieuw wilt opzetten, dient u de hoofdserver opnieuw op te starten. (Anders zal er geen nieuwe connectie kunnen worden gemaakt) == Beide servers tegelijk actief geweest == Als de verbinding tussen de servers weg geweest is kan het zijn dat beide machines tegelijk actief worden of tijdelijk zijn geweest. Ook kan het zijn dat beide machines afzonderlijk opgestart zijn geweest door een menselijke fout. Indien dit het geval is, schakel dan meteen 1 van de machines uit en verhelp de eventuele oorzaak. Indien de machines weer correct verbonden en ''syncroon'' zijn, kunt u voor de zekerheid de volgende commandos geven: {{{ [Syn-3] root@server.nl ~# drbdsetup /dev/drbd0 invalidate_remote [Syn-3] root@server.nl ~# drbdsetup /dev/drbd1 invalidate_remote [Syn-3] root@server.nl ~# drbdsetup /dev/drbd2 invalidate_remote }}} Dit zorgt ervoor dat alle data opnieuw naar de backup server gestuurd word. Zo weet u 100% zeker dat de data op de andere machine klopt. == Machines weigeren samen te starten == Als de beide machines te lang tegelijk actief zijn geweest kan het zijn dat er een ''split brain'' situatie onstaat. De machines weigeren dan om tegelijk actief te worden omdat er dan data corruptie ontstaat. Beide machines bevatten dan verschillende data en u als beheerder dient uit te zoeken welke data gewenst is. Dit kan door de machines 1 voor 1 te herstarten en de situatie te inspecteren. Zorg dat u de 'goede' machine uitzoekt terwijl de andere machine uit staat. Zodra u 100% zeker bent dat de machine met de juiste data actief is, dient u de andere machine opnieuw te installeren in 'secondary' mode met de installatie CDrom. (zoals hierboven aangegeven.) = Split brain herstellen = Als door bovenstaande oorzaken een Splitbrain ontstaan is, kunt u deze op de volgende manier herstellen: == Passieve node herstellen == Op de node die '''geen''' belangrijke data bevat heeft u 2 herstel methoden: * Methode 1: Installeer de node opnieuw als Secondary server * Methode 2 (sneller): reboot de machine met de 'rebuild' kernel parameter, dit doet u als volgt: * In het bootmenu gaat u op de 'Normal kernel' staan en drukt u op 'e'. * Ga op de regel met het woord 'kernel' staan en drukt u weer 'e'. * Voeg aan het einde van de regel het woord 'rebuild' toe. * Druk op enter. * Druk op 'b' om daadewerkelijk te booten. * Methode 3 (zonder te rebooten): Zie verderop Hierna wacht de node en dient u de actieve node te rebooten om deze ook te herstellen. == Actieve node herstellen(verbinden) == Nu de passieve node 'weet' dat zijn data niet meer geldig is, kan de actieve node herstelt worden: Een simpele reboot is nu genoeg. Zit u op een live omgeving, dan zult u dit handmatig moeten doen: We inspecteren eerst de situatie: {{{ [Syn-3] root@demo.syn-3.nl ~# cat /proc/drbd version: 0.7.25 (api:79/proto:74) GIT-hash: 3a9c7c136a9af8df921b3628129dafbe212ace9f build by @darkstar.example.net, 2008-04-08 12:02:40 0: cs:StandAlone st:Primary/Unknown ld:Consistent ns:0 nr:0 dw:6248 dr:3920 al:0 bm:4 lo:0 pe:0 ua:0 ap:0 1: cs:StandAlone st:Primary/Unknown ld:Consistent ns:0 nr:0 dw:24508 dr:24654 al:0 bm:27 lo:0 pe:0 ua:0 ap:0 2: cs:StandAlone st:Primary/Unknown ld:Consistent ns:0 nr:0 dw:78704 dr:261824 al:10 bm:99 lo:0 pe:0 ua:0 ap:0 [Syn-3] root@demo.syn-3.nl ~# dmesg |grep -i split drbd0: Split-Brain detected, dropping connection! .... }}} De actieve node is gesplit en in 'standalone' mode. Nu zoeken we de benodigde netwerk instellingen op: {{{ [Syn-3] root@demo.syn-3.nl ~# cat /boot/drbd.conf DRBD='1' ETH='eth0' LOCAL_IP='169.254.13.1' REMOTE_IP='169.254.13.2' RATE='10000' [Syn-3] root@demo.syn-3.nl ~# ifconfig .... }}} Verbind de actieve node nu weer als volgt: {{{ [Syn-3] root@demo.syn-3.nl ~# drbdsetup /dev/drbd0 net 169.254.13.1:7788 169.254.13.2:7788 C [Syn-3] root@demo.syn-3.nl ~# drbdsetup /dev/drbd1 net 169.254.13.1:7789 169.254.13.2:7789 C [Syn-3] root@demo.syn-3.nl ~# drbdsetup /dev/drbd2 net 169.254.13.1:7790 169.254.13.2:7790 C [Syn-3] root@demo.syn-3.nl ~# cat /proc/drbd version: 0.7.25 (api:79/proto:74) GIT-hash: 3a9c7c136a9af8df921b3628129dafbe212ace9f build by @darkstar.example.net, 2008-04-08 12:02:40 0: cs:Connected st:Primary/Secondary ld:Consistent ns:65936 nr:0 dw:6252 dr:70456 al:0 bm:9 lo:0 pe:0 ua:0 ap:0 1: cs:PausedSyncS st:Primary/Secondary ld:Consistent ns:79756 nr:0 dw:27628 dr:105114 al:0 bm:31 lo:0 pe:0 ua:0 ap:0 2: cs:SyncSource st:Primary/Secondary ld:Consistent ns:34200 nr:0 dw:79816 dr:296112 al:10 bm:101 lo:0 pe:23 ua:3 ap:0 [>...................] sync'ed: 1.0% (4160200/4194304)K finish: 0:57:46 speed: 916 (3,408) K/sec }}} We zien dat alle disken weer ''Connected'', ''Paused'' of ''Sync'' zijn, wat een goed teken is. Ook op het status scherm van de andere node ziet u deze informatie. ''WfConnection'' en ''Standalone'' zijn dus '''niet''' goed. == Passieve node herstellen zonder reboot == Als u de passieve node persee niet wilt rebooten, voert u de volgende commando's uit in het status scherm: [[Image(drbdinvalidate.png)]] Normaal word aanbevolen de andere procedure via het 'rebuild' kernel parameter te gebruiken. = Meer informatie = Alle technische details vind u op: http://www.drbd.org/ Zie SynFs voor een schema van de drbd intergratie met Syn-3. Zie SynBoot voor het boot process.