Tales from the Machine Room


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

Ed ecco l'imprevisto 3.0

Che mi sa che smetto di contarli che senno' non mi passa piu'. Allora, gia' dissi dei precedenti imprevisti qui e qui. E dopo la seconda volta pensavo di averle viste tutte, ma NOOOOO.

Stamani, stavo discutendo con T dei vari bug trovati e da trovare nella nuova versione della web-application per gestire le varie impostazioni dell'antispam, quando l'applicazione in questione ha smesso completamente di rispondere. Dopo un paio di madonne (per la serie 'ok che stiamo cercando i bug, ma questo e' grosso come un rinoceronte'), ci siamo resi conto che il problema non era nell'applicazione ma nel fatto che una serie di macchine alla co-lo erano andate in palla.

Il problema e' stato rintracciato nel solito Omino In Salopet che ha staccato il cavo di alimentazione sbagliato togliendo la corrente a due racks che non c'entravano una beata fava.

Risultato, il nostro gateway di collegamento con la rete di management alla co-lo era kaputt, il database server che, incidentalmente, supporta tutte le applicazioni era kaputt ed un paio di altre macchine di quasi nessuna importanza (tipo il monitor che dovrebbe avvisarci di questi avvenimenti ed il server su cui gira la nostra applicazione di help-desk) erano kaputt. Dato che con il gateway kaputt non si poteva fare niente, Bart e' balzato sulla Bart-Mobile e si e' scapicollato alla co-lo (sciroppandosi 9 Km di colonna) e dopo un'oretta circa qualche cosa ha cominciato a resuscitare. Ed eccoti il problema.

Il foxxuto database su cui tutta la baracca si appoggia e' MySQL e si trova su un cluster composto da due server. Per qualche motivo il cluster non e' un cluster.

Nel senso che il server 'secondario' non ha heartbeat in funzione, percui in caso di collasso del primario non farebbe un tubazzo. Inoltre, i due nodi non hanno nessun servizio in condivisione a parte l'indirizzo IP. Hummm.... e allora che senso ha il cluster?

Semplice: entrambi i nodi hanno MySQL in funzione in configurazione master/slave in modo che i dati dal master siano replicati sullo slave... ma non viceversa ovviamente.

Dopo aver passato una mezz'ora domandandomi che senso ha il tutto, cerco di riavviare il foxxuto database e mi becco un bell'errore di MySQL. Una delle tabelle e' bacata. Ok, un repair table dopo funziona meglio, ma a questo punto mi accorgo che la replicazione sullo slave non sta funzionando ed apparentemente non ha funzionato per piu' di un mese.

Dopo le dovute bestemmie cerco di capire che senso ha l'avere un cluster che non e' un cluster ed un sistema master/slave che non sono master/slave, il passo successivo e', ovviamente, far ripartire la foxxuta replicazione. E qui' ti casca l'asina: meta' dei database in questo coso sono InnoDB, l'altra meta' MyISAM ed il tutto sono circa 80 Gb di roba.

Ed ovviamente, dato che questa chiavica e' il database principale su cui si appoggia l'intera combriccola, non e' possibile tenere il foxxuto coso spento per una mezz'ora mentre resincronizzo lo slave per far ripartire la merdosa replicazione.

Dopo una lunghissssssssimisssssssima giornata passata a sincronizzare la roba una alla vota, tirare madonne, copiare files, tirare altre madonne e, in generale, non fare quello che avrei voluto fare (un bel rm -fr e ripartiamo da capo che e' meglio), riesco finalmente ad avere il maledetto accorcchio in piedi di nuovo.

A questo punto ho aggiornato la pagina della documentazione relativa a quella chiavica e poi ho cominciato a mettere giu' una bella proposta per il mio prossimo progetto: rendere il cluster un vero cluster.

Adesso devo solo aspettare il prossimo "imprevisto"...

Davide
09/08/2008 00: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.

38 messages this document does not accept new posts
MickyMicky By Micky - posted 08/09/2008 08:45
Le repliche di MySQL tanto non replicano, senza nessun motivo smettono di replicare e il modo più rapido che ho trovato per ripristinare la replica sullo slave è proprio cancella e ricomincia da capo. È fatto così, evidentemente, pensavo di essere l'unico a cui capitavano 'ste cose.


consolati, non sei da solo


Herr FranzHerr Franz By Herr Franz - posted 08/09/2008 08:46

Rendere il cluster un vero cluster?Naaa! troppo bello !Vedrai che ti chiederanno di farlo a colpi di macchine virtuali!


ma che sei tu? un veggente?


Gandolfo Ivo bofh@cuneo2lemon.netGandolfo Ivo bofh@cuneo2lemon.net By Gandolfo Ivo bofh@cuneo2lemon.net - posted 08/09/2008 08:46

E ti è andata bene che son solo 80GB di roBBa. Io qui ho un cluster/non cluster (3 locali + 2 "extern) con un DB di proporzioni bibliche (leggasi: 500GB + incrementale giornaliero di +10~GB). Quando collassa tutto e devo fare ripristino l'intera popolazione locale viene deliziata di solenni canzoni sacre (leggasi: $bestemmioni)

BabboMatteoBabboMatteo By BabboMatteo - posted 08/09/2008 09:13

Caro D., cari tutti...

vorrei raccontare della settimana appena passata, la settimana del terrore, in cui:
a) lunedi' si sono 'sconfigurati' i DNS di buona parte dei nostri clienti (non dico di chi e' la colpa, diciamo che $CompagniaTelefonicaNazionale ci ha messo lo zampino), il nostro prode Sysadmin non ha smesso di rispondere al telefono dalle ore X alle ore X+$suoorariodilavoro o giu' di li';
b) venerdi', approssimativamente attorno alle ore 14 il motore dell'$antivirus di molti clienti ha deciso che c'era qualcosa che non andava - files di sistema cancellati a casaccio - bestemmie di clienti - aribestemmie di clienti - aiuto aiuto moriremo tutti...
E meno male che non lavoro piu' al TechSupp!!!
E qualcosa mi dice che oggi si ricomincia!!!

