Sophie

Sophie

distrib > Mandriva > 9.1 > i586 > by-pkgid > f1098342ec4a2b28475e34123ce17201 > files > 1155

howto-html-it-9.1-0.5mdk.noarch.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
<HEAD>
 <META NAME="GENERATOR" CONTENT="SGML-Tools 1.0.9">
 <TITLE>Software-RAID HOWTO: Risoluzione dei problemi di installazione</TITLE>
 <LINK HREF="Software-RAID-0.4x-HOWTO-6.html" REL=next>
 <LINK HREF="Software-RAID-0.4x-HOWTO-4.html" REL=previous>
 <LINK HREF="Software-RAID-0.4x-HOWTO.html#toc5" REL=contents>
</HEAD>
<BODY>
<A HREF="Software-RAID-0.4x-HOWTO-6.html">Avanti</A>
<A HREF="Software-RAID-0.4x-HOWTO-4.html">Indietro</A>
<A HREF="Software-RAID-0.4x-HOWTO.html#toc5">Indice</A>
<HR>
<H2><A NAME="s5">5. Risoluzione dei problemi di installazione</A></H2>

<P>
<OL>
<LI><B>D</B>:
Quale &egrave; attualmente la patch pi&ugrave; stabile e conosciuta per
RAID nei kernel della serie 2.0.x?

<BLOCKQUOTE>
<B>R</B>:
Al 28 Settembre 1997 &egrave; (riporto letteralmente. ndt)
"2.0.30 + pre-9 2.0.31 + Werner Fink's swapping patch 
+ the alpha RAID patch".  A Novembre 1997, &egrave;
2.0.31 + ... !?
</BLOCKQUOTE>

</LI>
<LI><B>D</B>
Le patch per il RAID non vengono correttamente installate.
Dov'&egrave; l'errore?
<BLOCKQUOTE>
<B>R</B>:
Assicuratevi che <CODE>/usr/include/linux</CODE> sia 
un link simbolico a <CODE>/usr/src/linux/include/linux</CODE>.

Assicuratevi che i nuovi files <CODE>raid5.c</CODE>, etc.
siano stati copiati nei posti giusti.  A volte il comando
patch non crea nuovi files. Provate con l'opzione 
<CODE>-f</CODE> del comando <CODE>patch</CODE>.
</BLOCKQUOTE>

</LI>
<LI><B>D</B>:
Durante la compilazione di raidtools 0.42, il compilatore si blocca 
mentre cerca di includere &lt;pthread.h&gt; ma questo file non esiste
nel mio sistema. Come posso correggere questo errore?

<BLOCKQUOTE>
<B>R</B>:
raidtools-0.42 richiede linuxthreads-0.6 da:
<A HREF="ftp://ftp.inria.fr/INRIA/Projects/cristal/Xavier.Leroy">ftp://ftp.inria.fr/INRIA/Projects/cristal/Xavier.Leroy</A>
In alternativa si possono usare le glibc v2.0.
</BLOCKQUOTE>

</LI>
<LI><B>D</B>:
Ottengo il messaggio: <CODE>mdrun -a /dev/md0: Invalid argument</CODE>

<BLOCKQUOTE>
<B>R</B>:
Si deve usare <CODE>mkraid</CODE> per inizializzare il set RAID prima
che venga usato per la prima volta. <CODE>mkraid</CODE> si assicura
del fatto che il sistema RAID sia inizialmente in uno stato
di coerenza cancellando le partizioni RAID. In aggiunta,<CODE>mkraid</CODE>
si occuper&agrave; di creare i superblock RAID.
</BLOCKQUOTE>

</LI>
<LI><B>D</B>:
Ottengo il messaggio: <CODE>mdrun -a /dev/md0: Invalid argument</CODE>
La procedura di setup &egrave; stata:
<UL>
<LI>compilazione di raid come modulo del kernel</LI>
<LI>&egrave; stata seguita la normale procedura di installazione ...
mdcreate, mdadd, etc.</LI>
<LI>il comando <CODE>cat /proc/mdstat</CODE> produce questo output:
<PRE>
    Personalities :
    read_ahead not set
    md0 : inactive sda1 sdb1 6313482 blocks
    md1 : inactive
    md2 : inactive
    md3 : inactive
                
</PRE>
</LI>
<LI><CODE>mdrun -a</CODE> genera il messaggio di errore 
<CODE>/dev/md0: Invalid argument</CODE></LI>
</UL>


<BLOCKQUOTE>
<B>R</B>:
Si provi ad eseguire <CODE>lsmod</CODE> (o, in alternativa,
<CODE>cat /proc/modules</CODE>) per vedere se i moduli raid
sono stati caricati. Se non lo sono stati, possono essere
caricati in maniera esplicita con i comandi <CODE>modprobe raid1</CODE>
o <CODE>modprobe raid5</CODE>. In alternativa, se usate
l'autoloader e se credete che <CODE>kerneld</CODE> debba caricarli
e non lo fa, potrebbe essere a causa del fatto che
il loader manca delle informazioni che servono per caricare
i moduli. Modificate <CODE>/etc/conf.modules</CODE> aggiungendo
le linee seguenti:

<PRE>
    alias md-personality-3 raid1
    alias md-personality-4 raid5
            
</PRE>

</BLOCKQUOTE>

</LI>
<LI><B>D</B>:
Durante l'esecuzione del comando <CODE>mdadd -a</CODE> si ha l'errore:
<CODE>/dev/md0: No such file or directory</CODE>.  Sembra per&ograve; che
non vi siano <CODE>/dev/md0</CODE> da nessuna parte.  E adesso?
       
<BLOCKQUOTE>
<B>R</B>:
Il package raid-tools crea questi dispositivi quando
viene eseguito il comando <CODE>make install</CODE> come
utente root. In alternativa, si pu&ograve; fare cos&igrave;:
<PRE>
    cd /dev 
    ./MAKEDEV md
            
</PRE>
</BLOCKQUOTE>


</LI>
<LI><B>D</B>:
Dopo aver creato un sistema raid su <CODE>/dev/md0</CODE>,
provo a montarlo ma ottengo il seguente errore:
<CODE>mount: wrong fs type, bad option, bad superblock on /dev/md0,
or too many mounted file systems</CODE>. 
Cosa c'&egrave; che non va?
<BLOCKQUOTE>
<B>R</B>:
Si deve creare un file system su <CODE>/dev/md0</CODE>
prima che sia possibile montarlo.  Usare <CODE>mke2fs</CODE>.
</BLOCKQUOTE>


</LI>
<LI><B>D</B>:
Truxton Fulton ha scritto:
<BLOCKQUOTE>
Sul mio sistema Linux 2.0.30, mentre eseguivo <CODE>mkraid</CODE>
su un dispositivo RAID-1, durante la pulizia delle due distinte
partizioni ho visto apparire sulla console gli errori 
<CODE>"Cannot allocate free page"</CODE> e altri errori <CODE>"Unable to
handle kernel paging request at virtual address ..."</CODE> risultavano
nel log di sistema. A questo punto il sistema &egrave; diventato
pressoch&eacute; inutilizzabile, ma si &egrave; poi ristabilito dopo un po'.
L'operazione sembra essersi conclusa senza errori e adesso utilizzo
senza problemi il mio dispositivo RAID-1. Comunque quegli errori
continuano a sconcertarmi. Qualche idea?
</BLOCKQUOTE>


<BLOCKQUOTE>
<B>R</B>:
Questo era un bug ben conosciuto nei kernel 2.0.30. &Egrave; stato
corretto nel kernel 2.0.31; in alternativa si pu&ograve; tornare
al 2.0.29.
</BLOCKQUOTE>

