|
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 # entra nella directory dove ci sono i sorgentibunzip2 openMosix-2.4.22-3.bz2 # scompatta i filecd /usr/src/linux # entra nella directory del kernelpatch –p1 < /tar/ openMosix-2.4.22-3 # prepara all’installazione nella directory specificatamake menuconfig # attiva la compilazione con schermata a menu per il kernel
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 # avvia la compilazione dei moduli e anche l’installazionemake bzImage # crea l’immagine da caricare al Bootmake install # completa l’installazione del nuovo kernelmv System.map /boot # sposta il file nella cartella /bootmv vmlinuz /boot/openmosix # sposta e rinomina l’immagine del nuovo kernel
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 # apre con VI il file di configurazione di LiLoimage = /boot/openmosixroot = /dev/hda1label = OpenMosixread-onlylilo # aggiorna la configurazione di LiLo per i boot seguenti
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 # /tar è la directory dove tengo i sourcesbunzip2 openmosix-tools-0.3.5.tar.bz2 # scompatta i filecd openmosix-tools-0.3.5 # entra nella directory./configure –with-kerneldir=/usr/src/linux # avvia la configurazionemake && make install # avvia compilazione ed installazionemkdir /mfs # crea la direcory di sistema per openMosixcp scripts/openmosix.map /etc # copia lo script con le informazioni sui nodi del clustervi /etc/fstab # apre con VI lo script con le informazioni sui device e FSaggiungete la seguente riga per attivare la directory di sistema per OpenMosixmfs /mfs mfs odfsa=1 0 0vi /etc/openmosix.map # apre con VI lo script con le informazioni sui nodi del cluster 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 Cluster1 192.168.0.10 12 192.168.0.11 1
Adesso dobbiamo copiare lo script per la gestione dei processi del cluster
cp scripts/openmosix /etc/rc.d/ # copia lo script per la gestione dei processi di OpenMosixchmod +x /etc/rc.d/openmosix # assegna i permessi allo script/etc/rc.d/openmosix start # avvia openmosix
Adesso rendermo automatici le procedure di start e stop dei OpenMosix
vi /etc/rc.d/inet2 # apre con VI lo script per la gestione dello startup dei servizivi /etc/rc.d/rc.6 # apre con VI lo script per la gestione dello shutdown dei servizi
aggiungete le seguenti istruzioni per rendere automatico lo startup di OpenMosix
if [ -x /etc/rc.d/openmosix ];thenecho “Avvio di OpenMosix”/etc/rc.d/openmosix startfivi /etc/rc.d/rc.6 # apre con VI lo script per la gestione dello shutdown dei servizi
aggiungete le seguenti istruzioni per rendere automatico lo shutdown di OpenMosix
if [ -x /etc/rc.d/openmosix ];then/etc/rc.d/openmosix stopfi
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.
Installazione di OpenMosix
|