Tales from the Machine Room |
|
What is this? Sometimes ago, while I was bored, I began writing down what is going on in my office. Removing the names of course to protect the guilty. The "tales" appeared well accepted in the it.comp.os.linux.sys newsgroup. So I decided to preserve them for posterity. Usual characters:
ME - That's me. See also the FAQ.
|
Ed ecco l'imprevisto 3.0Che 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
|
|
|
Commenti 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.
|
38 messages post new
Micky
By Micky - posted 08/09/2008 08:45
- reply 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 Franz
By Herr Franz - posted 08/09/2008 08:46
- reply 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.net
By Gandolfo Ivo bofh@cuneo2lemon.net - posted 08/09/2008 08:46
- reply 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)
BabboMatteo
By BabboMatteo - posted 08/09/2008 09:13
- reply 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!!!
Tommaso
By Tommaso - posted 08/09/2008 09:14
- reply 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 Bertoncello
By Luca Bertoncello - posted 08/09/2008 09:15
- reply 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"...
roberto
By roberto - posted 08/09/2008 09:17
- reply 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...
franganghi
By franganghi - posted 08/09/2008 09:18
- reply 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
rotellaro
By rotellaro - posted 08/09/2008 10:09
- reply 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
Tommaso
By Tommaso - posted 08/09/2008 10:09
- reply >> 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è
By Andrè - posted 08/09/2008 10:35
- reply ...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)
Gama
By Gama - posted 08/09/2008 11:01
- reply 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
WarfoX
By WarfoX - posted 08/09/2008 11:20
- reply 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.
Twister
By Twister - posted 08/09/2008 11:30
- reply 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.
Davide
By Davide - posted 08/09/2008 11:34
- reply 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...
ilSimo
By ilSimo - posted 08/09/2008 12:28
- reply > 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.
roberto
By roberto - posted 08/09/2008 12:49
- reply >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! :-)
rotellaro
By rotellaro - posted 08/09/2008 13:19
- reply io sono la gomma tu la colla
:P
Gama
By Gama - posted 08/09/2008 13:50
- reply >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 Cagnasso
By Riccardo Cagnasso - posted 08/09/2008 15:09
- reply 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.
limaCAT
By limaCAT - posted 08/09/2008 18:48
- reply DB2 é una barzelletta.
io potrei dire che MySQL e PostGre lo sono
Fanculo a DB2 ed anche a Websphere. Sull'ultima parte concordo
KM
By KM - posted 09/09/2008 08:28
- reply 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.
Cthulhu
By Cthulhu - posted 09/09/2008 08:28
- reply Regà, SQLite3!
C'ha tutto quello che serve e la replica la fai con rsync! voglio vederti ad rsyncare 80 Gb...
insuperabilmente,
Davide
By Davide - posted 10/09/2008 16:00
- reply '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.
Zappa
By Zappa - posted 10/09/2008 19:42
- reply 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
Paolo
By Paolo - posted 10/09/2008 19:42
- reply 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.
By Massimo M. - posted 11/09/2008 08:50
- reply 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) per un uso PROFESSIONALE, non consiglio un database free. A suo tempo avevo provato anche sapdb, ma mi sembrava abbastanza pesante e incasinato.
Mr.Wolf
By Mr.Wolf - posted 11/09/2008 08:50
- reply 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 Montanari
By Michele Montanari - posted 11/09/2008 08:50
- reply @Paolo
E vedessi quanto s'innajano sugli editor di testo o tool di sviluppo :D
maxgrante
By maxgrante - posted 11/09/2008 08:54
- reply 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. Saluti!
KM
By KM - posted 11/09/2008 11:12
- reply Bazzuca = bazooka, per chi avesse problemi a capirlo al primo colpo... :)
Templare
By Templare - posted 11/09/2008 11:32
- reply Ave a te o signor ORACLE.... A mio parere più figo...
Ciauz
Paolo
By Paolo - posted 11/09/2008 14:38
- reply @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
Tommaso
By Tommaso - posted 11/09/2008 15:17
- reply 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...
Nik
By Nik - posted 11/09/2008 19:30
- reply più che la traduzione d bazzuca, vorrei quella di "innajano" (che lingua è?)
Zappa
By Zappa - posted 12/09/2008 08:33
- reply 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)
Alfredo
By Alfredo - posted 12/09/2008 10:33
- reply 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...
Paolo
By Paolo - posted 12/09/2008 14:52
- reply 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 post new
|
| Copyright | 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 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.
This e-mail is here in order to send spam to an honeypot: davide@walterisookeensufferukker.nl