</LI>
<LI><B>D</B>:
Non riesco ad eseguire <CODE>mdrun</CODE> su un dispositivo RAID-1,
RAID-4 o RAID-5. Se provo ad eseguire <CODE>mdrun</CODE> su un
dispositivo aggiunto con <CODE>mdadd</CODE> mi viene dato il
messaggio ''<CODE>invalid raid superblock magic</CODE>''.

<BLOCKQUOTE>
<B>R</B>:
Assicurarsi che sia stata seguita la parte della procedura di
installazione dove viene utilizzato <CODE>mkraid</CODE>.
</BLOCKQUOTE>

</LI>
<LI><B>D</B>:
Quando accedo a <CODE>/dev/md0</CODE> il kernel se ne esce con molti
errori tipo <CODE>md0: device not running, giving up !</CODE> e
<CODE>I/O error...</CODE>. Ho aggiunto con successo i miei
dispositivi al dispositivo virtuale.

<BLOCKQUOTE>
<B>R</B>:
Per essere utilizzabile un dispositivo deve essere in funzione.
Si usi il comando <CODE>mdrun -px /dev/md0</CODE> dove x &egrave; 1 per
linear, 0 per RAID-0 o 1 per RAID-1, etc.
</BLOCKQUOTE>

</LI>
<LI><B>D</B>:
Ho creato un dispositivo md lineare con 2 dispositivi.
<CODE>cat /proc/mdstat</CODE> mi dice la grandezza totale del
dispositivo ma <CODE>df</CODE> mi fa vedere solo le dimensioni
del primo dispositivo fisico

<BLOCKQUOTE>
<B>R</B>:
Si deve eseguire <CODE>mkfs</CODE> su un nuovo dispositivo md
prima di usarlo per la prima volta, in modo tale che
il filesystem copra tutto il dispositivo.
</BLOCKQUOTE>

</LI>
<LI><B>D</B>:
Ho configurato <CODE>/etc/mdtab</CODE> usando mdcreate, ho poi
eseguito <CODE>mdadd</CODE>, <CODE>mdrun</CODE> e <CODE>fsck</CODE>
sulle mie due partizioni <CODE>/dev/mdX</CODE>. Prima del
reboot sembra tutto a posto. Appena effettuo il reboot
<CODE>fsck</CODE> mi d&agrave; errori su tutte e due le partizioni:
<CODE>fsck.ext2: Attempt to read block from filesystem resulted
in short read while trying too open /dev/md0</CODE>.
Perch&eacute;?! Come posso fare a correggerlo?!

<BLOCKQUOTE>
<B>R</B>:
Durante il processo di boot, le partizioni RAID devono essere
messe in funzione prima che vengano controllate da <CODE>fsck</CODE>.
Questo deve essere fatto in uno degli script di boot. In
qualche distribuzione <CODE>fsck</CODE> &egrave; eseguito da
<CODE>/etc/rc.d/rc.S</CODE>, in altre &egrave; eseguito da 
<CODE>/etc/rc.d/rc.sysinit</CODE>. Si modifichino questi file
in modo da eseguire <CODE>mdadd -ar</CODE> *prima* di <CODE>fsck -A</CODE>.
Ancora meglio, suggerisco che venga eseguito <CODE>ckraid</CODE>
se <CODE>mdadd</CODE> restituisce un codice di errore. Come
fare ci&ograve; &egrave; discusso in maggiore dettaglio nella domanda
14 della sezione ''Riparare gli errori''.
(Qui l'originale inglese sembra incoerente, in quanto la
domanda 14 della sezione menzionata non &egrave; attinente.
La domanda pi&ugrave; attinente sembra essere la 7
della sezione "Considerazioni sul setup e sull'installazione". ndt)
</BLOCKQUOTE>

</LI>
<LI><B>D</B>:
Quando provo a far funzionare un serie di partizioni pi&ugrave; grandi
di 4 GB mi viene dato il seguente messaggio: <CODE>invalid raid
superblock magic</CODE>

