Featured Posts

:: syscallme :: Rss

Ortro: quando php fa miracoli…

Posted on : 22-04-2008 | By : daniele | In : Php, Review

Tags: , , , ,

0

Ortro rappresenta un esperimento (ampiamente riuscito) di trascinare il mondo dello sviluppo (e degli sviluppatori) php fuori dal web, per catapultarli in una dimensione nuova e probabilmente ancora sconosciuta: il mondo enterprise. Ortro è una webapplication scritta in php5 e pear da Luca Corbo, professionista IT, sviluppatore php e creatore-mantainer pear del pacchetto Net_Nmap. Il suo obiettivo è quello di rappresentare una piattaforma di scheduling e monitoring avanzato per sistemi aziendali semplici e complessi. 

Load Balancing Tomcat con Apache 2.2

Posted on : 17-04-2008 | By : daniele | In : Linux, Medium

Tags: , , , ,

4

In questo documento vedremo come effettuare load balancing su tomcat utilizzando il nuovo mod_proxy_balancer di Apache HTTPD 2.2. Si da per scontato che il lettore abbia un minimo di familiarità con i prodotti Apache Httpd e Apache Tomcat, e con il concetto di clustering e, di conseguenza, di bilanciamento di carico.

L’ardito airone d’aprile

Posted on : 15-04-2008 | By : daniele | In : Linux, News

Tags: , , , , , ,

0

E’ quasi fatta manca poco. Manca qualche spiccio di giorni e poi Ubuntu rilascerà ufficialmente Hardy Heron, la nuova distribuzione codice 8.04. Nel frattempo sul sito della distro di Canonical  compare finalmente il banner in homepage, per scaricare la beta e prendere informazioni. Ubuntu è sempre così reticente a parlare della nuova distribuzione prima che esca ufficialmente: non trovi mai sezioni apposite che ti diano un’idea dello stato e dell’avanzamento dello sviluppo, non trovi la possibilità di scaricare l’alpha, non trovi pareri, frasi, commenti, novità. Lavorano in silenzio. Per carità, in un mondo in cui tutti parlano, sono da apprezzare. Però a volte l’assenza globale di informazioni (in un mondo in cui le informazioni condizionano la giornata dell’uomo) ti fa chiedere se te la sei sognata la data di rilascio o il nome oppure se qualcosa succederà davvero (prima o poi…).

Technorati PostClaim for me

Posted on : 15-04-2008 | By : daniele | In : Uncategorized

0

Technorati Profile

{[ = echo $pippo; = | .hilite( = php = ) ]}

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!!!