LKN: Ricette per Configurare il Kernel: differenze tra le versioni

m
aggiunto link pdf originale
m (aggiunto link pdf originale)
m (aggiunto link pdf originale)
Riga 1: Riga 1:
{{stub}}
''Torna all'indice: [[Linux Kernel in a Nutshell]]''


=Intro=
__TOC__
== Prerequisiti ==


Per affrontare la costruzione di un cluster si dovra' sapere installare e configurare correttamente un sistema Debian/Linux, ricompilare un Kernel e avere buone conoscenze di networking.
Il [[LKN:_Personalizzare_un_Kernel|capitolo precedente]] ci ha insegnato i meccanismi per la riconfigurazione del kernel; in questo capitolo arriva la parte interessante, in cui si possono trovare tutte le modifiche più comuni che gli utenti hanno bisogno di apportare ai loro kernel, con le istruzioni specifiche per effettuarle.




== Brevi accenni al clustering ==
== '''Dischi''' ==


Un cluster (letteralmente grappolo) e' un insieme di unita' indipendenti di calcolo (es. PC) che cooperano
Il kernel Linux supporta una grande varietà di differenti tipi di disco. Questa sezione mostra come configurare il kernel in modo tale che supporti la maggior parte dei modelli più comuni di controller di disco.
per la soluzione di un problema comune.
Le varie unita' di calcolo sono connesse tra loro tramite un mezzo di comunicazione e il calcolo viene distribuito in maniera differente in base a come e' stato creato il cluster.


In questa guida si trattera' solo di una parte del calcolo distribuito, quella piu' "casalinga", ricordando pero' che esistono altre soluzioni molto piu' performanti e dedicate.
'''Periferiche USB'''


OpenMosix svolge un tipo di distribuzione del calcolo molto semplice e trasparente per l'utente.
Per utilizzare una periferica di archiviazione USB (come quelle chiamate comunemente memorie "flash" USB, oppure dischi esterni USB) il supporto USB deve prima funzionare correttamente. Fare riferimento alla ricetta nella sezione chiamata [[USB]] per sapere come fare.
Esso si occupa di dividere in maniera equa i processi tra tutti i nodi che cooperano, funziona molto bene con i programmi che svolgono un lavoro non sequenziale ma che dividono il lavoro in parti (fork).


Un esempio di operazione che viene distribuita ben e' la ricompilazione del kernel o il rendering di immagini.
Una periferica di archiviazione USB può essere identificata utilizzando il programma ''lsusb''. Se la sequenza di comandi che segue produce i risultati mostrati, nel sistema è presente una periferica di archiviazione USB:


<pre>
$ /usr/sbin/lsusb -v | grep Storage
bInterfaceClass 8 Mass Storage
</pre>


== Scenario == 
Abilitatelo nel modo seguente.
Lo scenario tipico in cui si usa OpenMosix e' una serie di PC collegati tra loro tramite una connessione ethernet.
1. A USB Storage device is in reality a USB SCSI device that talks over a USB
Non importa che i PC siano tutti uguali, inquanto si occupera' il sistema a decidere se un processo deve essere distribuito tra i nodi oppure no.
connection. Because of this, the SCSI subsystem must be enabled:


= Installazione =
<pre>
Openmosix lavora tra il livello Userspace e il livello kernelspace, per la costruzione si deve patchare e ricompilare il kernel
Device Drivers
SCSI Device Support
[*] SCSI Device Support
</pre>


==Patch del kernel==
*Scaricare il kernel 2.4.26
/root># wget http://www.kernel.org/pub/linux/kernel/v2.4/linux-2.4.6.tar.bz2
*Scompattarlo in /usr/src
/root># mv kernel-2.4.26.tar.bz /usr/src
/root># cd /usr/src
/usr/src# tar xfvj linux-2.4.26.tar.bz
*Creare un link simbolico come segue
/usr/src># ln -s linux-2.4.26 linux-openmosix
*Scaricare la patch openmosix
/usr/src> wget http://switch.dl.sourceforge.net/sourceforge/openmosix/openMosix-2.4.26-1.bz2
*Patchare il kernel
bzcat openMosix-2.4.26-1.bz2 | patch -Np1
*Ricompilare il kernel attivando le voci relative ad openmosix


==Installare OMtools==
----
*Scarichiamo il pacchetto e scompattiamolo
This is an indipendent translation of the book [http://www.kroah.com/lkn/ Linux Kernel in a Nutshell] by [http://www.kroah.com/log/ Greg Kroah-Hartman]. This translation (like the original work) is available under the terms of [http://creativecommons.org/licenses/by-sa/2.5/ Creative Commons Attribution-ShareAlike 2.5].
/root># wget http://heanet.dl.sourceforge.net/sourceforge/openmosix/openmosix-tools-0.3.6-2.tar.gz
----
/root># mv openmosix-tools-0.3.6-2.tar.gz /opt
/root># tar xfvz openmosix-tools-0.3.6-2.tar.gz
*Installiamolo
/root># cd /opt/openmosix-tools-0.3.6-2
/opt/omtools># ./configure && make && make install


= Configurazione =
[http://www.kernel.org/pub/linux/kernel/people/gregkh/lkn/lkn_pdf/ch08.pdf ''Capitolo originale'']
 
[[Categoria:Kernel]]
== openmosix.map==
Editare /etc/openmosix.map per indicare ad OpenMosix quali sono i nodi appartenti alla rete che coopereranno.
 
Il file dovra' contenere nel primo campo il numero del nodo e poi il suo indirizzo IP o il suo nome (che dovra' essere presente in /etc/hosts).
L'ultimo campo sara' il numero di processori presenti in ogni macchina.
 
1 nodo1  1
2 nodo2  1
3 nodo3  1
4 nodo4  2
 
oppure
 
1 192.168.0.1  1
2 192.168.0.2.  2
3 192.168.0.43  1
4 192.168.0.3  1
=Test=
*Avviare il demone in tutti i nodi
/root># /etc/init.d/openmosix start
 
*Lanciare il contro grafico
/root># mosmon
Se  tutto e' apposto si dovrebbe vedere il grafico col nostro nodo.
1 760

contributi