A proposito dell'autore

Ciao a tutti, sono Alessandro, sono nato a Palermo il 24/01/1983 e vivo a qualche chilometro dalla città. Da anni coltivo la passione per i computer e tutto quello che ci sta attorno, con un occhio di riguardo per il mondo delle reti. Nel 2000 mi avvicino al mondo di Linux e ne resto impressionato da ciò che consente di fare, nonchè alla filosofia dell’opensource. Nel Aprile 2005 ho conseguito la certificazione Cisco CCNA. Da Novembre 2006 sono membro del CUG. Ho completato il corso HP IT Essential I e II e Cisco Network Security. Ho svolto uno stage presso Jump2Future dove mi sono occupato di redigere una ralazione per la realizzazione di un cluster basato su RedHat GFS (Global File System). Lavoro per l’IBIM-CNR di Palermo dal 2002 come tecnico informatico e gestione rete. Sto cominciando ad acquisire conoscenze nel campo del VoIP con software quali Trixbox e Elastix, realizzazione e uso di macchine virtuali basate su VMWare.

Premessa

In questo documento spiegherà come realizzare un nodo cluster utilizzando OpenMosix per condividere le risorse di più nodi (CPU, RAM, Accesso al disco, ecc) con la conseguenza di ottenre un bilanciamento del carico di ogni nodo aumentandone le prestazioni. Questo sistema viene utilizzato specialmente da chi sviluppa software ed ha bisogno di supercomputer per avere una certa velocità di compilazione dei software, ma viene utilizzato anche da Cilea che un grosso sistema di database contente milioni di articoli, riviste, abstract di riviste scientifiche a cui molti studiosi accedono. Il loro sistema utilizza molti nodi con caratteristiche hardware e software diverse ma con lo stesso scopo: offrire un servizio veloce ed affidabile. Quello che realizzeremo noi è un piccolo cluster composto da almeno 2pc ma nessuno ci vieta di ampliarlo.

Risorse Hardware e Software

Per il mio scopo ho utilizzato due vecchi pc , composti da un processore Pentium 166MMX, 32MB di RAM, Hard Disk da 2GB ide, scheda di rete pci 3Com 905-b 10/100Mbit., e l’altro nodo con un processore Pentium 200MMX, 64MB di RAM, Hard disk da 2GB ide, scheda di rete Intel 810x 10/100Mbit, mentre dal lato software ho utilizzato Slackware 9.1 con Kernel 2.4.22 e OpenMosix specifico per questa versione del Kernel e OpenMisix Tool che regoleranno le funzioni del nodo. Usando versioni di Kernel diverse potrebbero sorgere seri problemi di incompatibilità fra i nodi del cluster.

Procuriamoci i pacchetti necessari

Per facilitarvi nell’impresa vi ho messo a disposizione il mio spazio web, da dove potere prelevare i pacchetti necessari senza andare in giro per la rete magari non trovando le versioni utilizzate in questo documento. Di seguito trovate i link per scaricare i pacchetti:

http://www.webalice.it/alepensato/openmosix/openMosix-2.4.22-3.bz2

http://www.webalice.it/alepensato/openmosix/openmosix-tools-0.3.5.tar.bz2

http://www.webalice.it/alepensato/openmosix/linux-2.4.22.tar.gz

Compilazione e installazione dei software sorgenti (come root)

Installazione dei OpenMosix

In questo caso più che un’installazione si tratta di applicare la patch al nostro kernel per attivare il supporto per OpenMosix. Per prima cosa controlliamo se abbiamo i file del kernel nella directory /usr/src/linux, in caso contrario scarichiamo il kernel dal link mostrato sopra e dopo aver decompresso il pacchetto procediamo all’applicazione della patch. Eseguite questi comandi passo passo:

cd /tar						
bunzip2 openMosix-2.4.22-3.bz2		
cd /usr/src/linux				
patch –p1 < /tar/ openMosix-2.4.22-3		
make menuconfig				

Tramite questo comando comparirà una schermata come questa, dove la prima voce e OpenMosix, quindi premiamo Invio per etrare al suo interno dove selezioneremo delle voci per completarne la configurazione.

Questa è la seconda schermata di cui parlavamo in precedenza, dove dovremo selezionare le voci proprio come qui in figura

Una volta completata la selezione delle voci premiamo Esc, e ci comparirà una schermata che ci chiede se salvare le modifiche o meno

Adesso siamo pronti per compilare in il nuovo kernel col supporto per OpenMosix.

make dep && make && make modules && make modules_install	
make bzImage				 
make install				
mv System.map /boot			
mv vmlinuz /boot/openmosix		

Adesso dobbiamo modificare il file di configurazione di LiLo per poter avviare il sistema col supporto OpenMosix, aggiungendo alcune righe di configurazione

vi /etc/lilo.conf				

image = /boot/openmosix root = /dev/hda1 label = OpenMosix read-only

lilo					

Con questa procedura abbiamo completato la predisposizione del sistema col supporto per OpenMosix

Installazione di OpenMosix-Tools

Questo pacchetto contiene degli script che, una volta installati, si occupererno della gestione dei processi relativi al cluster, delle funzioni di avvio, stop, restart a quelle sul bilanciamento del carico Eseguite questi comandi passo passo:

cd /tar						
bunzip2 openmosix-tools-0.3.5.tar.bz2		
cd openmosix-tools-0.3.5				
./configure –with-kerneldir=/usr/src/linux	
make && make install				
mkdir /mfs					
cp scripts/openmosix.map /etc			
vi /etc/fstab					

aggiungete la seguente riga per attivare la directory di sistema per OpenMosix

mfs	/mfs	mfs	odfsa=1		0	0
vi /etc/openmosix.map				

aggiungete alla fine del file le informazioni relative ai nodi, al loro IP e a quale cluster appartengono. Secondo questa sintassi potremmo trovarci col seguente esempiop:

#  Nodo	     IP Address	     Cluster
    1              192.168.0.10        1
    2              192.168.0.11        1

Adesso dobbiamo copiare lo script per la gestione dei processi del cluster

cp scripts/openmosix /etc/rc.d/			 
chmod +x /etc/rc.d/openmosix			
/etc/rc.d/openmosix start				

Adesso rendermo automatici le procedure di start e stop dei OpenMosix

vi /etc/rc.d/inet2					
vi /etc/rc.d/rc.6					

aggiungete le seguenti istruzioni per rendere automatico lo startup di OpenMosix

if  [ -x /etc/rc.d/openmosix ];then
    echo “Avvio di OpenMosix�
  /etc/rc.d/openmosix start
fi
vi /etc/rc.d/rc.6					

aggiungete le seguenti istruzioni per rendere automatico lo shutdown di OpenMosix

if [ -x /etc/rc.d/openmosix ];then
  /etc/rc.d/openmosix stop
fi

Avvio del sistema con OpenMosix

Adesso è tutto pronto alla prima esecuzione del nuovo kernel col supporto per OpenMosix. Riavviamo il sistema e nella tabella di avvio di LiLo scegliamo la voce OpenMosix. Cosଠfacendo avvieremo il sistema col kernel che abbiamo creato e quindi avremo il primo nodo abilitato. Eseguiamo le stesse operazioni su gli altri nodi per amplificare il nostro cluster. Dimenticavo di dirvi che entrando nella directory /mfs di qualunque nodo troveremo delle sottodirectory con del numeri, come /1 /2 /3, ognuna di esse rappresenta un collegamento di rete al filesystem del nodo rispettivo.

Post correlati

Close
Entra in contatto con altri professionisti ICT, seguici su Facebook e Twitter: