Tales from the Machine Room


Home Page | Comments | Articles | Faq | Documents | Search | Archive | Tales from the Machine Room | Contribute | Login/Register

Failsafe

Tanto tempo fa, c'erano i computers, che erano quelle cose complicatissime e costosissime che richiedevano una frotta di tecnici in camice bianco sempre a svolazzare intorno ed aggiustare o ritoccare cose per farli funzionare. Poi il mito della "infallibilita'" si e' sparso ed oggi abbiamo i peesee che sono quei cosi che funzionano quando ne han voglia loro ed i cui proprietari continuano ad aggiustare e ritoccare nel tentativo di farli funzionare. Ed abbiamo i server che sono come i peesee, ma (di solito) se ne occupano i sysadmin, che sono quegli esseri leggendari che si narra vivano in un qualche antro sperduto nei sotterranei del palazzo e nessuno ha mai visto in persona.

Che si fa per evitare che un... qualcosa si rompa con facilita'? Semplice: lo si rende fail proof. Che e' come dire "inaffondabile" nei riguardi di una nave. Un modo molto fantasioso per dire "quando qualche cosa va male preparati ad una catastrofe".

Un sysadmin intelligente sa che il miglior sistema e' quello di avere dei backup, anche nei riguardi dell'hardware. Questo e' quello che si chiama "evitare i Single Point Of Failure", che in termini meno tecnici significa "evitare che quando UN COSO si guasta provochi una catastrofe". I vari SL ed UL hanno opinioni contrastanti in genere. Fa' tanto figo da dire nelle riunioni, ma quando cominciano a vedere i costi lievitare per "dispositivi di backup" e "ridondanza del sistema" cominciano a strillare di "sforamenti di budget" et similia.

Poi ci sono i casi estremi... come quello che mi e' capitato questa settimana con $noivendiamolibri, che e' una ditta specializzata nel vendere, comperare, riciclare e rivendere libri di testo scolastici ed altre cose cosi'.

Tempo addietro avevano un sistema composto da due server di produzione collegati ad un database server dietro ad un load-balancer. Il load-balancer ed il db server erano gli unici elementi che potessero dare dei problemi.

Poi, per qualche strano motivo, digestione difficile probabilmente, l'SL di turno si e' fatto intortare dal marketdroide di turno ed un nuovo fiammante sistema e' stato implementato. Il nuovo sistema si basa su numero UN server di produzione (dovrebbero essere due ma il secondo risulta non operazionale), un server LDAP (Il cui scopo e' tutt'ora ignoto), un server di indicizzazione e due server di ricerca (di cui uno dei due e' sempre non operazionale e no, non e' nemmeno 'standby'), un server di database con ennemila istanze per gestire il tutto e ben 3 load balancer. Uno attaccato al server di produzione, uno per il server di ricerca ed uno per il server LDAP. Ora, che senso abbia un load balancer con UN solo backend e' tutto da discutere, ma questo e' quanto.

Il risultato e', come feci notare quando l'intero ambardan venne presentato, e' che il numero di 'single point of failure' e' aumentato a sette (!) in quanto ogni singolo server sembra essere 'essenziale' per il funzionamento dell'intero sistema e se qualche cosa va male, l'intero accrocchio cessa di funzionare. Non solo ma, come scopriamo rapidamente, il malfunzionamento di uno dei componenti provoca errori a catena che sono molto difficili da tracciare al "vero" colpevole.

E cosi' arriviamo ad oggi. Sabato mattina. Ore 3.45. Si', significa un quarto alle quattro del mattino. Quando il malefico guinzaglio-cellofono comincia a suonare per avvisarmi che l'intero ambaradan e' fuori servizio. Il che significa che UNO QUALUNQUE di quella montagna di servers potrebbe avere dei problemi.

Ok, silenzia il coso, verifica via browser e trovo la paginetta di "fuori servizio", il che significa che il load balancer che dovrebbe essere davanti ai vari server di produzione funziona, vediamo un po' come funziona il server di produzione. Ed un login dopo scopro che il server sta funzionando ma scrive errori su errori lamentandosi che non riesce a connettersi con il famoso server di ricerca, il quale sembra a sua volta funzionare ma non riesce ad aggiornare i dati dal server di indicizzazione, il quale a sua volta sembra funzionare ma non riesce a leggere salca$$ocosa dal server di database, il quale a sua volta... Il tutto condito da bestemmie ed imprecazioni perche' niente mi ispira di piu' che l'essere svegliato alle 4 del sabato mattina da un cellofono isterico. Nyaaaaahhhhhh!

Dopo una manica di stop, start, stop, stop, muorifottutobastardo, start, check, re-check e cosi' via, traccio il problema in un crash silenzioso del server ldap. Il che significa che il servizio LDAP pare funzionare ma non ritorna nessun risultato. Ovviamente non basta riavviare il servizio, occorre manualmente lanciare una riparazione del database, fermare e riavviare il servizio, aspettare che sia avviato e poi riavviare tutti i foxxuti servizi su tutti i foxxuti servers!. Con l'eccezione dei load balancer e del server di database che sono solo dei passacarte.

E meno male che il branco di dementi che hanno proposto questo setup lo hanno promosso come "fail-safe".

Davide
21/11/2011 08:00

Previous Next

Comments are added when and more important if I have the time to review them and after removing Spam, Crap, Phishing and the like. So don't hold your breath. And if your comment doesn't appear, is probably becuase it wasn't worth it.

17 messages this document does not accept new posts
Anonymous coward By Anonymous coward - posted 21/11/2011 08:13

In un mondo perfetto c'e' il cliente che ti dice COSA vuole, tu gli dici QUANTO costa, lui paga, fine.

Purtoppo nel mondo reale il cliente ti dice anche COME vuole il COSA, ed alcuni pervertiti arrivano addirittura a dirti QUANTO deve costare. In ogni caso, non e' un problema, tanto ci saranno sempre dei poveri disgraziati su cui scaricare le rogne, di notte, a natale , la domenica, etc. E' la globalizzazione, baby!

--
Anonymous coward


Manuel Ravasio@ Anonymous coward By Manuel Ravasio - posted 21/11/2011 11:16

> Purtoppo nel mondo reale il cliente ti dice anche COME vuole il COSA, ed alcuni pervertiti > arrivano addirittura a dirti QUANTO deve costare.

Il tuo candido ottimismo mi fa pensare che tu non abbia mai partecipato ad un progetto, men che meno dalla parte del fornitore.

Facciamo un paragone nel mondo dei trasporti, tanto per inquadrare la situazione.

1. Il cliente ha "roba" da spostare. Quanta, da dove a dove, di che natura, non è ritenuto essenziale. L'importante è che il camion dovrà essere verde pisello, montare ruote con cerchioni da 11 pollici e la cabina deve profumare di violetta selvatica. Questi requisiti sono ASSOLUTAMENTE ESSENZIALI, il resto non è importante.

2. Il trasporto deve richiedere un massimo di 4 giorni. Ripeto, tu non hai la minima idea se devi spostare il contenuto del sottoscala dei PC guasti, un'intera cava di ghiaia o un magazzino di cibo surgelato. Sai solo che il camion DEVE ASSOLUTAMENTE essere AZZURRO. Come? Al punto 1 dice "verde"? Si, ma nel frattempo il capo del capo del mio capo ha litigato col capo del capo del tuo e in un empito di celodurismo i due stanno spaccando l'azienda perchè nessuno ammetterà il colore del camion altrui.

3. In tutto questo, ovviamente, nessuno ha chiesto il parere dell'autista, ne' del povero stronzo che a mani nude dovrà caricare il camion. Già, perchè noi qui parliamo di camion, gru e muletti sono in carico all'altra bisness iunit, ed è ASSOLUTAMENTE ESSENZIALE che NON SI COINVOLGANO, altrimenti poi gli si devono dei soldi e per ovvie questioni di celodurismo questo non è ammissibile.

4. Un giorno suona il tuo telefono. Il tuo capo ti dice che domattina devi presentarti dal cliente per imbiancare le pareti. Quando arrivi, ti viene indicato un 127 panorama del 1982, verde acqua, parcheggiato davanti ad una piscina. La ruota di scorta è da 11 pollici (quindi completamente inutile), per rispettare le specifiche. Entro venerdi pomeriggio (meglio però se ce la fai per giovedi sera) l'acqua della piscina deve essere travasata nella sua gemella nella regione vicina. Le tolle del bianco che ti eri portato vengono prontamente requisite dal PM, che in cambio promette il suo aiuto per fare rifornimento al 127, cosi' da non sprecare tempo inutile. Ovviamente lui ha accesso solo ad una pompa di gasolio, ma questo non lo sa.

Buon lavoro!

 

 

--
Manuel Ravasio


Kurgan@ Manuel Ravasio By Kurgan - posted 25/11/2011 11:35

Facciamo un paragone nel mondo dei trasporti, tanto per inquadrare la situazione.

Manuel, sei un GENIO!!!