TommasoTommaso By Tommaso - posted 08/09/2008 09:14

Una bella giornata non c'è che dire...

Ma non sentivi pruderti i sensi di ragno quella mattina? forse era il caso di restare a letto!


pensavo fossero le zanzare...


Luca BertoncelloLuca Bertoncello By Luca Bertoncello - posted 08/09/2008 09:15

Piu' vedo i casini provocati dalle repliche di MySQL, piu' son contento di aver fatto il mio Cluster (che funziona come un orologio svizzero) mettendo il DB su una device DRBD e facendo salire MySQL solo sul nodo Master...


si, che e' quello che penso io quando mi dicono "cluster", invece pare che loro dicano "cluster" e intanto pensano "macchine separate con replicazione che non funziona"...


robertoroberto By roberto - posted 08/09/2008 09:17

ma tu non dovresti essere quello che risolve i problemi? altrimenti che sei li a fare, eh? (su web non rende il tono con cui e' stata detta la frase: il tono va inteso come "sei uno che sa fare il suo mestiere".


si, tempo/soldi/possibilita permettendo...


franganghifranganghi By franganghi - posted 08/09/2008 09:18

Pensa che il mio gruppo gestisce tra le altre cose DUE ARCHITETTURA in due location diverse in cluster: vuol dire che i servizi passano da una sala all'altra per una 30ina di apparati (superdome, ws con db applicazioni, load balancer...). Sai come sono connesse le due sale, tra roma e milano? Un catalyst singolo con un tunnel su rete pubblica.


Devo aggiungere altro?


vedo molti falsi allarmi nel tuo futuro


rotellarorotellaro By rotellaro - posted 08/09/2008 10:09

passa a postgresql, mysql non e' un database :P


potrei ribadire che neanche PostGre lo e'... ma io sono di parte. E comunque, non e' una scelta mia


TommasoTommaso By Tommaso - posted 08/09/2008 10:09

>> franganghi dice il 08/09/2008 09:17:
>> Un catalyst singolo con un tunnel su rete pubblica.
> vedo molti falsi allarmi nel tuo futuro

Io invece credo di vedere un curriculum che si aggiorna...

AndrèAndrè By Andrè - posted 08/09/2008 10:35

...e meno male che non usate microblows sql waster!


qui da noi ogni tanto il suddetto ci ricorda le sfide con la spada di monkey island (di cui dovresti avere un deja vu, in una delle tue storie)


GamaGama By Gama - posted 08/09/2008 11:01

Anche qui da noi il cluster con MySql fa quello che dovrebbe fare, i dati sono su un'area dischi di rete (con raid, backup e altare votivo ai grandi antichi) e mysql è sul master mentre lo slave è pronto a sorgere per salvare la giornata. Per un attimo era balzata fuori l'idea di virtualizzare il tutto ma la proposta e' stata cassata in tempo zero.
Ah gia', dimenticavo di dire che il "cluster" lo aveva configurato $fornitore e che $collegaSveglio ha dovuto lottare con le unghie e con i denti per rimettere in piedi il tutto dopo un'apocalisse atmosferica visto che la "configurazione" era inesistente e che il sistema risultava funzionante fintanto che non veniva spento.

Gama

WarfoXWarfoX By WarfoX - posted 08/09/2008 11:20

Ho un cliente con un cluster Mysql Master/Slave.. a parte che la replica si incricca come e quando vuole... la cosa fantastica e' che se per sbaglio crei un trigger sbagliato, sto scemo lo scrive nel binlog bloccando anche lo slave... e cancellalo poi!
Emmenomale che io ho sempre scelto pgsql da 10 anni a sta parte.

TwisterTwister By Twister - posted 08/09/2008 11:30

Pensavo di essere l'unico, invece vedo molti in situazione di Cluster/noncluster, aspetto con rassegnazione il prossimo schianto, tanto le cose le capiscono solo con le cattive... Mi sta venendo in mente un colpo da BOFH stile Kyocera di tua antica memoria, che ne dici?


siediti in sala macchine ed aspetta, vedrai il cadavere del cluster passare... il guaio e' poi che sarai tu a doverlo rianimare.


DavideDavide By Davide - posted 08/09/2008 11:34

Usare SQL Server 2008 no eh ??????

Passa a Windows che è meglio!!!!!!

(spero si intenda il senso ironico...)


Hummm... di fronte ad un non-cluster fatto cosi', pure SQL Server ha i suoi vantaggi eh...


ilSimoilSimo By ilSimo - posted 08/09/2008 12:28

> potrei ribadire che neanche PostGre lo e'... ma io sono di parte


perche' no? consideri un DB solo l'oracolo? :P


No, non solo lui, io trovo che DB2 sia molto piu' "database" di PostGre e MySQL messi insieme. Certo, Oracle ha i suoi ca$$i pure lui, ma se devo scegliere un database sul quale appoggiare il 100% delle funzionalita' di una ditta commerciale (aka: ci fai i soldi), anche la licenza di Oracle non e' poi cosi' costosa.


robertoroberto By roberto - posted 08/09/2008 12:49

>Andrè dice il 08/09/2008 10:24:
>...e meno male che non usate microblows sql waster!
>
>qui da noi ogni tanto il suddetto ci ricorda le sfide con la >spada di monkey island (di cui dovresti avere un deja vu, in >una delle tue storie)

Sto tremando, sto tremando! :-\)

