Sophie

Sophie

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

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>Large Disk HOWTO: Risoluzione dei problemi</TITLE>
 <LINK HREF="Large-Disk-HOWTO-13.html" REL=previous>
 <LINK HREF="Large-Disk-HOWTO.html#toc14" REL=contents>
</HEAD>
<BODY>
Avanti
<A HREF="Large-Disk-HOWTO-13.html">Indietro</A>
<A HREF="Large-Disk-HOWTO.html#toc14">Indice</A>
<HR>
<H2><A NAME="s14">14. Risoluzione dei problemi</A></H2>

<P>Molte persone pensano di avere problemi anche quando non ce ne sono.
Oppure pensano che i loro problemi siano legati alla geometria del disco
quando alla fine dei conti la geometria non c'entra nulla con il problema.
Tutto quello che ho esposto potr&agrave; sembrare complicato ma maneggiare la 
geometria dei dischi &egrave; estremamente facile: non fate niente e tutto 
funzioner&agrave; correttamente; o forse passate a LILO l'opzione `linear'
se al boot non andate oltre a LI.
Guardate i messaggi del kernel al boot e ricordate:
meno giocherellate con le geometrie (specificando
il numero di testine e cilindri a LILO o a fdisk o dalla riga 
di comando al kernel) e pi&ugrave; possibilit&agrave; avete che tutto funzioni.
Per dirla in poche parole, va gi&agrave; tutto bene cos&igrave; com'&egrave;
configurato in maniera predefinita.
<P>E ricordate che Linux non utilizza in nessuna riga di codice
la geometria del disco per questo motivo non avrete problemi
utilizzandolo dovuti alla geometria.
La geometria del disco &egrave; utilizzata solamente da LILO e da fdisk.
Di converso, se LILO fallisce l'inizializzazione del sistema
ci pu&ograve; essere un problema legato alla geometria.
Se sistemi operativi diversi non capiscono la tavola delle partizioni
allora c'&egrave; un problema legato alla geometria.
Non c'&egrave; nient'altro. In particolare se il montaggio delle 
periferiche ha dei problemi, state tranquili non sono legati alla geometria
del disco ma a qualcos'altro.
<P>
<H2><A NAME="ss14.1">14.1 Problema: avviando il sistema da un disco SCSI viene assegnata</A>
ai dischi IDE una geometria errata.</H2>

<P>&Egrave; possibile che un disco fornisca la sua geometria in modo errato.
Il kernel di Linux interroga il BIOS per conoscere la geometria di
hd0 e hd1 (i driver del BIOS indicati come 80H e 81H) e assume
che questi dati siano per hda e hdb.
Ma in un sistema SCSI, in cui i primi due dischi possono essere SCSI,
pu&ograve; succedere che al quinto disco, che &egrave; il primo disco IDE hda,
sia assegnata la geometria di sda.
Questo tipo di problemi si risolvono facilmente fornendo i parametri
della geometria `hda=C,H,S' in fase di inizializzazione o in /etc/lilo.conf.
<P>
<P>
<H2><A NAME="ss14.2">14.2 Un non problema: dischi identici possono avere geometria diversa?</A>
</H2>

<P>`Posseggo due dischi eguali da 10 GB della IBM.
Tuttavia fdisk fornisce delle dimensioni diverse. Guarda:
<BLOCKQUOTE><CODE>
<PRE>
# fdisk /dev/hdb
Disk /dev/hdb: 255 heads, 63 sectors, 1232 cylinders
Units = cylinders of 16065 * 512 bytes

   Device Boot  Start      End   Blocks   Id  System
/dev/hdb1           1     1232  9896008+  83  Linux native
# fdisk /dev/hdd
Disk /dev/hdd: 16 heads, 63 sectors, 19650 cylinders
Units = cylinders of 1008 * 512 bytes

   Device Boot  Start      End   Blocks   Id  System
/dev/hdd1           1    19650  9903568+  83  Linux native
</PRE>
</CODE></BLOCKQUOTE>

