Featured Posts

:: syscallme :: Rss

Cluster mon amour

Posted on : 07-12-2007 | By : daniele | In : Application Management

Tags: ,

0

Un po’ di silenzio, occupato da un’attività che racconto e che mi ha portato via un bel po’ di tempo e che vi racconto, pur essendo un po’ OT dato che è puramente applicativa (ma per risolverla serviva proprio un sistemista!!!)

Per un cliente importante ho dovuto mettere le mani alla configurazione del cluster della web-applications Confluence, un wiki scritto e distribuito da Atlassian, società di sviluppo australiana.

Ora, i cangurotti hanno gestito il loro sistema di clustering applicativo attraverso il prodotto Tangosol Coherence, prodotto da qualche tempo acquisito da Oracle e quindi “closed”. Il problema manifestatosi nell’installazione da noi fatta al nostro cliente, era l’impossibilità di effettuare più di una installazione cluster sulla stessa macchina.
Mi spiego: abbiamo due licenze cluster a tre nodi (ipotizziamo) e vogliamo installare entrambi i cluster applicativi sugli Application Server (nel nostro caso era Bea Weblogic) degli stessi tre nodi fisici. Effettivamente una volta effettuata una installazione del genere, quando andavi a tirar su il primo nodo del secondo cluster, l’applicativo tornava errore, si incastrava e non saliva più. I log erano piuttosto oscuri e non davano nessuna indicazione chiara:

2007-11-30 18:15:04,861 WARN [Logger@13630585 3.2/365 (RC3)] [Coherence] log 2007-11-30 18:15:04.860 Tangosol Coherence AE 3.2/365 (RC3) <Warning> (thread=Cluster, member=n/a): Received a discovery message that indicates the presence of an existing cluster that does not respond to join requests;

Too many vms, not many ip addresses

Posted on : 16-11-2007 | By : daniele | In : Advanced, Experience, Linux

Tags: , , ,

1

Allora il punto era questo.

Ho un server fisico supermegacarrozzato dove ci infilo le macchine virtuali che mi chiedono continuamente. L’ultima richiesta era fantastica:

Ci servono 2 virtual machines per comporre un cluster, e altre tre per comporre un altro cluster. Fai te, basta che ce le metti a disposizione.

Guardo gli ip address statici a disposizione e…mmm…mi sa che non bastano…o se bastano li finisco…e se li finisco poi sono cavoli. E poi come lo simuli per benino un cluster in questa maniera?

E allora l’ingegno, l’aiuto del fido xen e la potenza di Linux mi hanno risolto il problema.

Ho creato le cinque macchine virtuali, con indirizzi di rete interna in classe 192.168.1.0/24. Sulla macchina host ho aggiunto due indirizzi statici su due interfacce virtuali in eth0 (eth0:1 e eth0:2 per capirci) e sull’eth1 del server (interfaccia fisica si intende) ho messo un indirizzo della stessa sottoclasse delle vm.

Una volta startate, le virtuali erano in sottorete con la macchina host. Quindi un solo indirizzo ip statico settato fisicamente su una eth virtuale del server host, diventava una specie di Virtual-IP perfetto per i rispettivi nodi del rispettivo cluster. Fantastico.

A quel punto era necessario dare accesso ai ragazzi alle macchine virtuali…e come fare? Vabbè domanda scema e risposta semplice: un paio di dnat facevano al caso mio. Più o meno scrivendo questo per cluster a due nodi:

iptables -t nat -A PREROUTING -i eth0 -d XXX.XXX.XXX.XXX -p tcp -m tcp –dport 22 -j DNAT –to-destination 192.168.1.2
iptables -t nat -A PREROUTING -i eth0 -d XXX.XXX.XXX.XXX -p tcp -m tcp –dport 222 -j DNAT –to-destination 192.168.1.3

e questo per il cluster a tre nodi:

iptables -t nat -A PREROUTING -i eth0 -d YYY.YYY.YYY.YYY -p tcp -m tcp –dport 22 -j DNAT –to-destination 192.168.1.12
iptables -t nat -A PREROUTING -i eth0 -d YYY.YYY.YYY.YYY -p tcp -m tcp –dport 222 -j DNAT –to-destination 192.168.1.13
iptables -t nat -A PREROUTING -i eth0 -d YYY.YYY.YYY.YYY -p tcp -m tcp –dport 2222 -j DNAT –to-destination 192.168.1.14

Questo per portare l’accesso ssh sulle macchine di backend passando dai rispettivi ip statici ai nodi in rete “interna”, ovviamente dopo aver abilitato il listening dell’ssh anche sulle porte interessate dal destination nat.

Difficile? Ma no! semplicissimo e molto divertente!!!

Opensource – Openmind

Posted on : 14-11-2007 | By : daniele | In : Uncategorized

Tags: , ,

0

I believe in opensource!!! Lo premetto che non si sa mai…

Mi trovo, proprio in questi giorni, a fare un sacco di ragionamenti sull’argomento e capire cosa va, cosa non va e che situazione si trova a fronteggiare uno come me che nell’ambiente non solo ci lavora, ma ci vuole investire per il proprio futuro.

Si è parlato molto in questo periodo dell’uscita della GPL 3 e onestamente ho letto editoriali non proprio entusiasti sull’argomento. Io la licenza non l’ho ancora letta e quindi evito di fare commenti fuoriluogo. Mi lascio andare ad una sola considerazione che, però, sento di potermi permettere perchè mi riguarda: ho ammirato molto Stallman fino a qualche anno fa; adesso quando parla lo trovo troppo lontano dalla realtà, magari anche solo dalla realtà che sento di vivere io che come tanti altri spalo guano dalla mattina alla sera e non me ne vado in giro a fare conferenze sull’etica open. Forse questo è un campanello d’allarme di qualcosa; forse è il motivo per cui io la GPL 3 non l’ho ancora letta.

YetAnotherBlog

Posted on : 14-11-2007 | By : daniele | In : General

0

E soprattutto…Yet Another my Blog!!!

Cmq: ho migrato qua sopra roba che avevo cominciato a scrivere su uno spazio di blogger. Alla fine veniva gratis. Non ho reso disponibili alcuni articoli, altri li ho lasciati; sembrano cadere dal nulla ma non me ne importa un granchè: alla fine chi li vuole leggere troverà qualcosa, poi in altri ci sono delle guide e quelle sono sempre comode.

Chi sono io, cosa faccio: trovate tutto nella navigation bar. Inutile aggiungere qui. Fra i post che verranno troverete i miei pensieri e alcune guide che mi capiterà di scrivere se avrò tempo e lo riterrò utile per tutti.

Parlerò di me, delle cose che mi piacciono, di quello che mi succede; e poi di SubBarna (non vi spiego cos’è…andate a guardarlo qua), dei mille progetti che ho in mente.

Ho anche un wiki, che lo trovate qui, e che non è che mi faccia impazzire ma per il momento è là.

Per il momento lascio un abbraccio e un arrivederci.

Ciao
Daniele