<BLOCKQUOTE>
<B>R</B>:
Questo bug &egrave; stato corretto. (Settembre 97)  Assicuratevi di avere
l'ultima versione del codice RAID.
</BLOCKQUOTE>

</LI>
<LI><B>D</B>:
Quando provo ad eseguire mke2fs su una partizione pi&ugrave; grande di
2 GB mi viene dato il messaggio <CODE>Warning: could not write 8 blocks
in inode table starting at 2097175</CODE>

<BLOCKQUOTE>
<B>R</B>:
Questo sembra essere un problema con <CODE>mke2fs</CODE> (Novembre 97)
Un rimedio temporaneo consiste nel procurarsi il codice
di mke2fs e aggiungere <CODE>#undef HAVE_LLSEEK</CODE> a
<CODE>e2fsprogs-1.10/lib/ext2fs/llseek.c</CODE> subito prima del
primo <CODE>#ifdef HAVE_LLSEEK</CODE> e quindi ricompilare mke2fs.
</BLOCKQUOTE>

</LI>
<LI><B>D</B>:
<CODE>ckraid</CODE> non riesce a leggere <CODE>/etc/mdtab</CODE>

<BLOCKQUOTE>
<B>R</B>:
Il formato del file di configurazione usato per RAID0/linear
in <CODE>/etc/mdtab</CODE> &egrave; obsoleto, anche se sar&agrave; supportato
ancora per un po'. I file di configurazione usati attualmente
sono chiamati <CODE>/etc/raid1.conf</CODE>, etc.
</BLOCKQUOTE>

</LI>
<LI><B>D</B>:
I moduli delle personality (<CODE>raid1.o</CODE>) non vengono caricati
automaticamente; si deve eseguire modprobe manualmente prima di
eseguire mdrun. Come posso ovviare all'inconveniente?

<BLOCKQUOTE>
<B>R</B>:
Per il caricamento automatico dei moduli, si possono aggiungere
le seguenti linee a <CODE>/etc/conf.modules</CODE>:
<PRE>
    alias md-personality-3 raid1
    alias md-personality-4 raid5
            
</PRE>

</BLOCKQUOTE>

</LI>
<LI><B>D</B>:
Ho aggiunto con <CODE>mdadd</CODE> 13 dispositivi e adesso sto
cercando di eseguire <CODE>mdrun -p5 /dev/md0</CODE>, ma mi viene
dato il messaggio: <CODE>/dev/md0: Invalid argument</CODE>

<BLOCKQUOTE>
<B>R</B>:
La configurazione predefinita di software RAID prevede
8 dispositivi reali. Editare <CODE>linux/md.h</CODE>,
modificare <CODE>#define MAX_REAL=8</CODE> con un numero
pi&ugrave; alto e ricompilare il kernel.
</BLOCKQUOTE>

</LI>
<LI><B>D</B>:
Non riesco a far funzionare <CODE>md</CODE> su delle partizioni
nella nostra ultima SPARCstation 5. Sospetto che sia qualcosa
che ha a che fare con le etichette di volume.
      
<BLOCKQUOTE>
<B>R</B>:
Le etichette di volume Sun risiedono nel primo 1K di
una partizione. Per RAID-1 le etichette di volume Sun
non sono un problema poich&eacute; <CODE>ext2fs</CODE> salter&agrave;
l'etichetta di ogni mirror. Per gli altri livelli RAID
(0, linear e 4/5) questo sembra essere un problema;
non si &egrave; arrivati ancora ad una causa certa (Dicembre 97).
</BLOCKQUOTE>

</LI>
</OL>
<HR>
<A HREF="Software-RAID-0.4x-HOWTO-6.html">Avanti</A>
<A HREF="Software-RAID-0.4x-HOWTO-4.html">Indietro</A>
<A HREF="Software-RAID-0.4x-HOWTO.html#toc5">Indice</A>
</BODY>
</HTML>