Cos'&egrave; capitato?'
<P>Cosa sta succedendo? Bene, prima di tutto questi dischi sono
entrambi da 10 giga: le dimensioni di
hdb sono 255<CODE>*</CODE>63<CODE>*</CODE>1232<CODE>*</CODE>512 = 10133544960,
e quelle di hdd 16<CODE>*</CODE>63<CODE>*</CODE>19650<CODE>*</CODE>512 = 10141286400, 
cos&igrave; non c'&egrave; nulla di errato e il kernel li vede entrambi come dischi da 10.1 GB.
Perch&eacute; la differenza di dimensione? &Egrave; dovuta al fatto che il kernel
acquisisce i dati per i primi due dischi IDE da BIOS e il
BIOS ha rimappato hdb in modo che abbia 255 testine (e 16<CODE>*</CODE>19650/255=1232 cilindri).
L'arrotondamento ti costa almeno 8 MB.
<P>Se vuoi rimappare hdd devi passare, come fatto prima, i parametri
`hdd=1232,255,63' al kernel in fase di inizializzazione.
<P>
<H2><A NAME="ss14.3">14.3 Un non problema: fdisk vede molti blocchi in meno di df?</A>
</H2>

<P>fdisk ti dice quanti blocchi ci sono nel disco.
Se tu crei un filesystem sul disco, diciamo con mke2fs,
allora questo filesystem ha bisogno di spazio per mantenere le informazioni relative a se stesso - di solito circa il 4% della dimensione del filesystem, di pi&ugrave; se il numero degli inode &egrave; alto. Per esempio:
<BLOCKQUOTE><CODE>
<PRE>
# sfdisk -s /dev/hda9
4095976
# mke2fs -i 1024 /dev/hda9
mke2fs 1.12, 9-Jul-98 for EXT2 FS 0.5b, 95/08/09
...
204798 blocks (5.00%) reserved for the super user
...
# mount /dev/hda9 /somewhere
# df /somewhere
Filesystem         1024-blocks  Used Available Capacity Mounted on
/dev/hda9            3574475      13  3369664      0%   /mnt
# df -i /somewhere
Filesystem           Inodes   IUsed   IFree  %IUsed Mounted on
/dev/hda9            4096000      11 4095989     0%  /mnt
#
</PRE>
</CODE></BLOCKQUOTE>

Abbiamo una partizione con 4095976 blocchi, creiamo un filesystem di tipo ext2
nella stessa, la montiamo e scopriamo che ha solo 3574475 blocchi -
521501 blocchi (12%) sono "persi" perch&eacute; dedicati agli inode e ad altre
informazioni.
&Egrave; da osservare che la differenza tra il numero di blocchi totale 3574475
e il numero di blocchi disponibili per gli utenti 3369664 &egrave; pari a 13 blocchi
in pi&ugrave; dei 204798 riservati al root. Quest'ultimo numero pu&ograve;
esserre modificato utilizzando tune2fs.
Questa opzione `-i 1024' &egrave; ragionevole solo per sistemi
che devono contenere molti piccoli file come le news e simili.
Il valore predefinito sarebbe: 
<BLOCKQUOTE><CODE>
<PRE>
# mke2fs /dev/hda9
# mount /dev/hda9 /somewhere
# df /somewhere
Filesystem         1024-blocks  Used Available Capacity Mounted on
/dev/hda9            3958475      13  3753664      0%   /mnt
# df -i /somewhere
Filesystem           Inodes   IUsed   IFree  %IUsed Mounted on
/dev/hda9            1024000      11 1023989     0%  /mnt
#
</PRE>
</CODE></BLOCKQUOTE>

Ora solo 137501 blocchi (3.3%) sono usati per gli inode,
cos&igrave; abbiamo guadagnato rispetto a prima 384 MB (ogni inode
accupa 128 byte). 
D'altro canto, questo filesystem pu&ograve; contenere al massimo 1024000
di file (pi&ugrave; che sufficienti), contro i 4096000 (troppi) di prima.
<HR>
Avanti
<A HREF="Large-Disk-HOWTO-13.html">Indietro</A>
<A HREF="Large-Disk-HOWTO.html#toc14">Indice</A>
</BODY>
</HTML>