Questa la conservero`, sono sicuro che ci saranno occasioni nelle quali potro` riciclare questa perfetta spiegazione di come funziona il lavoro nelle grandi aziende (e anche in quelle non cosi` grandi).

--
Il massimo danno con il minimo sforzo


Anonymous coward@ Anonymous coward By Anonymous coward - posted 21/11/2011 22:02

> È la globalizzazione, baby!

La globalizazione non c'entra un piffero.con la stupidità; all'epoca dei greci o dei romani le cose andavano allo stesso modo; solo che tu saresti stato uno schiavo e quindi avresti lavorato meno e saresti stato pagato meglio.

 

 

--
Anonymous coward


melanippe By melanippe - posted 21/11/2011 08:28

Intendevano failsafe fino al momento in cui le fatture sono state pagate.

--
melanippe


Messer Franz@ melanippe By Messer Franz - posted 21/11/2011 22:27

 

cit>Intendevano failsafe fino al momento in cui le fatture sono state pagate.

 

"le fatture sono state pagate"?

Beh , quelle della fornitura , forse.Ma non quelle dell'assistenza , che crescono e si riproducono peggio di un nido di alien , i bug di windows e i politici ladri tutti e tre assieme in un solo gruppo allegro e pimpante (Sempreche' gli alien non si offendano della compagnia)

--
Messer Franz


Mauro By Mauro - posted 21/11/2011 08:45

Per curiosita' a che ora hai finito il ripristino?

Ciao BigD e buon inizio settimana.

--
Mamo


Anonymous coward By Anonymous coward - posted 21/11/2011 09:19

Evviva ti hanno promosso!

Adesso sei  "fail-safe" cheeky

--
Anonymous coward


Anonymous cowhard By Anonymous cowhard - posted 21/11/2011 10:00

Perdonate ma è solo un problema di traduzione:

Failsafe = Fail + Safe = Fallimento Sicuro

--
Anonymous cowhard


Kurgan By Kurgan - posted 21/11/2011 10:09

Ma no, e` failsafe fino a che non si rompe. Dopo e` solo fail.

E comunque, non la vedi la ridondanza? Hanno 7 macchine quando ne basterebbero probabilmente 4 (due frontend in load balancing, due backend in active-standby). Se con 4 potrebbe essere fail safe piu` o meno realmente, con 7, sara` ben piu` failsafe che con 4? Voglio dire, ci sono 3 macchine in piu`, se non e` ridondanza questa...

E` quasi il doppio. E` bi-fail-safe.

--
Il massimo danno con il minimo sforzo


Anonymous coward By Anonymous coward - posted 21/11/2011 10:19

In aereonautica c'è un detto: "un bimotore ha il doppio delle probabilità di un monomotore di avere un guasto al motore. Un quadrimotore, il quadruplo". E se pensate che avere almeno un motore sia meglio, ci sono situazioni (bassa velocità e motore rimasto al massimo, per il decollo, ad esempio), dove l'aereo diventa semplicemente incontrollabile e si ribalta perché le leggi della fisica impongono così.

Quindi hanno imparato a rendere fail safe quello che veramente è necessario,  non aggiungere pezzi inutli (anche per questioni di peso, vabbé...), e verificare accuratamente il tutto. Chissà perché nell'IT si pensa sempre "basta aggiungere un server, no?"

--
Anonymous coward


CamelCounter By CamelCounter - posted 21/11/2011 11:36

Ma il reato di circonvenzione d'incapace li non esiste...?  ^__^;;;

--
CamelCounter


Guido By Guido - posted 21/11/2011 11:40

 

<i>UN server di produzione (dovrebbero essere due ma il secondo risulta non operazionale), un server LDAP (Il cui scopo e' tutt'ora ignoto), un server di indicizzazione e due server di ricerca (di cui uno dei due e' sempre non operazionale e no, non e' nemmeno 'standby'), un server di database con ennemila istanze per gestire il tutto e ben 3 load balancer. Uno attaccato al server di produzione, uno per il server di ricerca ed uno per il server LDAP</i>

 

EHHHHHH???????????????????????????????????????

--
Guido


argaar By argaar - posted 21/11/2011 23:40

se la cosa ti può consolare (ma credo proprio di no) non sei il solo ad avere nel proprio ced un load balancer con UN solo server dietro

--
argaar


Sirtao By Sirtao - posted 22/11/2011 02:25

Guarda che "Fail Safe" significa "Sicuro che Fallisce", mica il contrario...

--
Sirtao


Guybrush Threepwood (guido)@ Sirtao By Guybrush Threepwood (guido) - posted 23/11/2011 17:36

 

Guarda che "Fail Safe" significa "Sicuro che Fallisce", mica il contrario...

 

Alla Yoda quindi... Safe Fail ;\)

--
Guybrush Threepwood (guido)


Luca Bertoncello By Luca Bertoncello - posted 22/11/2011 16:45

La storia assomiglia un po' a quanto mi e' capitato per $portale...
Dopo aver aspettato qualcosa come 9 mesi per il Cluster (si, perche' il capo mica vuole che, appena un Server si schianta, si schianti il portale, eh?), alla fine mi consegna UN Server.

La logica di fondo era: te intanto installa il tutto come Cluster senza un nodo, poi quando serve aggiungiamo Server.
Avendo dovuto ammettere che il sistema funzionava (un Cluster puo' funzionare anche se e' rimasto il solo a tenere il forte) non ho potuto tirarmi indietro...

Ciao

--
Luca Bertoncello


17 messages this document does not accept new posts

Previous Next


This site is made by me with blood, sweat and gunpowder, if you want to republish or redistribute any part of it, please drop me (or the author of the article if is not me) a mail.


This site was composed with VIM, now is composed with VIM and the (in)famous CMS FdT.

This site isn't optimized for vision with any specific browser, nor it requires special fonts or resolution.
You're free to see it as you wish.

Web Interoperability Pleadge Support This Project
Powered By Gojira