rotellarorotellaro By rotellaro - posted 08/09/2008 13:19

io sono la gomma tu la colla

:P

GamaGama By Gama - posted 08/09/2008 13:50

>ma se devo scegliere un database sul quale appoggiare il 100% delle funzionalita' di una ditta commerciale (aka: ci fai i soldi), anche la licenza di Oracle non e' poi cosi' costosa.


La scelta di oracoso secondo me dipende proprio dalle possibilità dell'azienda e dalla complessità di quello che ci deve girare sopra. Per quanto mi riguarda pero' non mi piace scrivere i miei programmi legandomi troppo alle possibilita' offerte dal database: mi e' gia' capitato troppe volte di dover riscrivere troppo per svincolarmi quando "le alte cerchie" hanno optato per un cambio di piattaforme.


Gama


Riccardo CagnassoRiccardo Cagnasso By Riccardo Cagnasso - posted 08/09/2008 15:09

Beh mi pare che questa storia sia gemella di quella prima. Prima la buzzword era "virtualizzazione" e ti han fatto virtualizzare qualcosa che non andava virtualizzato e quì è "clusterizzazione" è han fatto clusterizzare qualcosa che forse andava clusterizzato ma l'han fatto fare a qualcuno che non era capace.

limaCATlimaCAT By limaCAT - posted 08/09/2008 18:48

