diff options
Diffstat (limited to 'it_IT.ISO8859-15/books/handbook/geom/chapter.xml')
-rw-r--r-- | it_IT.ISO8859-15/books/handbook/geom/chapter.xml | 432 |
1 files changed, 432 insertions, 0 deletions
diff --git a/it_IT.ISO8859-15/books/handbook/geom/chapter.xml b/it_IT.ISO8859-15/books/handbook/geom/chapter.xml new file mode 100644 index 0000000000..db18e85c1d --- /dev/null +++ b/it_IT.ISO8859-15/books/handbook/geom/chapter.xml @@ -0,0 +1,432 @@ +<?xml version="1.0" encoding="iso-8859-15" standalone="no"?> +<!-- + The FreeBSD Documentation Project + $FreeBSD$ + Original revision: 1.18 +--> + +<chapter id="GEOM"> + <chapterinfo> + <authorgroup> + <author> + <firstname>Tom</firstname> + + <surname>Rhodes</surname> + + <contrib>Scritto da </contrib> + </author> + </authorgroup> + </chapterinfo> + + <title>GEOM: Framework modulare per la trasformazione del disco</title> + + <sect1 id="GEOM-synopsis"> + <title>Sinossi</title> + + <indexterm> + <primary>GEOM</primary> + </indexterm> + <indexterm> + <primary>GEOM Disk Framework</primary> + <see>GEOM</see> + </indexterm> + + <para>Questo articolo tratta l'utilizzo dei dischi attraverso la struttura + GEOM implementata in &os;. Questo include le più importanti + utility di controllo <acronym + role="Redundant Array of Inexpensive Disks">RAID</acronym> + che utilizzano la suddetta struttura per la loro configurazione. + Questo capitolo non si soffermerà in discussioni approfondite + su come la struttura GEOM utilizza o controlla gli I/O, il suo + sottosistema di funzionamento o il codice. + Queste informazioni sono fornite dalla manpage &man.geom.4; e + nei suoi vari riferimenti SEE ALSO. Questo capitolo non è nemmeno + la guida definitiva alla configurazione del <acronym>RAID</acronym> + Soltanto i dischi<acronym>RAID</acronym> classificati come "supportati + da GEOM" saranno discussi.</para> + + <para>Dopo la lettura di questo capitolo saprai:</para> + + <itemizedlist> + <listitem> + <para>Quale genere di supporto<acronym>RAID</acronym> è + disponibile attraverso GEOM.</para> + </listitem> + + <listitem> + <para>Come usare le utilities di base per configurare, manutenere, + e manipolare i vari livelli di <acronym>RAID.</acronym> + </para> + </listitem> + + <listitem> + <para>Come creare dei mirror, degli stripe, criptare e connettere dischi + remoti attraverso l'utilizzo di GEOM.</para> + </listitem> + + <listitem> + <para>Come sbrogliare problematiche relative ai dischi connessi + attraverso GEOM.</para> + </listitem> + </itemizedlist> + + <para>Prima di procedere alla lettura di questo capitolo dovresti:</para> + + <itemizedlist> + <listitem> + <para>Sapere la meccanica di utilizzo dei dischi da parte di &os;. + (<xref linkend="disks"/>).</para> + </listitem> + + <listitem> + <para>Sapere come configurare e installare un kernel personalizzato + sotto &os; (<xref linkend="kernelconfig"/>).</para> + </listitem> + </itemizedlist> + </sect1> + + <sect1 id="GEOM-intro"> + <title>Introduzione a GEOM</title> + + <para>GEOM permette l'accesso e il controllo alle classi — Master Boot + Records, <acronym>BSD</acronym> labels, ecc — attraverso l'uso + di forniture o di di files speciali in <filename + role="directory">/dev</filename>. Mediante il supporto di vari + software di configurazione<acronym>RAID</acronym> , GEOM fornisce un + accesso "trasparente" al sistema operativo + e alle utilità di sistema.</para> + </sect1> + + <sect1 id="GEOM-striping"> + <sect1info> + <authorgroup> + <author> + <firstname>Tom</firstname> + + <surname>Rhodes</surname> + + <contrib>Scritto da </contrib> + </author> + + <author> + <firstname>Murray</firstname> + + <surname>Stokely</surname> + </author> + </authorgroup> + </sect1info> + + <title>RAID0 - Striping</title> + + <indexterm> + <primary>GEOM</primary> + </indexterm> + <indexterm> + <primary>Striping</primary> + </indexterm> + + <para>Lo striping è un metodo utilizzato per unire gli hard disks in + un singolo volume. In molti casi, questo si ottiene attraverso dei + controllers hardware. Il sottosistema GEOM fornisce il supporto software + per il <acronym>RAID</acronym>0, conosciuto anche come disk + striping.</para> + + <para>In un sistema <acronym>RAID</acronym>0, i dati sono tagliati in + blocchi che vengono "spalmati" su tutti i dischi della catena RAID. + Invece di aspettare che il sistema scriva un blocco di 256kb su un disco, + il <acronym>RAID</acronym>0 può scrivere blocchi di 64k ciascuno + su quattro differenti dischi, offrendo performances I/O migliori. Queste + performances possono essere ulteriormente migliorate utilizzando + più controllers per dischi.</para> + + <para>In ogni "stripe" <acronym>RAID</acronym>0 ogni disco deve essere + della stessa grandezza degli altri, dal momento che le chiamate I/O sono + inframezzate per leggere e scrivere su più dischi in + parallelo.</para> + + <mediaobject> + <imageobject> + <imagedata fileref="geom/striping" align="center"/> + </imageobject> + + <textobject> + <phrase>Disk Striping Illustration</phrase> + </textobject> + </mediaobject> + + <procedure> + <title>Creazione di uno stripe di dischi ATA non formattati</title> + + <step> + <para>Caricare il modulo <filename>geom_stripe</filename>:</para> + + <screen>&prompt.root; <userinput>kldload geom_stripe.ko</userinput></screen> + </step> + + <step> + <para>Assicurati che esiste una appropriato mount point. Se il volume + in questione diventerà una partizione di root, allora usa + temporaneamente un mount point diverso,ad esempio <filename + role="directory">/mnt</filename>:</para> + + <screen>&prompt.root; <userinput>mkdir /mnt</userinput></screen> + </step> + + <step> + <para>Determina i nomi dei devices per i dischi che verranno configurati + in stripe e creali. Ad esempio per configurare in modalità + stripe 2 dischi <acronym>ATA</acronym> + <filename>/dev/ad2</filename> e <filename>/dev/ad3</filename> + non ancora partizionati potresti usare il seguente comando.</para> + + <screen>&prompt.root; <userinput>gstripe label -v st0 /dev/ad2 /dev/ad3</userinput></screen> + </step> + + <step> + <para>Se questo volume sarà utilizzato come dispositivo di root + da cui effettuare il boot, allora prima di creare il filesystem devi + utilizzare il seguente comando:</para> + + <screen>&prompt.root; <userinput>fdisk -vBI /dev/stripe/st0</userinput></screen> + </step> + + <step> + <para>Crea una tabella delle partizioni sul nuovo volume con in + seguente comando:</para> + + <screen>&prompt.root; <userinput>bsdlabel -wB /dev/stripe/st0</userinput></screen> + </step> + + <step> + <para>Questa procedura dovrebbe aver creato altri due device in + <filename role="directory">/dev/stripe</filename> in aggiunta a + <devicename>st0</devicename>. Nella fattispecie + <devicename>st0a</devicename> e <devicename>st0c</devicename>. + Ora bisogna creare un filesystem nel device + <devicename>st0a</devicename> utilizzando il comando + <command>newfs</command> come segue:</para> + + <screen>&prompt.root; <userinput>newfs -U /dev/stripe/st0a</userinput></screen> + + <para>Dopo che per qualche secondo vedrete parecchi numeri scorrere + sullo schermo, la procedura sarà completa. Il volume è + stato creato ed è pronto per essere montato.</para> + </step> + </procedure> + + <para>Per montare manualmente il dispositivo stripe appena creato usa il + seguente comando:</para> + + <screen>&prompt.root; <userinput>mount /dev/stripe/st0a /mnt</userinput></screen> + + <para>Per montare il filesystem stripe automaticamente all'avvio del + sistema, inserisci le informazioni del volume nel file + <filename>/etc/fstab</filename>:</para> + + <screen>&prompt.root; <userinput>echo "/dev/stripe/st0a /mnt ufs rw 2 2" \</userinput> + <userinput>>> /etc/fstab</userinput></screen> + + <para>Il modulo <filename>geom</filename> deve essere caricato contestualmente + all'avvio del sistema; questo lo si ottiene semplicemente inserendo la + seguente linea nel file <filename>/boot/loader.conf</filename>:</para> + + <screen>&prompt.root; <userinput>echo 'geom_stripe_load="YES"' >> /boot/loader.conf</userinput></screen> + </sect1> + + <sect1 id="GEOM-mirror"> + <title>RAID1 - Mirroring</title> + + <indexterm> + <primary>GEOM</primary> + </indexterm> + <indexterm> + <primary>Disk Mirroring</primary> + </indexterm> + + <para>Il mirroring è una tecnologia utilizzata da molte aziende e + utenti casalinghi per il salvataggio dei dati senza interruzioni. + La presenza di un "mirror" significa semplicemente che il disco B replica + il disco A;oppure che i dischi C e D replicano i dischi A e B. + Indipendentemente dalla configurazione del disco, l'aspetto importante + è che le informazioni presenti su un disco o una partizione sono + letteralmente "replicati". Successivamente queste informazioni possono + essere facilmente ripristinate,salvate senza che si verifichino + disservizi o interruzioni nel loro accesso e, addirittura, conservate + fisicamente in cassaforte.</para> + + <para>Per cominciare assicurati che il sistema disponga di due dischi di + identica capacità. Questo esercizio si riferisce a dischi + <acronym>SCSI</acronym>ad accesso diretto (&man.da.4;),</para> + + <para>Comincia installando &os; sul primo disco creando solamente due + partizioni. Una dovrebbe essere una partizione di swap, pari al doppio + della <acronym>RAM</acronym> presente nel sistema e il resto dello spazio + dedicato al filesystem di root (<filename role="directory">/</filename>). + È possibile creare partizioni separate per gli altri mount points, + aumentando parecchio la difficoltà di realizzazione del progetto; + questo è dovuto alla necessità di alterare manualmente i + settaggi di &man.bsdlabel.8; e &man.fdisk.8;.</para> + + <para>Riavvia e aspetta che il sistema sia completamente attivo. + Non appena il boot è completato effettua il login come + <username>root</username>.</para> + + <para>Crea il device <filename>/dev/mirror/gm</filename> e fai un link + dello stesso a <filename>/dev/da1</filename>:</para> + + <screen>&prompt.root; <userinput>gmirror label -vnb round-robin gm0 /dev/da1</userinput></screen> + + <para>Il sistema dovrebbe rispondere con:</para> + + <screen>Metadata value stored on /dev/da1. +Done.</screen> + + <para>Avvia GEOM,questa procedura caricherà nel kernel il modulo + <filename>/boot/kernel/geom_mirror.ko</filename></para> + + <screen>&prompt.root; <userinput>gmirror load</userinput></screen> + + <note> + <para>Questo comando dovrebbe ora avere creato i nodi di + device<devicename>gm0</devicename>,<devicename>gm0s1</devicename>, + <devicename>gm0s1a</devicename> e <devicename>gm0s1c</devicename> nella + directory <filename role="directory">/dev/mirror</filename>.</para> + </note> + + <para>Crea una label generica e un codice di boot nel device + <devicename>gm0</devicename> appena creato utilizzando il comando + <command>fdisk</command>:</para> + + <screen>&prompt.root; <userinput>fdisk -vBI /dev/mirror/gm0</userinput></screen> + + <para>Ora crea una label di informazioni generica con + <command>bsdlabel</command>:</para> + + <screen>&prompt.root; <userinput>bsdlabel -wB /dev/mirror/gm0s1</userinput></screen> + + <note> + <para>Se sono presenti più slices e partizioni, i flags dei due + comandi precedenti richiederanno delle modifiche. Queste modifiche + devono combaciare con la grandezza delle slices e delle partizioni + dell'altro disco.</para> + </note> + + <para>Utilizza l'utility &man.newfs.8; per creare un filesystem di default + sul nodo di device<devicename>gm0s1a</devicename>:</para> + + <screen>&prompt.root; <userinput>newfs -U /dev/mirror/gm0s1a</userinput></screen> + + <para>Questo dovrebbe causare la visualizzazione di un bel pò di + numeri e informazioni varie da parte del sistema. È corretto. + Esamina bene lo schermo per vedere se ci sono messaggi di errore e monta + il device in <filename role="directory">/mnt</filename>:</para> + + <screen>&prompt.root; <userinput>mount /dev/mirror/gm0s1a /mnt</userinput></screen> + + <para>Ora sposta tutti i dati presenti sul tuo disco di boot nel nuovo + filesystem. Questo esempio usa i comandi &man.dump.8; e &man.restore.8; + comunque anche &man.dd.1; dovrebbe funzionare nel contesto che stiamo + trattando. Evita di utilizzare &man.tar.1; dal momento che non copia il + codice di boot. In caso contrario il fallimento è + garantito.</para> + + <screen>&prompt.root; <userinput>dump -L -0 -f- / |(cd /mnt && restore -r -v -f-)</userinput></screen> + + <para>Questo deve essere fatto per ciascun filesystem. Disponi + semplicemente il filesystem appropriato nella posizione corretta quando + digiti il suddetto comando.</para> + + <para>Ora edita il file <filename>/mnt/etc/fstab</filename> "replicato" e + rimuovi,o commenta (#) la riga relativa al file di swap. + <footnote> + <para>È opportuno chiarire che commentando la riga relativa + allo swap nel file <filename>fstab</filename> ti sarà chiesto + di ristabilire in un' altra maniera l'utilizzo dello spazio di + swapping. Per maggiori informazioni a riguardo fai riferimento a + <xref linkend="adding-swap-space"/>, grazie.</para> + </footnote> + Per utilizzare il nuovo disco cambia le altre informazioni di filesystem. + Dai un' occhiata al seguente esempio:</para> + + <programlisting># Device Mountpoint FStype Options Dump Pass# +#/dev/da0s2b none swap sw 0 0 +/dev/mirror/gm0s1a / ufs rw 1 1 + </programlisting> + + <para>Ora crea un file <filename>boot.conf</filename> in entrambe le + partizioni di root; quella corrente e quella nuova. Questo file + aiuterà il <acronym>BIOS</acronym> di sistema ad effettuare il + boot dal drive corretto.</para> + + <screen>&prompt.root; <userinput>echo "1:da(1,a)/boot/loader" > /boot.config</userinput></screen> + + <screen>&prompt.root; <userinput>echo "1:da(1,a)/boot/loader" > /mnt/boot.config</userinput></screen> + + <note> + <para>Lo abbiamo inserito in entrambe le partizioni di root per + assicurarci un boot corretto. Se per qualche ragione il sistema non + potesse leggere la nuova partizione di root, è disponibile una + procedura di recupero.</para> + </note> + + <para>Adesso aggiungi la seguente linea al nuovo file + <filename>/boot/loader.conf</filename>:</para> + + <screen>&prompt.root; <userinput>echo 'geom_mirror_load="YES"' >> /mnt/boot/loader.conf</userinput></screen> + + <para>Questo indicherà a &man.loader.8; come caricare il modulo + <filename>geom_mirror.ko</filename> durante l'inizializzazione del + sistema.</para> + + <para>Riavvia il sistema:</para> + + <screen>&prompt.root; <userinput>shutdown -r now</userinput></screen> + + <para>Se tutto è andato liscio il sistema dovrebbe aver effettuato + il boot di device<devicename>gm0s1a</devicename> e il prompt di + <command>login</command> dovrebbe essere in attesa. Se qualcosa è + andato storto fai riferimento alla sezione successiva "risoluzione dei + problemi". Ora aggiungi al disco<devicename>da0</devicename> al device + <devicename>gm0</devicename>:</para> + + <screen>&prompt.root; <userinput>gmirror configure -a gm0</userinput> +&prompt.root; <userinput>gmirror insert gm0 /dev/da0</userinput></screen> + + <para>Il flag <option>-a</option> dice a &man.gmirror.8; di usare la + sincronizzazione automatica; ovvero mirrorare + automaticamente le scritture sul disco. La manpage descrive come + ricostruire o rimpiazzare i dischi, utilizzando + <devicename>data</devicename> al posto di + <devicename>gm0</devicename>.</para> + + <sect2> + <title>Risoluzione dei problemi</title> + + <sect3> + <title>Il sistema non effettua il boot</title> + + <para>Se al boot il sistema mostra un prompt simile a questo:</para> + + <programlisting>ffs_mountroot: can't find rootvp +Root mount failed: 6 mountroot> +</programlisting> + + <para>Riavvia la macchina utilizzando il tasto di reset o il pulsante + di accensione. Arrivato al menu del boot, scegli l'opzione sei (6). + Questo forzerà il sistema al prompt di &man.loader.8;. + Carica manualmente il modulo del kernel:</para> + + <screen>OK? <userinput>load geom_mirror.ko</userinput> +OK? <userinput>boot</userinput></screen> + + <para>Se funziona significa che per qualche ragione il modulo non era + stato caricato correttamente. Inserisci:</para> + + <programlisting>options GEOM_MIRROR</programlisting> + + <para>nel file di configurazione del kernek,ricompilalo e reinstallalo. + Questo dovrebbe risolvere il problema.</para> + </sect3> + </sect2> + </sect1> +</chapter> |