Convertint ComEsFa?org en invencible: Protocol d'actuació en cas de desastres
Ja com a aplicació pràctica del que es descriu a l'article sobre l'unison, en aquest document s'explica quin és el protocol a seguir en cas de fallada o desastre important en la infraestructura que dóna suport a ComEsFa?org, assegurant-ne la supervivència del servei i minimitzant qualsevol pèrdua d'informació.
Si bé ComEsFa?org pot tolerar "caigudes de servei" raonablement curtes (minuts/hores), en cas que l'avaria o motiu d'indisponibilitat, incloent la desaparició del servidor, sigui tan greu com per preveure un temps de recuperació més llarg, es pugui continuar el servei en un MTTR ("Maximum Time To Recover") raonable.
Tot plegat un exemple pràctic interessant no només per assegurar la invencibilitat de ComEsFa?org, sinó també per servir d'exemple a qui vulgui construir-se un sistema robust.
Per tant, les causes d'indisponibilitat que afecten a aquest protocol són fonamentalment dues: Pèrdua de comunicacions de forma continuada i llarga o destrucció/avaria total o parcial del servidor irrecuperable i que n'impedeixi el servei. S'exclouen expressament les indisponibilitats de servei puntuals que es poden resoldre en franjes de minuts/hores, que per la naturalesa de la web, es considera que no és necessari de protegir.
Escenaris contemplats
- Pèrdua de comunicacions
- Pèrdua del servidor
Descripció del sistema de protecció
ComEsFa?org és bàsicament un servei web que es proporciona a través de un gestor de continguts que funciona amb PHP (drupal) i una Base de Dades que és el lloc on es desen els continguts. Per tant, podem considerar que en tenim una còpia a partir de que copiem tant la Base de Dades, com el directori arrel on hi ha els programes PHP.De vegades es podria considerar que de còpia de programes només en cal una, ja que no és habitual que hi hagi canvis. En aquest cas no és així: Malhauradament hi ha alguns continguts que en aquest cas no es desen a la base de dades, com ara arxius o imatges i, a més, sobre el gestor de continguts s'hi van fent periòdicament "hacks" i pegats que convé tenir-los ben sincronitzats.
Per copiar el sistema d'arxius, on hi ha el codi PHP, imatges, etc, aprofitem l'unison: Ens proporciona un mecanisme que garanteix la rèplica segura dels arxius sense excedir-se en ús d'ampla de banda.
El mecanisme és el que es descriu en el diagrama que veieu a dalt a la dreta, cal clicar-lo per veure'l ampliat. Resumint: Hi ha al Bandoler, que és el servidor actual on hi ha ComEsFa?org, s'exporta cap a 2 miralls, un situat a uns metres (el servidor del Serrat) via xarxa local, que es fa cada hora, i un altre distanciat a uns quants quilòmetres (el servidor de l'Esperança), que es copia un cop al dia, per la matinada, via guifi.net.
Pèrdua de comunicacions amb internet
En situació normal, el bandoler fa servir la sortida a internet que hi ha a l'Esperanca, això és a uns quants quilòmetres de distància, amb 3 routers entre mig i 4 ràdios més en dos "bridges". En cas de desconnexió prolongada, ja sigui en aquesta infraestructura intermitja que proporciona guifi.net, o bé (i més probable), desconnexió prolongada de la connexió ADSL per avaria de la operadora (de vegades poden trigar setmanes en resoldre un inconvenient d'aquest tipus), el que farem és canviar el bandoler de sortida a internet, fent servir una altra ADSL.- Diagnòstic. Les diferents vies d'accés a ComEsFa?org estan realment simultàniament activades, encara que per defecte, només en funciona una. Si no es pot accedir a ComEsFa?org, podem comprovar de forma molt simple si n'hi ha una d'activa que ens permeti arribar fins al bandoler. Per fer-ho només cal posar un prefix en el nom del domini, i mirar quina d'aquestes funciona i arriba al bandoler:
- esperanca.comesfa.org és la que correspon a l'accés via el proxy de l'Esperança.
- elserrat.comesfa.org és la que arriba al bandoler des del proxy del Serrat.
- Actuació. N'hi ha prou amb anar al gestor de noms (DNS) d'Internet. Allà la entrada "www", que és la que correspon a "www.comesfa.org" és de tipus CNAME i apunta normalment a esperanca o gurb. Si, per exemple, l'accés a internet que funciona és el del Serrat, hem de canviar aquesta entrada i posar-hi "elserrat".
- Els canvis al DNS d'internet triguen una estona a propagar-se, hi han servidors cau que tenen en memòria l'adreça anterior i poden trigar en reflectir els canvis. Si el tall és només de la part "guifi", un sistema per aplicar els canvis de forma més immediata, és també fer aquest canvi al servidor de noms de l'Esperança, és a dir, fent que respongi a "www.comesfa.org" amb l'adreça internet del Serrat per contactar amb el bandoler (això es fa posant el registre CNAME a "elserrat-inet.comesfa.org". Si es fa aquesta operació, és important convertir el domini "comesfa.org" en màster en la resta de servidors de noms, ja que quan es recuperi la connexió, aquest canvi es propaga a la resta de servidors, i llavors deixaria de poder contactar-se amb el bandoler.
Si la caiguda és del servidor, per exemple una avaria greu del maquinari que no quedi resolta amb el RAD1 que hi ha actualment a nivell de disc (avaria en els dos discs, corrupció lògica, memòria, ...) i la resolució del problema va més enllà a allò que s'ha compromès el fabricant (24 hores), llavors podem activar el servei des d'un dels miralls.
Com s'ha dit abans, els miralls ja tenen de forma permanent una còpia actualitzada de la base de dades i l'aplicació. Podem en qualsevol moment verificar-la anant a les respectives url que ens hi donen accès:
- esperanca.mirror.comesfa.org per al mirall de l'Esperança, que es sincronitza cada dia a la matinada
- elserrat.mirror.comesfa.org per al mirall del Serrat, que es sincronitza cada 60 minuts
- direccionar el servei a nivell de DNS tal i com es descriu en l'apartat anterior, a la sortida a internet corresponent
- canviar la configuració de l'apache (arxiu comesfa.conf) per tal de que en lloc de fer de proxy cap al bandoler, faci servir el servei local. Podem prendre com a referència l'entrada que hi ha per al corresponent "xxx.mirror.comesfa.org". Reiniciar l'apache.
- activar els crons corresponents per a les notificacions i manteniment del drupal
- desactivar el crons de l'usuari comesfa.org, en la part de carregar la base de dades. Ara la base de dades mestra és la del mirall, per tant, no podem deixar que en cada sincronització la base de dades es "matxaqui".