DB2 é una barzelletta.


io potrei dire che MySQL e PostGre lo sono


  1. I dati non si possono replicare facilmente (aka, se non spendendo ${THOUSANDS} per tool di terze parti) fra DB2 su architetture diverse (PPC vs WIntel vs LIntel). Oracle lo fa.


    se hai bisogno della replicazione e usi DB2 hai gia' speso una barca si soldi, quindi non e' un problema

  2. Non puoi fare il drop selettivo delle colonne dalle tabelle. Le butti giù, cambi tutti gli script e le ritiri su.


    mai sentito il bisogno di fare un drop selettivo di colonne, l'unica situazione in cui posso immaginarlo e' durante lo sviluppo, ma allora puoi anche fare un drop dell'intero database



Sicuramente qualche cazzata più grave c'é, ma sono 6 mesi che non ci devo più lottare e sono riuscito a dimenticarmele poco per volta :\)

Fanculo a DB2 ed anche a Websphere.


Sull'ultima parte concordo


KMKM By KM - posted 09/09/2008 08:28

Almeno Oracle ha cluster "veri" dove tutti i nodi sono online contemporaneamente e possono prendere in carico il lavoro di eventuali nodi falliti accedendo all'intero DB. E se si vuole replicare su un altro DB (anche in cluster) Dataguard permette di avere repliche sincrone o asincrone - si può perfino usare il db in standby in modo read-only. Certo, non costa poco (a seconda della licenza e del numero di client), ma effettivamente quando il gioco si fa duro...

PS: quanto al drop selettivo delle colonne può capitare di farlo upgradando un'applicazione - può essere più veloce che copiare tutti i dati in una nuova tabella e droppare quella vecchia - specialmente con DB piuttosto cicciosi.

CthulhuCthulhu By Cthulhu - posted 09/09/2008 08:28

Regà, SQLite3!

C'ha tutto quello che serve e la replica la fai con rsync!


voglio vederti ad rsyncare 80 Gb...


insuperabilmente,

Cthulhu


DavideDavide By Davide - posted 10/09/2008 16:00

'O lamentosi che non siete altro!

Avete voluto abbandonare MDB e DBF. Mò sò c@##i vostri!


L'MDB sinceramente non l'ho mai preso in considerazione, ed il DBF non lo ho abbandonato per scelta mia.


ZappaZappa By Zappa - posted 10/09/2008 19:42

limaCat ha detto:
>Non puoi fare il drop selettivo delle colonne dalle tabelle.
>Le butti giù, cambi tutti gli script e le ritiri su.

e invece ...

alter table NOMETABELLA drop NOMECOLONNA ;

Vabbe' che andavo meglio quando andavo giu' di Toad su Oracle, ma cribbio, DB2 te lo permette, di droppare una colonna!

... in attesa del prossimo lunedi', Davide!
ciao
Zappa

PaoloPaolo By Paolo - posted 10/09/2008 19:42

Bello, in alcuni argomenti sempre tutti d'accordo (tutti contro M$, tutti pro-script, tutti pro-vpn, tutti anti-VM), ma poi sul DB volano i coltelli come in una cucina con tante suocere!!

ahaha :D

PS: WebSphere SUKA anche secondo me! ;\)

Massimo M.Massimo M. By Massimo M. - posted 11/09/2008 08:50

Nelle faq di it.comp.database sembrava che tu avessi parlato bene di postgresql...
Cosa e' cambiato che non ti convince piu'?


Non e' che non mi convince. Se devo scegliere un database 'gratuito' allora e' un conto, se devo scegliere un database su cui deve girare una azienda e' un altro conto.


Anche io ho avuto dei casini con p.g. (8.0 windows: nelle select non accettava i nomi di nessuna colonna, bug segnalato e poi risolto nella versione successiva)

Quale db free consigli per un uso professionale "light", che sia piu' che tutto affidabile (naturalmente parlando di dbms veri, che supportano almeno le chiavi esterne, integrita' referenziale, e acid)?


