Storie dalla Sala Macchine


Home Page | Commenti | Articoli | Faq | Documenti | Ricerca | Archivio | Storie dalla Sala Macchine | Contribuire | Imposta lingua:en it | 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

Precedente Successivo

I commenti sono aggiunti quando e soprattutto se ho il tempo di guardarli e dopo aver eliminato le cagate, spam, tentativi di phishing et similia. Quindi non trattenete il respiro.

17 messaggi this document does not accept new posts

Anonymous coward

Di Anonymous coward postato il 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 Di Manuel Ravasio postato il 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 Di Kurgan postato il 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 Di Anonymous coward postato il 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

Di melanippe postato il 21/11/2011 08:28

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

-- melanippe

Messer Franz

@ melanippe Di Messer Franz postato il 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

Di Mauro postato il 21/11/2011 08:45

Per curiosita' a che ora hai finito il ripristino?

Ciao BigD e buon inizio settimana.

-- Mamo

Anonymous coward

Di Anonymous coward postato il 21/11/2011 09:19

Evviva ti hanno promosso!

Adesso sei  "fail-safe" cheeky

-- Anonymous coward

Anonymous cowhard

Di Anonymous cowhard postato il 21/11/2011 10:00

Perdonate ma è solo un problema di traduzione:

Failsafe = Fail + Safe = Fallimento Sicuro

-- Anonymous cowhard

Kurgan

Di Kurgan postato il 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

Di Anonymous coward postato il 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

Di CamelCounter postato il 21/11/2011 11:36

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

-- CamelCounter

Guido

Di Guido postato il 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

Di argaar postato il 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

Di Sirtao postato il 22/11/2011 02:25

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

-- Sirtao

Guybrush Threepwood (guido)

@ Sirtao Di Guybrush Threepwood (guido) postato il 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

Di Luca Bertoncello postato il 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 messaggi this document does not accept new posts

Precedente Successivo


Il presente sito e' frutto del sudore della mia fronte (e delle mie dita), se siete interessati a ripubblicare uno degli articoli, documenti o qualunque altra cosa presente in questo sito per cortesia datemene comunicazione (o all'autore dell'articolo se non sono io), cosi' il giorno che faccio delle aggiunte potro' avvisarvi e magari mandarvi il testo aggiornato.


Questo sito era composto con VIM, ora e' composto con VIM ed il famosissimo CMS FdT.

Questo sito non e' ottimizzato per la visione con nessun browser particolare, ne' richiede l'uso di font particolari o risoluzioni speciali. Siete liberi di vederlo come vi pare e piace, o come disse qualcuno: "Finalmente uno dei POCHI siti che ancora funzionano con IE5 dentro Windows 3.1".

Web Interoperability Pleadge Support This Project
Powered By Gojira