Her forklares de grundlæggende typer redundans man kan have, og hvad de hver især er gode til.
Dette er en del af en serie artikler om redundans, som bør læses i rækkefølge. Hvis du ikke har læst indledningen ” Redundans til at løse alle problemer”, så er den her.
Et redundant eller fejltolerant system består af flere apparater som gør det samme, og når det ene system holder op med at virke, så tager det andet over. Redundans kan opdeles i tre kategorier.
1. Load-shared redundans Her har vi flere maskiner der deles om opgaven. De laver det samme, men der vil ofte være et system som fordeler opgaverne mellem dem. Hvis den ene forsvinder, skal det detekteres, og de opgaver som den skulle have løst, skal så løses af en anden maskine. Hvis en maskine ikke længere kan arbejde kan det betyde at systemets samlede ydeevne bliver mindre.
2. Aktiv redundans Ved aktiv redundans har vi typisk to maskiner, som laver nøjagtig det samme. Men kun outputtet fra den ene maskine bruges. Outputtet fra den anden maskine bliver ikke brugt til noget. Det indebærer så at der må være en form for omkobling, som kan skifte om mellem outputtet fra den ene eller den anden maskine. De to maskiner vil typisk være lige kraftige, så systemets samlede ydeevne vil ikke blive mindre fordi vi kører på Backup’en.
3. Passiv redundans Her har vi typisk en maskine der laver noget og en der ikke laver noget, men som bare står klar til at lave noget, hvis den første maskine fejler. Det vil sige at her skal vi have et omkoblingssystem som sørger for at starte den ene og stoppe den anden maskine og evt. koble om både på udgangen og indgangen.
Bemærk at navnlig termerne aktiv og passiv redundans bruges anderledes i andre artikler om redundans. Andre forfattere kan også opdele kategorierne lidt anderledes, så man har en kategori der hedder 1-til-1, hvor der for hvert apparat altid er et i reserve og som regel vil dette være et aktivt system. Så kan man endelig have N+[i]X[i] redundans hvor man har N systemer som kører og et mindre antal X som står klar som reserve. N+1 redundans er så et specialtilfælde hvor man så kun har 1 reserve til at kunne tage over for N systemer. Reservesystemet vil så være passivt, i og med at det først skal have at vide hvilket systems opgaver det skal overtage, før det kan gå i gang med opgaven.
Forskellene forstås nemmest ved en række eksempler. Ved aktiv og passiv redundans giver det mening at tale om Main og Backup, hvor Main så er det system som kører og bliver brugt, og Backup er det system som er klar til at tage over.
Et eksempel på Load-share er en FM-sender med to PA trin. Normalt vil de være i gang begge to, men hvis det ene skulle fejle, så kan man sende videre med det andet, dog med lavere effekt, typisk 6 dB lavere. I dette tilfælde er der ikke nogen eller noget der skal beslutte at skifte om til backupsystemet, men resultatet er så mindre udgangseffekt så længe det ene PA trin ikke virker. Et andet eksempel er et fly med to motorer. Alle piloter der flyver kommerciel luftfart lærer hvordan man flyver og lander selv om den ene motor ikke virker.
Et eksempel på et Aktivt redundant system kan være to video-playoutservere som er koblet sammen, så når man trykker på play så starter de begge to. Skulle den ene så fejle, må man have noget automatik som detekterer at der nu ikke længere er noget videosignal, og så skal der skiftes over på den anden, som så vil afspille det samme. Hvis det er lavet tilstrækkelig smart, vil det kun give et ganske kort udfald. Backup systemet arbejder altså hele tiden, og det gør ingen forskel for backup systemet om signalet fra det bliver sendt eller ej.
Passiv redundans er et system, hvor Backup systemet ikke laver noget. Det er sikkert tændt og klar, men det udfører ikke nogen opgaver, før det bliver startet når der er brug for det. Et eksempel på det kan være to uafhængige afviklingsmaskiner i et studie. Backup-maskinen laver ikke noget før den bliver startet, den står bare og er klar. Et andet eksempel kan være redundante sendere, hvor man har en hel sender til stå klar hvis en anden sender holder op med at virke. Så skal der være en styrenhed som detekterer at Main har et problem, lukker Main ned, kobler om til Backup og giver Backup besked om at starte. Her kan man så også finde N+1 redundans. Hvis man har en sendestation med en række sendere, så kan man have 1 Backup. Hvis en af Main senderne fejler, så skal en styreenhed detektere hvilken sender der er fejlet, sørge for at sende det korrekte inputsignal til Backup, fortælle Backup hvilken frekvens den skal sende på og koble Backup ind i stedet for den Main der ikke fungerer mere.
Load-share vil ofte være det, der giver mest for pengene, for her har man ikke investeret i noget der ikke bliver brugt. Man må så overveje om den nedgang i ydelse, som der typisk vil være, er acceptabel. Hvis den ikke er det, vil valget stå mellem aktiv og passiv redundans. Skal man sammenligne aktiv og passiv redundans, ville de fleste nok umiddelbart mene, at aktiv redundans er bedst, men kun hvis man har husket at tage højde for en lille ting…
For nogle år siden besøgte jeg A-kraftværket ved Barsebäck. Det var stadig i fuld drift, og dets lukning havde været debatteret så langt tilbage som jeg kan huske. Naturligt nok lagde man en del vægt på at forklare om alle de reserve- og sikkerhedssystemer som skulle bruges i tilfælde af alle tænkelige og utænkelige problemer. Jeg hæftede mig ved en bestemt ting. I en af hallerne stod 4 kølevandspumper til reaktoren. De var i drift alle sammen, og de 4 pumper udgjorde altså et load-shared redundant system. Styringsmodulerne til de her pumper var alle forskellige, hvad der kunne synes ulogisk. Forklaringen viser hvor meget broadcast industrien har at lære af andre brancher: Hvis man har flere ens systemer, som altid laver det samme, og nogle bestemte omstændigheder indtræffer, som medfører en fejl på systemet (i dette tilfælde at pumpen holder op med at pumpe), så er der stor risiko for at alle systemer vil få den samme fejl. Så ville den fine redundante setup, hvor man har 4 pumper men reelt kunne klare sig med 2 (mener jeg det var) ikke være noget værd, og så kan vi forestille os hvad der så ville ske… Så derfor var controllerne til de 4 kølevandspumper forskellige.
Inden for broadcast-verden har man sjældent brug for at pumpe store mængder vand, men der mange andre eksempler på at det ikke nødvendigvis er godt med et aktivt system som består at to ens komponenter. Hvis man fx har to servere som afvikler den samme playliste, og en fejl i playlisten gør, at serveren crasher, så vil sandsynligheden for at backup serveren også crasher være ret stor, i hvert fald hvis de er ens. Hvis det ikke er en mulighed at have to forskellige servere, så er det værd at overveje om ikke det er bedre med et passivt redundant system. Hvis noget i playlisten får Main til at crashe, så vil backup’en ikke være crashet, fordi den ikke laver noget, og så er den klar til at køre med det samme.