per un uso PROFESSIONALE, non consiglio un database free.


A suo tempo avevo provato anche sapdb, ma mi sembrava abbastanza pesante e incasinato.


Mr.WolfMr.Wolf By Mr.Wolf - posted 11/09/2008 08:50

Concordo... ogni volta che sento parlare di database ridondanti, configurazioni master/slave, ebblatere, ebblatere, di solito mi presento dal cliente con due schede di rete aggiuntive e vado giu' di heartbeat e drbd...
Ma ora ho la fortuna di essere passato dall'altra parte, e finalmente il consulente esterno di cui si fidano sono io!
... dato che prevenire e' meglio che curare, no non sono un gabbiano... al limite un pellicano!

Michele MontanariMichele Montanari By Michele Montanari - posted 11/09/2008 08:50

@Paolo
E vedessi quanto s'innajano sugli editor di testo o tool di sviluppo :D

maxgrantemaxgrante By maxgrante - posted 11/09/2008 08:54

Bene o male tutti i DB hanno cazzi, bene o male tutti i DB se ben configurati e ben manutenuti lavorano bene.

I problemi ci sono e ci saranno sempre, meglio cosi', senno' nada lavoro... :-P


Comunque per la cronaca, ho appena avuto un'esperienza con Oracle e vi assicuro che anche lui tiene i suoi cazzi, anche piu' di MySQL per certi versi.

Soprattutto non capisco Oracle in contesti dove davvero non serve affatto... e' come sparare ad una mosca con un bazzuca...


Saluti!


KMKM By KM - posted 11/09/2008 11:12

Bazzuca = bazooka, per chi avesse problemi a capirlo al primo colpo... :\)

TemplareTemplare By Templare - posted 11/09/2008 11:32

Ave a te o signor ORACLE.... A mio parere più figo...

Ciauz


PaoloPaolo By Paolo - posted 11/09/2008 14:38

@KM: grazie per la traduzione in real-time, potresti avere un futuro come traduttore :D

@Michele Montanari: bene bene, e quando ne parliamo che son curioso ed impaziente di imparare cose nuove e divertirmi un po'? :D


TommasoTommaso By Tommaso - posted 11/09/2008 15:17

Tanto per restare in tema di DB e coltellate che volano....
Non so voi, ma io non vorrei essere nella pelle del signore incravattato che ha messo su l'accrocchio...

NikNik By Nik - posted 11/09/2008 19:30

più che la traduzione d bazzuca, vorrei quella di "innajano" (che lingua è?)

ZappaZappa By Zappa - posted 12/09/2008 08:33

Scusa, Davide, se cambio (quasi) discorso, ma quando ho visto questa immagine mi sei venuto in mente tu alle prese con un DB.

Non e' la tua Sala Macchine, vero? Pero' potresti farci un pensierino!


Questo sembra l'interno della co-lo, peccato che le fotografie non trasmettano anche i suoni. Sono sicuro che la "colonna sonora" sarebbe una roba tipo "WROOOOOOOOOOOOOOOOOOO...." (per non parlare del clima)



(l'immagine fa vedere una parte dei servers GNU/Linux del CERN per l'esperimento LHC. E c'e' una sola consolle (almeno se ne vede una)

Ciao!

Andrea


AlfredoAlfredo By Alfredo - posted 12/09/2008 10:33

Vi prego spiegatemi come si diventa sys-admin...

Io mi ritrovo a fare il programmatore scimmia con linguaggi nati prima 1989 ( anno di pubblicazione del mio manuale ) con altri 1432 persone, tutte ammassate in una sola stanza di 10x10 (centrimeti) e con una temperatura che varia dai 40° in inverno a gli 80° in estate...

Voglio anche io una sala macchine con clima, rumore di dischi che girano e pc da demolire...


....


Penso di lavorare troppo...


si, di sicuro.


Va be ciao...


PaoloPaolo By Paolo - posted 12/09/2008 14:52

Mi hai ricordato questa tua storia bellissima. I database sono fonte inesauribile di casini, e quindi di aneddoti da raccontare


e io che cercavo di dimenticare...


38 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