<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> <HTML> <HEAD> <META NAME="GENERATOR" CONTENT="SGML-Tools 1.0.9"> <TITLE>HOWTO: Multi Disk System Tuning: Implementazione</TITLE> <LINK HREF="Multi-Disk-HOWTO-13.html" REL=next> <LINK HREF="Multi-Disk-HOWTO-11.html" REL=previous> <LINK HREF="Multi-Disk-HOWTO.html#toc12" REL=contents> </HEAD> <BODY> <A HREF="Multi-Disk-HOWTO-13.html">Avanti</A> <A HREF="Multi-Disk-HOWTO-11.html">Indietro</A> <A HREF="Multi-Disk-HOWTO.html#toc12">Indice</A> <HR> <H2><A NAME="s12">12. Implementazione</A></H2> <P> <!-- disco!implementazione --> Avendo fatto la struttura, dovreste avere una descrizione dettagliata di cosa va dove. Probabilmente questo sarà su carta ma si spera che qualcuno farà un sistema più automatizzato che possa gestire qualsiasi cosa, a partire dal progetto, attraverso il partizionamento e la formattazione, fino all'installazione. Questa è la strada che uno dovrà seguire per realizzare il progetto. <P>Le distribuzioni moderne hanno mezzi di installazione che vi guideranno attraverso il partizionamento e la formattazione e anche ad organizzare per voi il file <CODE>/etc/fstab</CODE> automaticamente. Per modifiche posteriori, dovrete capire il meccanismo che sta dietro. <P> <P> <H2><A NAME="ss12.1">12.1 Dischi e Partizioni</A> </H2> <P> <!-- disco!implementazione!dischi --> <!-- disco!implementazione!partizioni --> Quando fate partire il DOS o qualcosa del genere troverete che tutte le partizioni sono nominate da <CODE>C:</CODE> in avanti, con nessuna differenza tra IDE, SCSI, rete o qualsiasi tipo di supporto che avete. Nel mondo di Linux, questo è abbastanza differente. Durante l'avvio, vedrete le partizioni descritte in questo modo: <P> <HR> <PRE> Dec 6 23:45:18 demos kernel: Partition check: Dec 6 23:45:18 demos kernel: sda: sda1 Dec 6 23:45:18 demos kernel: hda: hda1 hda2 </PRE> <HR> <P>I dischi SCSI sono etichettati <CODE>sda</CODE>, <CODE>sdb</CODE>, <CODE>sdc</CODE> ecc., e i dischi (E)IDE sono etichettati <CODE>hda</CODE>, <CODE>hdb</CODE>, <CODE>hdc</CODE> ecc. Ci sono inoltre nomi standard per tutti i dispositivi, tutte le informazioni possono essere trovate in <CODE>/dev/MAKEDEV</CODE> e in <CODE>/usr/src/linux/Documentation/devices.txt</CODE>. <P>Le partizioni sono etichettate numericamente per ciascun disco <CODE>hda1</CODE>, <CODE>hda2</CODE> e così via. Sui dischi SCSI ci possono essere 15 partizioni per disco, sui dischi EIDE ce ne possono essere 63. Tutti e due questi limiti eccedono ciò che è attualmente utile per molti dischi. <P>Questi sono poi montati attenendosi al file <CODE>/etc/fstab</CODE> prima di entrare a far parte del sistema. <P> <P> <H2><A NAME="ss12.2">12.2 Partizionamento</A> </H2> <P> <!-- disco!implementazione!partizionamento --> <!-- disco!fdisk --> <!-- disco!cfdisk --> <!-- disco!Disk Druid --> Prima di tutto, voi dovete partizionare ogni disco in un bel numero di partizioni separate. Sotto Linux ci sono due metodi principali, <CODE>fdisk</CODE> e quello più grafico <CODE>cfdisk</CODE>. Questi sono programmi complessi, leggetene il manuale <EM>molto</EM> attentamente. <P> <P>Le partizioni sono di 3 tipi, <CODE>primarie</CODE>, <CODE>estese</CODE> e <CODE>logiche</CODE>. Dovete utilizzare le partizioni <CODE>primarie</CODE> per avviare il sistema, ma c'è un massimo di 4 partizioni primarie. Se volete di più, dovete definire una partizione <CODE>estesa</CODE> nell'ambito della quale voi definite le vostre partizioni logiche. <P>Ogni partizione ha un numero identificativo che dice al sistema operativo che cosa è, riguardo Linux i tipi che dovete conoscere sono <CODE>swap(82)</CODE> e <CODE>ext2fs(83)</CODE>. <P>C'è un file readme che accompagna <CODE>fdisk</CODE> che fornisce maggiori informazioni sul partizionamento. <P>Qualcuno ha appena fatto un <EM>Partitioning HOWTO</EM> che contiene informazioni eccellenti ed approfondite sui grattacapi del partizionamento. Piuttosto che ripeterlo qui e occupare oltre questo documento, farò invece riferimento ad esso per voi. <P>La Redhat ha scritto un'utility visuale chiamata <EM>Disk Druid</EM> che si suppone sia un'alternativa di facile utilizzo di <CODE>fdisk</CODE> e <CODE>cfdisk</CODE> ed inoltre automatizza un po' di altre cose. Sfortunatamente questo prodotto non è ancora sufficientemente maturo, quindi se lo utilizzate e non riuscite a farlo funzionare, siete ben avvisati di provare <CODE>fdisk</CODE> o <CODE>cfdisk</CODE>. <P>Il <A HREF="http://www.users.intercom.com/~ranish/part/">Ranish Partition Manager</A> è un'altra alternativa libera, mentre <A HREF="http://www.powerquest.com">Partition Magic</A> è un'alternativa commerciale che inoltre offre qualche supporto per ridimensionare le partizioni <CODE>ext2fs</CODE>. <P>Notate che Windows si lamenterà se trova più di una partizione primaria su un disco. Inoltre sembra assegnare le lettere del disco alle partizioni primarie mentre trova i dischi, prima di reiniziare dal primo per assegnare nomi di dischi consecutivi alle partizioni logiche. <P>Se volete DOS/Windows sul vostro sistema, prima di tutto dovreste fare quella partizione, una primaria su cui avviare il boot, fatta con l'<CODE>fdisk</CODE> del DOS. Poi, se volete NT, mettete quello. Alla fine, per Linux, create quelle partizioni con l'<CODE>fdisk</CODE> di Linux o con programmi equivalenti. Linux è sufficientemente flessibile da avviarsi sia dalle partizioni primarie che da quelle logiche. <P> <P> <H2><A NAME="ss12.3">12.3 Ripartizionamento</A> </H2> <P> <!-- disco!implementazione!ripartizionamento --> <!-- disco!fips --> <!-- disco!Partition Magic --> Alcune volte è necessario cambiare le dimensioni delle partizioni esistenti mantenendone intatto il contenuto. Un modo è ovviamente quello di fare il backup di tutto, ricreare le nuove partizioni e poi ripristinare i vecchi contenuti, e sebbene questo vi fornisca un ottimo modo di testare il vostro sistema di back up, vi porta via un bel po' di tempo. <P>Ridimensionare le partizioni è una semplice alternativa in cui un file system è dapprima contratto nel volume desiderato e poi la tavola di partizione è aggiornata per riflettere la nuova fine della posizione della partizione. Questo processo è comunque molto sensibile al file system. <P>Ripartizionare necessita che ci sia spazio libero alla fine dello spazio file, quindi per assicurarvi di essere in grado di contrarre la dimensione, dovreste innanzitutto deframmentare il vostro disco e svuotare qualsiasi cestino. <P>Utilizzando <A HREF="http://www.igd.fgh.de/~aschaefe/fips/">fips</A> potete ridimensionare una partizione <CODE>fat</CODE>, e l'ultima versione 1.6 di <CODE>fips</CODE> o di <CODE>fips 2.0</CODE> sono in grado anche di ridimensionare le partizioni <CODE>fat32</CODE>. Notate che questi programmi attualmente girano sotto DOS. <P>Ridimensionare altri file system è molto più complesso ma un sistema commerciale abbastanza popolare è <A HREF="http://www.powerquest.com">Partition Magic</A> che è in grado di ridimensionare più tipi di file system, inclusi <CODE>ext2fs</CODE> mediante il programma <CODE>resize2fs</CODE>. <P> <P>Al fine di ottenere il massimo da <CODE>fips</CODE> dovreste innanzitutto cancellare i file non necessari, svuotare i cestini ecc., prima di deframmentare il vostro disco. In questo modo potete allocare più spazio per altre partizioni. Se il programma si lamenta che ci sono ancora file alla fine del disco, ciò forse è dovuto a file nascosti generati da Microsoft Mirror o da Norton Image. Questi sono probabilmente chiamati <CODE>image.idx</CODE> e <CODE>image.dat</CODE> e contengono backup di qualche file di sistema. <P>Ci sono prove che in alcuni programmi di deframmentazione di Windows è necessario che la casella "permetti a Windows di spostare i file" <EM>non</EM> sia contrassegnata, altrimenti finirete con l'avere qualche file nell'ultimo cilindro della partizione il che eviterà a FIPS di richiedere spazio. <P>Se avete ancora file non spostabili alla fine della vostra partizione DOS, dovreste ottenere il programma DOS "showfat" versione 3.0 o superiore. Questo vi mostra quali file sono dove così potete avere a che fare con loro direttamente. <P>Ripartizionare è un processo pericoloso come qualsiasi altro partizionamento quindi siete avvisati di avere a portata di mano un backup fresco. <P> <P> <H2><A NAME="microsoft-partition-bug"></A> <A NAME="ss12.4">12.4 Il Bug della Partizione Microsoft </A> </H2> <P> <!-- disco!implementazione!Bug Partizione Microsoft --> <!-- disco!Microsoft!brutto bug --> Nei prodotti Microsoft fino a Win 98 c'è un bug che vi può causare un po' di problemi: se avete diverse partizioni <CODE>fat</CODE> primarie e l'ultima partizione estesa non è una partizione <CODE>fat</CODE>, il system Microsoft cercherà di montare l'ultima partizione al posto dell'ultima partizione FAT primaria. <P>Maggiori <A HREF="http://www.v-com.com/95Notes.html">informazioni</A> su questo sono disponibili sulla rete. <P>Per evitare ciò, potete sistemare una piccola parizione logica <CODE>fat</CODE> proprio alla fine del disco. <P>Visto che qualche componente hardware è accompagnato da setup software che è disponibile sotto DOS, questo potrebbe essere a portata di mano in ogni caso. Esempi degni di nota sono i controller RAID da DPT ed un bel numero di schede di rete. <P> <H2><A NAME="ss12.5">12.5 Dispositivi multipli (<CODE>md</CODE>)</A> </H2> <P> <!-- disco!implementazione!dispositivi multipli --> <!-- disco!implementazione!dispositivi, multipli --> Essendo in uno stato di sviluppo dovreste assicurarvi di leggere la documentazione più recente su questa caratteristica del kernel. <P>Spiegata brevemente, funziona aggiungendo partizioni insieme in nuovi dispositivi <CODE>md0</CODE>, <CODE>md1</CODE> ecc. utilizzando <CODE>mdadd</CODE> prima che voi li attiviate mediante <CODE>mdrun</CODE>. Questo processo può essere automatizzato mediante il file <CODE>/etc/mdtab</CODE>. <P>Il sistema <CODE>md</CODE> più recente utilizza /etc/raidtab ed una sintassi differente. Assicuratevi che il pacchetto di strumenti RAID combaci con la versione <CODE>md</CODE> dal momento che il protocollo interno è cambiato. <P>Dopo di che li trattate come qualsiasi altra partizione su disco. Procedete con la formattazione ecc. come descritto qui sotto utilizzando questi nuovi dispositivi. <P>C'è ora anche un HOWTO in sviluppo per RAID che utilizza <CODE>md</CODE> che dovreste leggere. <P> <H2><A NAME="ss12.6">12.6 Formattazione</A> </H2> <P> <!-- disco!implementazione!formattazione --> Dopo viene la formattazione della partizione, in cui viene predisposta la struttura dei dati che descriverà i file e dove saranno posti. Se questa è la prima volta si raccomanda la formattazione con verifica. Parlando stringatamente, non dovrebbe essere necessario ma questo stimola l'I/O così tanto da scoprire problemi potenziali come incorretta terminazione, prima che voi archiviate i vostri preziosi dati. Guardate il comando <CODE>mkfs</CODE> per maggiori dettagli. <P>Linux è in grado di gestire un gran numero di file system, piuttosto che ripetere i dettagli, potete leggere le pagine di manuale di <CODE>fs</CODE> che li descrive in maggior dettaglio. Notate che il kernel, per poter utilizzare queste funzioni, deve avere i driver compilati internamente o come moduli. Quando è ora di compilare il kernel, dovreste leggere attentamente la lista delle caratteristiche del file system. Se utilizzate <CODE>make menuconfig</CODE> potete avere un aiuto in linea per ogni tipo di file system. <P>Notate che qualche sistema di disco di recupero ha bisogno che <CODE>minix</CODE>, <CODE>msdos</CODE> e <CODE>ext2fs</CODE> vengano compilati nel kernel. <P>Anche le partizioni di swap devono essere preparate e per far questo utilizzate <CODE>mkswap</CODE>. <P> <P> <H2><A NAME="ss12.7">12.7 Montaggio</A> </H2> <P> <!-- disco!implementazione!montaggio --> I dati presenti su una partizione non sono disponibili in un file system fino a che essa non è montata in un punto di montaggio. Questo può essere fatto manualmente utilizzando <CODE>mount</CODE> o automaticamente durante l'avvio, aggiungendo linee appropriate all'<CODE>/etc/fstab</CODE>. Leggete il manuale di <CODE>mount</CODE> e prestate molta attenzione alle tabulazioni. <P> <P> <H2><A NAME="ss12.8">12.8 <CODE>fstab</CODE></A> </H2> <P> <!-- disco!implementazione!fstab --> <!-- disco!fstab --> Durante il processo di boot il sistema monta tutte le partizioni come elencate nel file <CODE>fstab</CODE> che può apparire così: <P> <BLOCKQUOTE><CODE> <PRE> # <file system> <punto mont.> <tipo> <opzioni> <dump> <pass> /dev/hda2 / ext2 defaults 0 1 None none swap sw 0 0 proc /proc proc defaults 0 0 /dev/hda1 /dosc vfat defaults 0 1 </PRE> </CODE></BLOCKQUOTE> <P>Questo file è in qualche modo sensibile alla formattazione utilizzata quindi è meglio e più conveniente modificarlo utilizzando uno degli strumenti di modifica creati per questo scopo. <P>Brevemente, i campi sono: nome della partizione, dove montare la partizione, tipo di file system, quando montarla, quando effettuare il dump per il backup e quando fare <CODE>fsck</CODE>. <P>Linux offre la possibilità di fare un controllo di file parallelo (<CODE>fsck</CODE>) ma per essere efficiente è importante non fare <CODE>fsck</CODE> su più di una partizione di un disco alla volta. <P>Per maggiori informazioni fate riferimento alle pagine di manuale di <CODE>mount</CODE> e <CODE>fstab</CODE>. <P> <P> <H2><A NAME="ss12.9">12.9 Raccomandazioni</A> </H2> <P>Avendo costruito ed implementato il vostro intelligente schema, siete ben avvisati di annotarvelo tutto, su carta. È inutile avere le informazioni necessarie su disco, se la macchina è andata. <P>Le tabelle di partizione possono essere danneggiate o perse, nel qual caso è estremamente importante che voi mettiate gli stessi, esatti, numeri in <CODE>fdisk</CODE>, così da recuperare il vostro sistema. Potete utilizzare il programma <CODE>printpar</CODE> per fare una chiara annotazione delle tabelle. Scrivetevi anche i numeri SCSI o i nomi IDE per ogni disco, così potete rimettere insieme il sistema nell'ordine giusto. <P> <P> <P> <HR> <A HREF="Multi-Disk-HOWTO-13.html">Avanti</A> <A HREF="Multi-Disk-HOWTO-11.html">Indietro</A> <A HREF="Multi-Disk-HOWTO.html#toc12">Indice</A> </BODY> </HTML>