diff options
author | Marc Fonvieille <blackend@FreeBSD.org> | 2002-09-22 11:18:31 +0000 |
---|---|---|
committer | Marc Fonvieille <blackend@FreeBSD.org> | 2002-09-22 11:18:31 +0000 |
commit | 43eb7a72ae8e4876de5260a7dcde809d26d7e53c (patch) | |
tree | efb62bedbed9b64c448eea947b9381791d7707fb /it_IT.ISO8859-15 | |
parent | f7d092f4d160f42f934cc8557fdbb09151c2a074 (diff) |
Notes
Diffstat (limited to 'it_IT.ISO8859-15')
11 files changed, 1601 insertions, 0 deletions
diff --git a/it_IT.ISO8859-15/books/handbook/users/Makefile b/it_IT.ISO8859-15/books/handbook/users/Makefile new file mode 100644 index 0000000000..4b11d7ebd9 --- /dev/null +++ b/it_IT.ISO8859-15/books/handbook/users/Makefile @@ -0,0 +1,15 @@ +# +# Crea il Manuale con il contenuto di solo questo capitolo. +# +# $FreeBSD$ +# + +CHAPTERS= users/chapter.sgml + +VPATH= .. + +MASTERDOC= ${.CURDIR}/../${DOC}.${DOCBOOKSUFFIX} + +DOC_PREFIX?= ${.CURDIR}/../../../.. + +.include "../Makefile" diff --git a/it_IT.ISO8859-15/books/handbook/users/chapter.sgml b/it_IT.ISO8859-15/books/handbook/users/chapter.sgml new file mode 100644 index 0000000000..1eb8a48eb9 --- /dev/null +++ b/it_IT.ISO8859-15/books/handbook/users/chapter.sgml @@ -0,0 +1,74 @@ +<!-- + The FreeBSD Italian Documentation Project + + $FreeBSD$ +--> + +<chapter id="users"> + <title>Gestione degli Utenti e degli Account di Base</title> + + <sect1 id="users-synopsis"> + <title>Sinossi</title> + + <para>Traduzione in corso</para> + </sect1> + + <sect1 id="users-introduction"> + <title>Introduction</title> + + <para>Traduzione in corso</para> + </sect1> + + <sect1 id="users-superuser"> + <title>The Superuser Account</title> + + <para>Traduzione in corso</para> + </sect1> + + <sect1 id="users-system"> + <title>System Accounts</title> + + <para>Traduzione in corso</para> + </sect1> + + <sect1 id="users-user"> + <title>User Accounts</title> + + <para>Traduzione in corso</para> + </sect1> + + <sect1 id="users-modifying"> + <title>Modifying Accounts</title> + + <para>Traduzione in corso</para> + </sect1> + + <sect1 id="users-limiting"> + <title>Limiting Users</title> + + <para>Traduzione in corso</para> + </sect1> + + <sect1 id="users-personalizing"> + <title>Personalizing Users</title> + + <para>Traduzione in corso</para> + </sect1> + + <sect1 id="users-groups"> + <title>Groups</title> + + <para>Traduzione in corso</para> + </sect1> +</chapter> + +<!-- + Local Variables: + mode: sgml + sgml-declaration: "../chapter.decl" + sgml-indent-data: t + sgml-omittag: nil + sgml-always-quote-attributes: t + sgml-parent-document: ("../book.sgml" "part" "chapter") + End: +--> diff --git a/it_IT.ISO8859-15/books/handbook/vinum/Makefile b/it_IT.ISO8859-15/books/handbook/vinum/Makefile new file mode 100644 index 0000000000..51d136b3cf --- /dev/null +++ b/it_IT.ISO8859-15/books/handbook/vinum/Makefile @@ -0,0 +1,15 @@ +# +# Crea il Manuale con il contenuto di solo questo capitolo. +# +# $FreeBSD$ +# + +CHAPTERS= vinum/chapter.sgml + +VPATH= .. + +MASTERDOC= ${.CURDIR}/../${DOC}.${DOCBOOKSUFFIX} + +DOC_PREFIX?= ${.CURDIR}/../../../.. + +.include "../Makefile" diff --git a/it_IT.ISO8859-15/books/handbook/vinum/chapter.sgml b/it_IT.ISO8859-15/books/handbook/vinum/chapter.sgml new file mode 100644 index 0000000000..565fa5f521 --- /dev/null +++ b/it_IT.ISO8859-15/books/handbook/vinum/chapter.sgml @@ -0,0 +1,1035 @@ +<!-- + The FreeBSD Italian Documentation Project + + $FreeBSD$ + Original revision: 1.8 +--> + +<chapter id="vinum-vinum"> + <title>Il Gestore di Volumi Vinum</title> + + <sect1 id="vinum-synopsis"> + <title>Sinossi</title> + + <para>Qualunque siano i dischi che hai, ci saranno sempre delle + limitazioni:</para> + + <itemizedlist> + <listitem> + <para>Potrebbero essere troppo piccoli.</para> + </listitem> + + <listitem> + <para>Potrebbero essere troppo lenti.</para> + </listitem> + + <listitem> + <para>Potrebbero essere troppo inaffidabili.</para> + </listitem> + </itemizedlist> + </sect1> + + <sect1 id="vinum-intro"> + <sect1info> + <authorgroup> + <author> + <firstname>Greg</firstname> + + <surname>Lehey</surname> + + <contrib>Originariamente scritto da </contrib> + </author> + </authorgroup> + </sect1info> + + <title>Dischi troppo piccoli</title> + + <indexterm><primary>Vinum</primary></indexterm> + <indexterm> + <primary>Volumi</primary> + <secondary>Gestore</secondary> + </indexterm> + + <para><emphasis>Vinum</emphasis> è un <emphasis>Volume + Manager</emphasis>, ovvero un driver virtuale di disco che si occupa dei + tre problemi indicati nella sinossi. Diamo un'occhiata in dettaglio a + questi problemi, per cui sono state proposte e implementate varie + soluzioni.</para> + + <para>I dischi stanno diventando sempre più grandi, ma questo + è vero anche le necessità di spazio per i dati. Spesso + sentirai il bisogno di avere un file system più grande dei dischi + che possiedi. Effettivamente questo problema non è così + grave come lo era dieci anni fa, ma è sempre presente. Alcuni + sistemi risolvono la questione creando un dispositivo astratto che + ripartisce i suoi dati su vari dischi.</para> + </sect1> + + <sect1> + <title>Colli di bottiglia nell'accesso</title> + + <para>I moderni sistemi hanno frequentemente la necessità di + accedere ai dati in modo concorrente. Ad esempio, un grande server FTP o + HTTP può avere migliaia di sessioni concorrenti e molteplici + connessioni da 100 Mbit/s verso il mondo esterno, ben oltre il transfer + rate (velocità di trasferimento) che la maggior parte dei dischi + può sostenere.</para> + + <para>I dischi odierni possono trasferire sequenzialmente dati fino a + 70 MB/s, ma questo valore ha poca importanza in un ambiente dove molti + processi indipendenti accedono al disco, in quanto raggiungerebbero + solo una frazione di quella velocità. In questi casi è + più interessante vedere il problema dal punto di vista del + sottosistema dischi: il parametro importante è il carico che il + trasferimento pone sul sottosistema, in altre parole il tempo per cui il + trasferimento occupa i dischi necessari per lo stesso.</para> + + <para>In ogni trasferimento da disco il drive deve prima posizionare le + testine, poi aspettare che il primo settore passi sotto la testina di + lettura e solo dopo può effettuare il trasferimento. Queste azioni + possono essere considerate atomiche: non ha alcun senso + interromperle.</para> + + <para><anchor id="vinum-latency">Considera un tipico trasferimento di circa + 10 kB: l'attuale generazione di dischi ad alte prestazioni può + posizionare le testine in circa 3,5 ms. I dischi più veloci + ruotano a 15.000 rpm, quindi la latenza media rotazionale (mezzo giro) + è di 2 ms. A 70 MB/s, il trasferimento in sé occupa circa + 150 μs, quasi nulla in confronto al tempo di posizionamento. + In questo caso il transfer rate effettivo può scendere fino a poco + oltre 1 MB/s e questo è charamente molto dipendente dalla + dimensione del trasferimento.</para> + + <para>La tradizionale e ovvia soluzione a questo collo di bottiglia è + <quote>più assi</quote>: invece di usare un grande disco si usano + molti piccoli dischi con la stessa dimensione totale. Ogni disco è + capace di posizionarsi e trasferire dati indipendentemente quindi la + velocità effettiva aumenta di un fattore vicino al numero di dischi + usati.</para> + + <para>L'esatto fattore di miglioramento è, ovviamente, più + piccolo del numero di dischi: benché ogni disco sia capace di + trasferire in parallelo non c'è modo di assicurare che le richieste + siano distribuite uniformemente tra tutti i dischi. Inevitabilmente il + carico su uno dei dischi è più alto che sugli altri.</para> + + <indexterm> + <primary>concatenazione</primary> + <secondary>Vinum</secondary> + </indexterm> + <indexterm> + <primary>Vinum</primary> + <secondary>concatenazione</secondary> + </indexterm> + + <para>L'uniformità della distribuzione del carico sui dischi è + fortemente dipendente dal modo in cui i dati sono condivisi tra i dischi + stessi. Nella seguente discussione è conveniente pensare allo + spazio di immagazzinamento come se fosse diviso in un gran numero di + settori identificati da un indirizzo numerico, come pagine in un libro. + Il metodo più ovvio è di dividere il disco virtuale in + gruppi di settori consecutivi della dimensione dei dischi fisici e + immagazzinarli in questa maniera, come strappare un grosso libro in + piccole sezioni. Questo metodo è chiamato + <emphasis>concatenazione</emphasis> e ha il vantaggio di non avere + particolari richieste sulla dimensione degli specifici dischi. + Funziona bene quando l'accesso al + disco virtuale è ben ripartito tra tutto il suo spazio di + indirizzamento. Quando l'accesso è concentrato in una piccola area + il miglioramento è meno marcato. La <xref linkend="vinum-concat"> + illustra la sequenza in cui le unità di immagazzinamento sono + allocate nell'organizzazione concatenata.</para> + + <para> + <figure id="vinum-concat"> + <title>Organizzazione concatenata</title> + + <graphic fileref="vinum/vinum-concat"> + </figure> + </para> + + <indexterm> + <primary>striping</primary> + <secondary>Vinum</secondary> + </indexterm> + <indexterm> + <primary>Vinum</primary> + <secondary>striping</secondary> + </indexterm> + <indexterm> + <primary>RAID</primary> + <secondary>livello 0</secondary> + </indexterm> + <indexterm><primary>RAID-0</primary></indexterm> + + <para>Un metodo alternativo è dividere lo spazio in più + piccole componenti di egual dimensione e immagazzinarle sequenzialente su + differenti dispositivi. Per esempio i primi 256 settori potrebbero essere + immagazzinati sul primo disco, i seguenti 256 settori sul disco seguente e + così via. Dopo aver immagazzinato i dati sull'ultimo disco il + processo si ripete finché i dischi non sono pieni. Questo + mappamento è chiamato <emphasis>striping</emphasis> (letteralmente + "a bande") o <acronym>RAID-0</acronym> + <footnote> + <indexterm><primary>RAID</primary></indexterm> + <indexterm> + <primary>Redundant Array of Inexpensive Disks</primary> + </indexterm> + + <para><acronym>RAID</acronym> significa <emphasis>Redundant Array of + Inexpensive Disks</emphasis> (insieme ridondante di dischi non + costosi) e offre varie forme di tolleranza ai problemi. Nel caso del + <acronym>RAID-0</acronym> il termine è leggermente fuorviante: in + effetti non dà alcuna ridondanza.</para> + </footnote>. + Lo striping richiede qualche sforzo aggiuntivo per localizzare i dati e + può causare carico di I/O aggiuntivo quando il trasferimento + è distribuito tra vari dischi, ma aiuta il carico a essere ben + distribuito tra i vari dischi. La <xref linkend="vinum-striped"> illustra + la sequenza in cui i blocchi di dati sono allocati nell'organizzazione in + striping.</para> + + <para> + <figure id="vinum-striped"> + <title>Organizzazione in striping</title> + + <graphic fileref="vinum/vinum-striped"> + </figure> + </para> + </sect1> + + <sect1> + <title>Integrità dei dati</title> + + <para>L'ultimo problema dei dischi attuali è che sono inaffidabili. + Benché la loro affidabilità sia aumentata tremendamente + durante gli ultimi anni sono tuttora il componente di un server che ha + la maggior probabilità di rompersi. Quando succede i risultati + possono essere catastrofici: rimpiazzare un disco rotto e riempirlo dei + dati originari può richiedere giorni.</para> + + <indexterm> + <primary>mirroring</primary> + <secondary>Vinum</secondary> + </indexterm> + <indexterm> + <primary>Vinum</primary> + <secondary>mirroring</secondary> + </indexterm> + <indexterm> + <primary>RAID</primary> + <secondary>livello 1</secondary> + </indexterm> + <indexterm><primary>RAID-1</primary></indexterm> + + <para>Il metodo tradizionale per affrontare questo problema si chiama + <emphasis>mirroring</emphasis> (letteralmente "specchiatura") e consiste + nel tenere due copie dei dati su hardware fisici differenti. Con + l'avvento dei livelli <acronym>RAID</acronym> questa tecnica è + stata chiamata <acronym>RAID</acronym> di livello 1 o + <acronym>RAID-1</acronym>. Ogni scrittura su disco scrive in entrambe le + locazioni; una lettura può essere soddisfatta da entrambi quindi se + un disco si rompe i dati sono sempre disponibili sull'altro disco.</para> + + <para>Il mirroring ha due problemi:</para> + + <itemizedlist> + <listitem> + <para>Il prezzo. Richiede il doppio dello spazio di + immagazzinamento delle soluzioni non ridondanti.</para> + </listitem> + + <listitem> + <para>L'impatto sulle prestazioni. La scrittura deve essere + compiuta su entrambi i dischi quindi la banda occupata raddoppia. + Le letture non soffrono di problemi sulle prestazioni: possono + perfino essere più veloci.</para> + </listitem> + </itemizedlist> + + <indexterm> + <primary>Vinum</primary> + <secondary>striping con parità</secondary> + </indexterm> + <indexterm> + <primary>RAID</primary> + <secondary>livello 5</secondary> + </indexterm> + <indexterm><primary>RAID-5</primary></indexterm> + + <para>Una soluzione alternativa è la + <emphasis>parità</emphasis>, implementata nel + <acronym>RAID</acronym> di livello 2, 3, 4 e 5. Di questi, il + <acronym>RAID-5</acronym> è il più interessante. La sua + implementazione in Vinum è una variante dell'organizzazione in + striping che dedica un blocco di ogni banda alla parità degli + altri blocchi: per come è implementato in Vinum, ogni blocco + <acronym>RAID-5</acronym> è simile a un blocco in striping, con + la differenza che implementa il <acronym>RAID-5</acronym> includendo un + blocco di parità per ogni banda. Come richiesto dal + <acronym>RAID-5</acronym> la locazione di questi blocchi di parità + cambia da ogni banda alla successiva. I numeri nei blocchi dati indicano + il numero dei blocchi relativi.</para> + + <para> + <figure id="vinum-raid5-org"> + <title>Organizzazione RAID-5</title> + + <graphic fileref="vinum/vinum-raid5-org"> + </figure> + </para> + + <para>Comparandolo al mirroring, il <acronym>RAID-5</acronym> ha il + vantaggio di richiedere molto meno spazio di immagazzinamento. La + velocità di lettura è simile all'organizzazione in + striping, ma in scrittura l'accesso è significativamente più + lento, circa il 25% della performance di lettura. Se uno dei dischi si + rompe l'aggregato continua a lavorare con performance peggiorate: la + lettura da uno dei dischi rimanenti continua normalmente, ma la lettura + dal disco rotto è ricalcolata dai corrispondenti blocchi dei + dischi rimanenti.</para> + </sect1> + + <sect1 id="vinum-objects"> + <title>Oggetti Vinum</title> + + <para>Per risolvere questi problemi Vinum implementa una categoria di + oggetti a quattro livelli:</para> + + <itemizedlist> + <listitem> + <para>L'oggetto più visibile è il disco virtuale, + chiamato <emphasis>volume</emphasis>. I volumi hanno essenzialmente + le stesse proprietà di un disco UNIX™, benché ci + sia qualche differenza minore. Non hanno limiti di dimensione.</para> + </listitem> + + <listitem> + <para>I volumi sono composti da <emphasis>plex</emphasis>, ognuno dei + quali rappresenta il completo spazio di indirizzamento del volume. + È quindi questo il livello della gerarchia che gestisce la + ridondanza dei dati. Pensa ai plex come a singoli dischi collegati + tra loro in mirroring, ognuno contenete gli stessi dati.</para> + </listitem> + + <listitem> + <para>Dato che Vinum vive all'interno del framework UNIX™ di + immagazzinamento dei dati sarebbe possibile utilizzare le partizioni + UNIX™ come blocchi basilari per costruire i plex multidisco, + ma questo approccio sarebbe in effetti troppo poco flessibile: i + dischi UNIX™ possono avere solo un limitato numero di + partizioni; al contrario Vinum suddivide le singole partizioni + UNIX™ (<emphasis>drive</emphasis>, ovvero dischi) in aree + contigue chiamate <emphasis>subdisks</emphasis> (sottodischi), che + solo a loro volta utilizzati come elementi per costruire i + plex.</para> + </listitem> + + <listitem> + <para>I sottodischi risiedono su <emphasis>drive</emphasis> Vinum, che + attualmente sono partizioni UNIX™. I drive Vinum possono + contenere qualsiasi quantità di sottodischi. Con l'eccezione + di una piccola area all'inizio del drive, che è usata per + immagazzinare informazioni sulla configurazione e sullo stato, + l'intero drive è disponibile per l'ìimmagazzinamento + dei dati.</para> + </listitem> + </itemizedlist> + + <para>La sezione seguente descrive come gli oggetti sopra discussi possano + dare le funzionalità richieste.</para> + + <sect2> + <title>Considerazioni sulle dimensioni dei volumi</title> + + <para>I plex possono contenere molteplici sottodischi distribuiti tra + tutti i drive presenti nella configurazione di Vinum, questo permette + alla dimensione dei plex, e quindi anche dei volumi, di non essere + limitata dalla dimensione dei singoli dischi.</para> + </sect2> + + <sect2> + <title>Immagazzinamento ridondante dei dati</title> + + <para>Vinum implementa il mirroring collegando più plex allo stesso + volume, ogni plex contiene la rappresentazione di tutti i dati del + volume. Un volume può contenere da uno ad otto plex.</para> + + <para>Nonostante un plex rappresenti i dati di un volume per intero, + è possibile che parti di questa rappresentazione vengano a + mancare o per scelta (non definendo dei sottodischi per alcune parti del + plex) o per accidente (come risultato della rottura del disco che le + conteneva). Finché almeno un plex contiene i dati di tutto lo + spazio d'indirizzamento del volume, il volume stesso è + completamente funzionale.</para> + </sect2> + + <sect2> + <title>Considerazioni sulle prestazioni</title> + + <para>Vinum implementa sia la concatenazione che lo striping al livello di + plex:</para> + + <itemizedlist> + <listitem> + <para>Un <emphasis>plex concatenato</emphasis> usea lo spazio di + indirizzamento di ogni sottodisco a turno.</para> + </listitem> + + <listitem> + <para>Un <emphasis>plex in striping</emphasis> suddivide i dati tra + ogni sottodisco. I sottodischi devono tutti avere la stessa + dimensione e devono essere presenti almeno due sottodischi + perché esista differenza da un plex concatenato.</para> + </listitem> + </itemizedlist> + </sect2> + + <sect2> + <title>Quale organizzazione per i plex?</title> + + <para>La versione di Vinum distribuita con FreeBSD &rel.current; + implementa due tipi di plex:</para> + + <itemizedlist> + <listitem> + <para>I plex concatenati, che sono i più flessibili: possono + contenere qualsiasi numero di sottodischi e questi possono avere + qualsiasi dimensione. Il plex può essere esteso aggiungendo + sottodischi. Richiede meno tempo di <acronym>CPU</acronym> di un + plex in striping, benché la differenza in carico di + <acronym>CPU</acronym> non sia misurabile. D'altro canto sono + più suscettibili agli hot spot (letteralmente <quote>zona + calda</quote>): casi in cui un disco è molto attivo mentre + gli altri sono fermi.</para> + </listitem> + + <listitem> + <para>Il più grande vantaggio dei plex in striping + (<acronym>RAID-0</acronym>) è la loro capacità di + ridurre gli hot spot: scegliendo una dimensione di striping ottimale + (circa 256 kB) si può ridistribuire il carico sui drive. Gli + svantaggi di questo approccio sono codice più complesso e + restrizioni sui sottodischi: devono essere tutti della stessa + dimensione, inoltre estendere il plex aggiungendo sottodischi + è così complicato che attualmente Vinum non lo + implementa. Vinum aggiunge anche un'ulteriore restrizione + elementare: un plex in striping deve contenere almeno due + sottodischi, dato che sarebbe altrimenti indistinguibile da un plex + concatenato.</para> + </listitem> + </itemizedlist> + + <para>La <xref linkend="vinum-comparison"> riassume vantaggi e svantaggi + di ogni tipo di organizzazione dei plex.</para> + + <table id="vinum-comparison"> + <title>Organizzazione dei Plex Vinum</title> + + <tgroup cols="5"> + <thead> + <row> + <entry>Tipo di plex</entry> + + <entry>Sottodischi minimi</entry> + + <entry>Sottodischi aggiungibili</entry> + + <entry>Dimensioni forzatamente uguali</entry> + + <entry>Applicazione</entry> + </row> + </thead> + + <tbody> + <row> + <entry>concatenato</entry> + + <entry>1</entry> + + <entry>sì</entry> + + <entry>no</entry> + + <entry>Immagazzinamento di grandi moli di dati con la massima + flessibilità e prestazioni moderate</entry> + </row> + + <row> + <entry>striping</entry> + + <entry>2</entry> + + <entry>no</entry> + + <entry>sì</entry> + + <entry>Alte prestazioni in casi di accessi altamente + concorrenti</entry> + </row> + </tbody> + </tgroup> + </table> + </sect2> + </sect1> + + <sect1 id="vinum-examples"> + <title>Alcuni esempi</title> + + <para>Vinum mantiene un <emphasis>database della configurazione</emphasis> + che descrive gli oggetti del sistema conosciuti. Inizialmente l'utente + crea il database della configurazione da uno o più file di + configurazione, con l'aiuto del programma &man.vinum.8;. Vinum + immagazzina una copia del database di configurazione in ogni slice del + disco (che Vinum chiama <emphasis>device</emphasis>, ovvero + <quote>dispositivo</quote>) sotto il suo controllo. + Questo database è aggiornato a ogni cambi + di stato in modo che un riavvio possa recuperare accuratamente lo stato di + ogni oggetto Vinum.</para> + + <sect2> + <title>Il file di configurazione</title> + + <para>Il file di configurazione descrive singoli oggetti Vinum. La + definizione di un semplice volume potrebbe essere:</para> + + <programlisting> drive a device /dev/da3h + volume myvol + plex org concat + sd length 512m drive a</programlisting> + + <para>Questo file descrive quattro oggetti Vinum:</para> + + <itemizedlist> + <listitem> + <para>La linea <emphasis>drive</emphasis> descrive la partizione del + disco (<emphasis>drive</emphasis>) e la sua locazione relativa + all'hardware sottostante. Gli viene assegnato il nome simbolico + <emphasis>a</emphasis>. Questa separazione dei nomi simbolici dai + nomi di dispositivo permette di muovere i dischi da una locazione ad + un'altra senza confusione.</para> + </listitem> + + <listitem> + <para>La linea <emphasis>volume</emphasis> descrive un volume. + L'unico attributo richiesto è il nome, in questo caso + <emphasis>myvol</emphasis>.</para> + </listitem> + + <listitem> + <para>La linea <emphasis>plex</emphasis> definisce un plex. + L'unico parametro richiesto è il tipo di organizzazione, in + questo caso <emphasis>concat</emphasis>. Non è necessario + un nome: il sistema genera un nome automaticamente a partire dal + nome del volume, aggiungendo un suffisso + <emphasis>.p</emphasis><emphasis>x</emphasis>, dove + <emphasis>x</emphasis> indica il numero del plex nel volume. Il + plex verrà quindi chiamato + <emphasis>myvol.p0</emphasis>.</para> + </listitem> + + <listitem> + <para>La linea <emphasis>sd</emphasis> descrive un sottodisco. + Le spefiche minime sono il nome del drive su cui immagazzinarlo e + la lunghezza del sottodisco. Come per i plex non è + necessario un nome: il sistema assegna automaticamente nomi + derivati dal nome del plex, agigungendo il suffisso + <emphasis>.s</emphasis><emphasis>x</emphasis>, dove + <emphasis>x</emphasis> indica il numero del sottdisco nel plex, + quindi Vinum darà a questo sottodisco il nome di + <emphasis>myvol.p0.s0</emphasis>.</para> + </listitem> + </itemizedlist> + + <para>Dopo aver elaborato questo file, &man.vinum.8; produce il seguente + output:</para> + + <programlisting> &prompt.root; vinum -> <command>create config1</command> + Configuration summary + Drives: 1 (4 configured) + Volumes: 1 (4 configured) + Plexes: 1 (8 configured) + Subdisks: 1 (16 configured) + + D a State: up Device /dev/da3h Avail: 2061/2573 MB (80%) + + V myvol State: up Plexes: 1 Size: 512 MB + + P myvol.p0 C State: up Subdisks: 1 Size: 512 MB + + S myvol.p0.s0 State: up PO: 0 B Size: 512 MB</programlisting> + + <para>Questo output mostra il formato di elenco breve di &man.vinum.8;, + che è rappresentato graficamente nella + <xref linkend="vinum-simple-vol">.</para> + + <para> + <figure id="vinum-simple-vol"> + <title>Un semplice volume Vinum</title> + + <graphic fileref="vinum/vinum-simple-vol"> + </figure> + </para> + + <para>Questa figura e quelle che seguono rappresentano un volume + contenente dei plex che a loro volta contengono dei sottodischi. + In questo semplice esempio il volume contiene un plex e il plex + contiene un sottodisco.</para> + + <para>Questo particolare volume non ha specifici vantaggi su una + convenzionale partizione di disco. Contiene un singolo plex, quindi non + è ridondante. Il plex contiene un solo sottodisco, quindi non + c'è differenza nell'immagazzinamento dei dati. Le sezioni + seguenti mostrano vari metodi di configurazione più + interessanti.</para> + </sect2> + + <sect2> + <title>Aumentare la resistenza alle rotture: il mirroring</title> + + <para>Il mirroring può aumentare, in un volume, la resistenza alle + rotture. Quando si definisce un volume in mirroring è importante + assicurarsi che i sottodischi di ogni plex siano su dischi differenti, + in modo che la rottura di un drive non blocchi entrambi i plex. La + seguente configurazione mostra un volume in mirroring:</para> + + <programlisting> drive b device /dev/da4h + volume mirror + plex org concat + sd length 512m drive a + plex org concat + sd length 512m drive b</programlisting> + + <para>In questo esempio non è necessario specificare nuovamente la + definizione del drive<emphasis>a</emphasis>, dato che Vinum mantiene + traccia di tutti gli oggetti nel suo database di configurazione. Dopo + aver elaborato questa definizione, la configurazione appare + così:</para> + + + <programlisting> Drives: 2 (4 configured) + Volumes: 2 (4 configured) + Plexes: 3 (8 configured) + Subdisks: 3 (16 configured) + + D a State: up Device /dev/da3h Avail: 1549/2573 MB (60%) + D b State: up Device /dev/da4h Avail: 2061/2573 MB (80%) + + V myvol State: up Plexes: 1 Size: 512 MB + V mirror State: up Plexes: 2 Size: 512 MB + + P myvol.p0 C State: up Subdisks: 1 Size: 512 MB + P mirror.p0 C State: up Subdisks: 1 Size: 512 MB + P mirror.p1 C State: initializing Subdisks: 1 Size: 512 MB + + S myvol.p0.s0 State: up PO: 0 B Size: 512 MB + S mirror.p0.s0 State: up PO: 0 B Size: 512 MB + S mirror.p1.s0 State: empty PO: 0 B Size: 512 MB</programlisting> + + <para><xref linkend="vinum-mirrored-vol"> mostra la struttura + graficamente.</para> + + <para> + <figure id="vinum-mirrored-vol"> + <title>Un volume Vinum in mirroring</title> + + <graphic fileref="vinum/vinum-mirrored-vol"> + </figure> + </para> + + <para>In questo esempio ogni plex contiene l'intero spazio di + indirizzamento di 512 MB. Come nel precedente esempio ogni plex + contiene un solo sottodisco.</para> + </sect2> + + <sect2> + <title>Ottimizzazione delle prestazioni</title> + + <para>Il volume in mirroring dell'esempio precedente è più + resistente alle rotture di un volume non in mirroring, ma le sue + prestazioni sono inferiori: ogni scrittura sul volume richiede una + scrittura su ognuno dei drive, utilizzando quindi una maggior frazione + della banda passante totale dei dischi. Considerazioni sulle + prestazioni portano ad un differente approccio: al posto del mirroring, + i dati vengono posti su più dischi possibile utilizzando lo + striping. La seguente configruazione mostra un volume con un plex in + striping su quattro dischi:</para> + + <programlisting> drive c device /dev/da5h + drive d device /dev/da6h + volume stripe + plex org striped 512k + sd length 128m drive a + sd length 128m drive b + sd length 128m drive c + sd length 128m drive d</programlisting> + + <para>Come prima non è necessario definire i drive che Vinum + già conosce. Dopo aver elaborato queste definizioni la + configurazione appare così:</para> + + <programlisting> Drives: 4 (4 configured) + Volumes: 3 (4 configured) + Plexes: 4 (8 configured) + Subdisks: 7 (16 configured) + + D a State: up Device /dev/da3h Avail: 1421/2573 MB (55%) + D b State: up Device /dev/da4h Avail: 1933/2573 MB (75%) + D c State: up Device /dev/da5h Avail: 2445/2573 MB (95%) + D d State: up Device /dev/da6h Avail: 2445/2573 MB (95%) + + V myvol State: up Plexes: 1 Size: 512 MB + V mirror State: up Plexes: 2 Size: 512 MB + V striped State: up Plexes: 1 Size: 512 MB + + P myvol.p0 C State: up Subdisks: 1 Size: 512 MB + P mirror.p0 C State: up Subdisks: 1 Size: 512 MB + P mirror.p1 C State: initializing Subdisks: 1 Size: 512 MB + P striped.p1 State: up Subdisks: 1 Size: 512 MB + + S myvol.p0.s0 State: up PO: 0 B Size: 512 MB + S mirror.p0.s0 State: up PO: 0 B Size: 512 MB + S mirror.p1.s0 State: empty PO: 0 B Size: 512 MB + S striped.p0.s0 State: up PO: 0 B Size: 128 MB + S striped.p0.s1 State: up PO: 512 kB Size: 128 MB + S striped.p0.s2 State: up PO: 1024 kB Size: 128 MB + S striped.p0.s3 State: up PO: 1536 kB Size: 128 MB</programlisting> + + <para> + <figure id="vinum-striped-vol"> + <title>Un volume Vinum in striping</title> + + <graphic fileref="vinum/vinum-striped-vol"> + </figure> + </para> + + <para>Questo volume è rappresentato nella + <xref linkend="vinum-striped-vol">. L'intensità delle strisce + indica la posizione all'interno dello spazio di inidirizzamento del + plex: le più chiare all'inizio, le più scure alla + fine.</para> + </sect2> + + <sect2> + <title>Resistenza alle rotture e prestazioni</title> + + <para><anchor id="vinum-resilience">Con hardware a sufficenza è + possibile creare volumi con miglioramenti sia nella resistenza alle + rotture che nelle prestazioni, comparati alle normali partizioni + UNIX™. Una tipica configurazione potrebbe essere:</para> + + <programlisting> volume raid10 + plex org striped 512k + sd length 102480k drive a + sd length 102480k drive b + sd length 102480k drive c + sd length 102480k drive d + sd length 102480k drive e + plex org striped 512k + sd length 102480k drive c + sd length 102480k drive d + sd length 102480k drive e + sd length 102480k drive a + sd length 102480k drive b</programlisting> + + <para>I sottodischi del secondo plex sono spostati di due posti rispetto a + quelli del primo plex: questo aumenta le probabilità che le + scritture non utilizzino lo stesso sottodisco anche in caso che un + trasferimento utilizzi entrambi i drive.</para> + + <para>La <xref linkend="vinum-raid10-vol"> rappresenta la struttura di + questo volume.</para> + + <para> + <figure id="vinum-raid10-vol"> + <title>Un volume Vinum in mirroring e striping</title> + + <graphic fileref="vinum/vinum-raid10-vol"> + </figure> + </para> + </sect2> + </sect1> + + <sect1> + <title>Nomenclatura degli oggetti</title> + + <para>Come descritto sopra, Vinum assegna nomi di default a plex e + sottodischi, benché questi possano essere cambiati. Cambiare il + nome di default non è raccomandato: l'esperienza con il VERITAS + volume manager, che permette la nomenclatura arbitraria degli oggetti, ha + mostrato che questa flessibilità non porta vantaggi significativi e + può causare confusione.</para> + + <para>I nomi possono contenere ogni carattere non blank (i caratteri di + spazio, tabulazione, cambio riga) ma è consigliato limitarsi a + lettere, cifre e il carattere di underscore (il carattere di + sottolineatura). I nomi di volumi, plex e sottodischi possono essere + lunghi fino a 64 caratteri, i nomi di drive invece hanno un massimo di 32 + caratteri.</para> + + <indexterm><primary>/dev/vinum</primary></indexterm> + + <para>I nomi assegnati agli oggetti Vinum sono nella gerarchia + <filename>/dev/vinum</filename>. + La configurazione di Vinum mostrata sopra creerebbe i seguenti + dispositivi:</para> + + <itemizedlist> + <listitem> + <para>I dispositivi di controllo + <devicename>/dev/vinum/control</devicename> e + <devicename>/dev/vinum/controld</devicename>, utilizzati + rispettivamente da &man.vinum.8; e dal demone Vinum.</para> + </listitem> + + <listitem> + <para>Voci di dispositivi a blocchi e a caratteri per ogni volume. + Questi sono i principali dispositivi utilizzati da Vinum. I + dispositivi a blocchi hanno il nome dei relativi volumi, quelli a + caratteri, seguendo la tradizione BSD, hanno una lettera + <emphasis>r</emphasis> all'inizio del nome. Quindi la configurazione + vista sopra genererebbe i dispositivi a blocchi + <devicename>/dev/vinum/myvol</devicename>, + <devicename>/dev/vinum/mirror</devicename>, + <devicename>/dev/vinum/striped</devicename>, + <devicename>/dev/vinum/raid5</devicename> e + <devicename>/dev/vinum/raid10</devicename>, e i dispositivi a + caratteri <devicename>/dev/vinum/rmyvol</devicename>, + <devicename>/dev/vinum/rmirror</devicename>, + <devicename>/dev/vinum/rstriped</devicename>, + <devicename>/dev/vinum/rraid5</devicename> e + <devicename>/dev/vinum/rraid10</devicename>. + In questo c'è un ovvio problema: è possibile avere due + volumi chiamati <emphasis>r</emphasis> e <emphasis>rr</emphasis> che + avrebbero un conflitto nel creare il nodo + <devicename>/dev/vinum/rr</devicename>: sarebbe il dispositivo a + caratteri per il volume <emphasis>r</emphasis> o il dispositivo a + blocchi per il volume <emphasis>rr</emphasis>? Attualmente Vinum non + si interessa di questo conflitto: il volume definito per primo prende + il nome.</para> + </listitem> + + <listitem> + <para>Una directory <devicename>/dev/vinum/drive</devicename> con voci + per ogni disco. Queste voci sono in effetti dei collegamenti simbolici + ai rispettivi nodi di disco.</para> + </listitem> + + <listitem> + <para>Una directory <filename>/dev/vinum/volume</filename> con voci per + ogni volume. Contiene sottodirectory per ogni plex, che a loro volta + contengono sottodirectory per ogni sottodisco.</para> + </listitem> + + <listitem> + <para>Le directory <devicename>/dev/vinum/plex</devicename>, + <devicename>/dev/vinum/sd</devicename> e + <devicename>/dev/vinum/rsd</devicename> contengono i dispositivi a + blocchi per ogni plex, dispositivo a blocchi e dispositivo a caratteri + per ogni sottodisco rispettivamente.</para> + </listitem> + </itemizedlist> + + <para>Ad esempio, considera il seguente file di configurazione:</para> + + <programlisting> drive drive1 device /dev/sd1h + drive drive2 device /dev/sd2h + drive drive3 device /dev/sd3h + drive drive4 device /dev/sd4h + volume s64 setupstate + plex org striped 64k + sd length 100m drive drive1 + sd length 100m drive drive2 + sd length 100m drive drive3 + sd length 100m drive drive4</programlisting> + + <para>Dopo aver elaborato questo file, &man.vinum.8; crea la seguente + struttura in <filename>/dev/vinum</filename>:</para> + + <programlisting> brwx------ 1 root wheel 25, 0x40000001 Apr 13 16:46 Control + brwx------ 1 root wheel 25, 0x40000002 Apr 13 16:46 control + brwx------ 1 root wheel 25, 0x40000000 Apr 13 16:46 controld + drwxr-xr-x 2 root wheel 512 Apr 13 16:46 drive + drwxr-xr-x 2 root wheel 512 Apr 13 16:46 plex + crwxr-xr-- 1 root wheel 91, 2 Apr 13 16:46 rs64 + drwxr-xr-x 2 root wheel 512 Apr 13 16:46 rsd + drwxr-xr-x 2 root wheel 512 Apr 13 16:46 rvol + brwxr-xr-- 1 root wheel 25, 2 Apr 13 16:46 s64 + drwxr-xr-x 2 root wheel 512 Apr 13 16:46 sd + drwxr-xr-x 3 root wheel 512 Apr 13 16:46 vol + + /dev/vinum/drive: + total 0 + lrwxr-xr-x 1 root wheel 9 Apr 13 16:46 drive1 -> /dev/sd1h + lrwxr-xr-x 1 root wheel 9 Apr 13 16:46 drive2 -> /dev/sd2h + lrwxr-xr-x 1 root wheel 9 Apr 13 16:46 drive3 -> /dev/sd3h + lrwxr-xr-x 1 root wheel 9 Apr 13 16:46 drive4 -> /dev/sd4h + + /dev/vinum/plex: + total 0 + brwxr-xr-- 1 root wheel 25, 0x10000002 Apr 13 16:46 s64.p0 + + /dev/vinum/rsd: + total 0 + crwxr-xr-- 1 root wheel 91, 0x20000002 Apr 13 16:46 s64.p0.s0 + crwxr-xr-- 1 root wheel 91, 0x20100002 Apr 13 16:46 s64.p0.s1 + crwxr-xr-- 1 root wheel 91, 0x20200002 Apr 13 16:46 s64.p0.s2 + crwxr-xr-- 1 root wheel 91, 0x20300002 Apr 13 16:46 s64.p0.s3 + + /dev/vinum/rvol: + total 0 + crwxr-xr-- 1 root wheel 91, 2 Apr 13 16:46 s64 + + /dev/vinum/sd: + total 0 + brwxr-xr-- 1 root wheel 25, 0x20000002 Apr 13 16:46 s64.p0.s0 + brwxr-xr-- 1 root wheel 25, 0x20100002 Apr 13 16:46 s64.p0.s1 + brwxr-xr-- 1 root wheel 25, 0x20200002 Apr 13 16:46 s64.p0.s2 + brwxr-xr-- 1 root wheel 25, 0x20300002 Apr 13 16:46 s64.p0.s3 + + /dev/vinum/vol: + total 1 + brwxr-xr-- 1 root wheel 25, 2 Apr 13 16:46 s64 + drwxr-xr-x 3 root wheel 512 Apr 13 16:46 s64.plex + + /dev/vinum/vol/s64.plex: + total 1 + brwxr-xr-- 1 root wheel 25, 0x10000002 Apr 13 16:46 s64.p0 + drwxr-xr-x 2 root wheel 512 Apr 13 16:46 s64.p0.sd + + /dev/vinum/vol/s64.plex/s64.p0.sd: + total 0 + brwxr-xr-- 1 root wheel 25, 0x20000002 Apr 13 16:46 s64.p0.s0 + brwxr-xr-- 1 root wheel 25, 0x20100002 Apr 13 16:46 s64.p0.s1 + brwxr-xr-- 1 root wheel 25, 0x20200002 Apr 13 16:46 s64.p0.s2 + brwxr-xr-- 1 root wheel 25, 0x20300002 Apr 13 16:46 s64.p0.s3</programlisting> + + <para>Benché sia raccomandato non allocare nomi specifici a plex e + sottodischi, i drive di Vinum devono avere un nome. Questo permette di + spostare un disco in una differente locazione e continuare a riconoscerlo + automaticamente. I nomi di drive possono essere lunghi fino a 32 + caratteri.</para> + + <sect2> + <title>Creare i filesystem</title> + + <para>I volumi appaiono al sistema identici ai dischi, con un'eccezione. + Differentemente dai dischi UNIX™, Vinum non partiziona i volumi, + che quindi non contengono una tabella delle partizioni. Questo ha reso + necessario modificare alcuni programmi di utilità del disco, tra + cui <command>newfs</command>, che prcedentemente cercava di interpretare + l'ultima lettera di un volume Vinum come un identificatore di + partizione. Ad esempio un disco potrebbe avere un nome come + <devicename>/dev/wd0a</devicename> o <devicename>/dev/da2h</devicename>. + Questi nomi rappresentano la prima partizione + (<devicename>a</devicename>) del primo (0) disco IDE + (<devicename>wd</devicename>) e l'ottava partizione + (<devicename>h</devicename>) del terzo (2) disco SCSI + (<devicename>da</devicename>), rispettivamente. Al contrario un volume + Vinum potrebbe essere chiamato + <devicename>/dev/vinum/concat</devicename>, un nome che non ha alcuna + relazione con nomi di partizione.</para> + + <para>Normalmente &man.newfs.8; interpreta il nome del disco e si lamenta + se non riesce a comprenderlo. Per esempio:</para> + + <screen>&prompt.root; <userinput>newfs /dev/vinum/concat</userinput> +newfs: /dev/vinum/concat: can't figure out file system partition</screen> + + <para>Per poter creare un filesystem su questo volume usa &man.newfs.8; + con l'opzione <command>-v</command>:</para> + + <screen>&prompt.root; <userinput>newfs -v /dev/vinum/concat</userinput></screen> + </sect2> + </sect1> + + <sect1 id="vinum-config"> + <title>Configurare Vinum</title> + + <para>Il kernel <filename>GENERIC</filename> non contiene Vinum. + È possibile creare un kernel speciale che lo contenga, ma questo + non è raccomandato: il metodo standard per lanciare Vinum è + come modulo del kernel (<acronym>kld</acronym>). Non è neanche + necessario usare &man.kldload.8; per Vinum: quando lanci &man.vinum.8; il + programma controlla se il modulo è stato caricato e, in caso non + sia caricato, lo carica automaticamente.</para> + + <sect2> + <title>Avvio</title> + + <para>Vinum immagazzina le informazioni sulla configurazione dei dischi + essenzialmente nella stessa forma dei file di configurazione. Quando + legge il database di configurazione Vinum riconosce un numero di + parole chiave che non sono permesse nei file di configurazione, ad + esempio un file di configurazione del disco potrebbe contenere il + seguente testo:</para> + + <programlisting>volume myvol state up +volume bigraid state down +plex name myvol.p0 state up org concat vol myvol +plex name myvol.p1 state up org concat vol myvol +plex name myvol.p2 state init org striped 512b vol myvol +plex name bigraid.p0 state initializing org raid5 512b vol bigraid +sd name myvol.p0.s0 drive a plex myvol.p0 state up len 1048576b driveoffset 265b plexoffset 0b +sd name myvol.p0.s1 drive b plex myvol.p0 state up len 1048576b driveoffset 265b plexoffset 1048576b +sd name myvol.p1.s0 drive c plex myvol.p1 state up len 1048576b driveoffset 265b plexoffset 0b +sd name myvol.p1.s1 drive d plex myvol.p1 state up len 1048576b driveoffset 265b plexoffset 1048576b +sd name myvol.p2.s0 drive a plex myvol.p2 state init len 524288b driveoffset 1048841b plexoffset 0b +sd name myvol.p2.s1 drive b plex myvol.p2 state init len 524288b driveoffset 1048841b plexoffset 524288b +sd name myvol.p2.s2 drive c plex myvol.p2 state init len 524288b driveoffset 1048841b plexoffset 1048576b +sd name myvol.p2.s3 drive d plex myvol.p2 state init len 524288b driveoffset 1048841b plexoffset 1572864b +sd name bigraid.p0.s0 drive a plex bigraid.p0 state initializing len 4194304b driveoff set 1573129b plexoffset 0b +sd name bigraid.p0.s1 drive b plex bigraid.p0 state initializing len 4194304b driveoff set 1573129b plexoffset 4194304b +sd name bigraid.p0.s2 drive c plex bigraid.p0 state initializing len 4194304b driveoff set 1573129b plexoffset 8388608b +sd name bigraid.p0.s3 drive d plex bigraid.p0 state initializing len 4194304b driveoff set 1573129b plexoffset 12582912b +sd name bigraid.p0.s4 drive e plex bigraid.p0 state initializing len 4194304b driveoff set 1573129b plexoffset 16777216b</programlisting> + + <para>Le ovvie differenze sono qua la presenza di informazioni esplicite + sulle locazioni e sulla nomenclatura (entrambe permesse, ma scoraggiate, + all'utente) e le informazioni sugli stati (che non sono disponibili + all'utente). Vinum non immagazzina informazioni sui drive tra le + informazioni della configurazione: trova i drive scandendo le partizioni + dei dischi configurati alla ricerca di un'etichetta Vinum. Questo + permette a Vinum di identificare i drive correttamente anche se gli + è stato assegnato un differente codice identificativo di drive + UNIX™.</para> + + <sect3> + <title>Avvio automatico</title> + + <para>Per poter lanciare Vinum automaticamente all'avvio del sistema + assicuratevi che le seguenti linee siano nel vostro + <filename>/etc/rc.conf</filename>:</para> + + <programlisting>start_vinum="YES" # set to YES to start vinum</programlisting> + + <para>Se non hai un file <filename>/etc/rc.conf</filename>, creane uno + con questo contenuto. Questo ordinerà al sistema di caricare + il Vinum <acronym>kld</acronym> all'avvio, inizializzando ogni oggetto + menzionato nella configurazione. Questo viene fatto prima del mount + dei filesystem quindi è possibile fare automaticamente + &man.fsck.8; e mount dei filesystem su volumi Vinum.</para> + + <para>Quando esegui Vinum con il comando <command>vinum start</command> + Vinum legge il database di configurazione da uno dei drive Vinum. In + circostanze normali ogni drive contiene una copia identica del + database di configurazione quindi non conta da quale disco viene + letto. Dopo un crash, tuttavia, Vinum deve determinare quale drive + è stato aggiornato più recentemente e leggere la + configurazione da questo drive. Quindi aggiorna la configurazione, se + necessario, sui drive progressivamente più vecchi.</para> + </sect3> + </sect2> + </sect1> +</chapter> + +<!-- + Local Variables: + mode: sgml + sgml-declaration: "../chapter.decl" + sgml-indent-data: t + sgml-omittag: nil + sgml-always-quote-attributes: t + sgml-parent-document: ("../book.sgml" "part" "chapter") + End: +--> diff --git a/it_IT.ISO8859-15/books/handbook/vinum/vinum-concat.pic b/it_IT.ISO8859-15/books/handbook/vinum/vinum-concat.pic new file mode 100644 index 0000000000..ab31b2a7ea --- /dev/null +++ b/it_IT.ISO8859-15/books/handbook/vinum/vinum-concat.pic @@ -0,0 +1,78 @@ +.\" $FreeBSD$ +.PS +h = .3i +dh = .02i +dw = .8i +down +[ + [ + boxht = h; boxwid = dw +.\" +.\" ORIG: box invis "\f(CW0\fP" +.\" box invis "\f(CW1\fP" +.\" box invis "\f(CW2\fP" +.\" box invis "\f(CW3\fP" +.\" box invis "\f(CW4\fP" +.\" box invis "\f(CW5\fP" + +.\" A: box dotted at ORIG.e+(.4,0) ht h "\f(CW0\fP" +move right 1i; down + A: box dotted ht h "\f(CW0\fP" + B: box dotted ht h "\f(CW1\fP" + C: box dotted ht h "\f(CW2\fP" + D: box dotted ht h "\f(CW3\fP" + E: box dotted ht h "\f(CW4\fP" + F: box dotted ht h "\f(CW5\fP" + box ht h * 6 at C.s + + A1: box dotted at A+(dw*1.6,0) ht h "\f(CW6\fP" + B1: box dotted ht h "\f(CW7\fP" + C1: box dotted ht h "\f(CW8\fP" + D1: box dotted ht h "\f(CW9\fP" + box ht h * 4 at C1.n + + A2: box dotted at A1+(dw*1.6,0) "\f(CW10\fP" + F2: box dotted ht h "\f(CW11\fP" + box ht h * 2 at A2.s + + A3: box dotted at A2+(dw*1.6,0) ht h "\f(CW12\fP" + B3: box dotted ht h "\f(CW13\fP" + C3: box dotted ht h "\f(CW14\fP" + D3: box dotted ht h "\f(CW15\fP" + E3: box dotted ht h "\f(CW16\fP" + F3: box dotted ht h "\f(CW17\fP" + box ht h * 6 at C3.s + +.\" "Offset" at ORIG.n+(0,.2i) +"Disk 1" at A.n+(0,.2i) +"Disk 2" at A1.n+(0,.2i) +"Disk 3" at A2.n+(0,.2i) +"Disk 4" at A3.n+(0,.2i) + + +.\" arrow from A.e+(-.07,-.04) to B.e+(-.07,.02) +.\" arrow from B.e+(-.07,-.04) to C.e+(-.07,.02) +.\" arrow from C.e+(-.07,-.04) to D.e+(-.07,.02) +.\" arrow from D.e+(-.07,-.04) to E.e+(-.07,.02) +.\" arrow from E.e+(-.07,-.04) to F.e+(-.07,.02) + +.\" line from F.e right .1i; arc radius .1i; line to A1.w-(.3i,.1i); arc cw radius .1i; arrow to A1.w + +.\" arrow from A1.e+(-.07,-.04) to B1.e+(-.07,.02) +.\" arrow from B1.e+(-.07,-.04) to C1.e+(-.07,.02) +.\" arrow from C1.e+(-.07,-.04) to D1.e+(-.07,.02) + +.\" line from D1.e right .1i; arc radius .1i; line to A2.w-(.3i,.1i); arc cw radius .1i; arrow to A2.w + +.\" arrow from A2.e+(-.07,-.04) to F2.e+(-.07,.02) + +.\" line from F2.e right .1i; arc radius .1i; line to A3.w-(.3i,.1i); arc cw radius .1i; arrow to A3.w + +.\" arrow from A3.e+(-.07,-.04) to B3.e+(-.07,.02) +.\" arrow from B3.e+(-.07,-.04) to C3.e+(-.07,.02) +.\" arrow from C3.e+(-.07,-.04) to D3.e+(-.07,.02) +.\" arrow from D3.e+(-.07,-.04) to E3.e+(-.07,.02) +.\" arrow from E3.e+(-.07,-.04) to F3.e+(-.07,.02) + ] +] +.PE diff --git a/it_IT.ISO8859-15/books/handbook/vinum/vinum-mirrored-vol.pic b/it_IT.ISO8859-15/books/handbook/vinum/vinum-mirrored-vol.pic new file mode 100644 index 0000000000..cc997a0b8d --- /dev/null +++ b/it_IT.ISO8859-15/books/handbook/vinum/vinum-mirrored-vol.pic @@ -0,0 +1,25 @@ +.\" $FreeBSD$ +.PS +move right 1i +T: ellipse ht .3i wid 4i + line from T.e down 4i + line from T.w down 4i +B: arc rad 10i to T.e+(0,-4) + +P1: S1: box ht 3i wid 1i "Subdisk 1" above "\s-2\f(CWmirror.p0.s0\fP\s0" below with .c at T.c+(-1,-2) + "Plex 1" at S1.s+(0,-.3) + move down .17i; "\s-2\f(CWmirror.p0\fP\s0" +P2: S3: box ht 3i wid 1i "Subdisk 2" above "\s-2\f(CWmirror.p1.s0\fP\s0" below with .c at T.c+(1,-2) + "Plex 2" at S3.s+(0,-.3) + move down .17i; "\s-2\f(CWmirror.p1\fP\s0" + +"\s-2\&0 MB\s0" at S1.ne+(.5,0) +"\s-2\&512 MB\s0" at S1.se+(.5,0) + +A: arrow from S1.ne+(.1,0) to S1.se+(.1,0) + arrow from S1.se+(.1,0) to S1.ne+(.1,0) + + "\s-2volume" ljust at A.n+(.1,-.63) + "address" ljust at A.n+(.1,-.8) + "space\s0" ljust at A.n+(.1,-.97) +.PE diff --git a/it_IT.ISO8859-15/books/handbook/vinum/vinum-raid10-vol.pic b/it_IT.ISO8859-15/books/handbook/vinum/vinum-raid10-vol.pic new file mode 100644 index 0000000000..cfe25cd077 --- /dev/null +++ b/it_IT.ISO8859-15/books/handbook/vinum/vinum-raid10-vol.pic @@ -0,0 +1,108 @@ +.\" $FreeBSD$ +.PS +move right 1i +T: ellipse ht .3i wid 4i + line from T.e down 4i + line from T.w down 4i +B: arc rad 10i to T.e+(0,-4) + +P1: S1: box ht .6i wid 1i with .c at T.w+(1.3,-0.825) + S2: box ht .6i wid 1i + S3: box ht .6i wid 1i + S4: box ht .6i wid 1i + S5: box ht .6i wid 1i + "Plex 1" at S5.s+(0,-.3) + move down .17i; "\s-2\f(CWstriped.p0\fP\s0" + +P1: S11: box ht .6i wid 1i with .c at T.w+(3.3,-0.825) + S12: box ht .6i wid 1i + S13: box ht .6i wid 1i + S14: box ht .6i wid 1i + S15: box ht .6i wid 1i + "Plex 2" at S15.s+(0,-.3) + move down .17i; "\s-2\f(CWstriped.p1\fP\s0" + + "\f(CW\s-2.p0.s0\fP\s0" at S1.w-(.2,0) rjust + "\f(CW\s-2.p0.s1\fP\s0" at S2.w-(.2,0) rjust + "\f(CW\s-2.p0.s2\fP\s0" at S3.w-(.2,0) rjust + "\f(CW\s-2.p0.s3\fP\s0" at S4.w-(.2,0) rjust + "\f(CW\s-2.p0.s4\fP\s0" at S5.w-(.2,0) rjust + + "\f(CW\s-2.p1.s0\fP\s0" at S11.w-(.2,0) rjust + "\f(CW\s-2.p1.s1\fP\s0" at S12.w-(.2,0) rjust + "\f(CW\s-2.p1.s2\fP\s0" at S13.w-(.2,0) rjust + "\f(CW\s-2.p1.s3\fP\s0" at S14.w-(.2,0) rjust + "\f(CW\s-2.p1.s4\fP\s0" at S15.w-(.2,0) rjust + +.\" Stripes + box filled .1 wid 1i ht .1i at S1.n+(0, -.05) + box filled .2 wid 1i ht .1i at S1.n+(0, -.15) + box filled .3 wid 1i ht .1i at S1.n+(0, -.25) + box filled .4 wid 1i ht .1i at S1.n+(0, -.35) + box filled .5 wid 1i ht .1i at S1.n+(0, -.45) + box filled .6 wid 1i ht .1i at S1.n+(0, -.55) + + box filled .1 wid 1i ht .1i at S2.n+(0, -.05) + box filled .2 wid 1i ht .1i at S2.n+(0, -.15) + box filled .3 wid 1i ht .1i at S2.n+(0, -.25) + box filled .4 wid 1i ht .1i at S2.n+(0, -.35) + box filled .5 wid 1i ht .1i at S2.n+(0, -.45) + box filled .6 wid 1i ht .1i at S2.n+(0, -.55) + + box filled .1 wid 1i ht .1i at S3.n+(0, -.05) + box filled .2 wid 1i ht .1i at S3.n+(0, -.15) + box filled .3 wid 1i ht .1i at S3.n+(0, -.25) + box filled .4 wid 1i ht .1i at S3.n+(0, -.35) + box filled .5 wid 1i ht .1i at S3.n+(0, -.45) + box filled .6 wid 1i ht .1i at S3.n+(0, -.55) + + box filled .1 wid 1i ht .1i at S4.n+(0, -.05) + box filled .2 wid 1i ht .1i at S4.n+(0, -.15) + box filled .3 wid 1i ht .1i at S4.n+(0, -.25) + box filled .4 wid 1i ht .1i at S4.n+(0, -.35) + box filled .5 wid 1i ht .1i at S4.n+(0, -.45) + box filled .6 wid 1i ht .1i at S4.n+(0, -.55) + + box filled .1 wid 1i ht .1i at S5.n+(0, -.05) + box filled .2 wid 1i ht .1i at S5.n+(0, -.15) + box filled .3 wid 1i ht .1i at S5.n+(0, -.25) + box filled .4 wid 1i ht .1i at S5.n+(0, -.35) + box filled .5 wid 1i ht .1i at S5.n+(0, -.45) + box filled .6 wid 1i ht .1i at S5.n+(0, -.55) + + box filled .1 wid 1i ht .1i at S11.n+(0, -.05) + box filled .2 wid 1i ht .1i at S11.n+(0, -.15) + box filled .3 wid 1i ht .1i at S11.n+(0, -.25) + box filled .4 wid 1i ht .1i at S11.n+(0, -.35) + box filled .5 wid 1i ht .1i at S11.n+(0, -.45) + box filled .6 wid 1i ht .1i at S11.n+(0, -.55) + + box filled .1 wid 1i ht .1i at S12.n+(0, -.05) + box filled .2 wid 1i ht .1i at S12.n+(0, -.15) + box filled .3 wid 1i ht .1i at S12.n+(0, -.25) + box filled .4 wid 1i ht .1i at S12.n+(0, -.35) + box filled .5 wid 1i ht .1i at S12.n+(0, -.45) + box filled .6 wid 1i ht .1i at S12.n+(0, -.55) + + box filled .1 wid 1i ht .1i at S13.n+(0, -.05) + box filled .2 wid 1i ht .1i at S13.n+(0, -.15) + box filled .3 wid 1i ht .1i at S13.n+(0, -.25) + box filled .4 wid 1i ht .1i at S13.n+(0, -.35) + box filled .5 wid 1i ht .1i at S13.n+(0, -.45) + box filled .6 wid 1i ht .1i at S13.n+(0, -.55) + + box filled .1 wid 1i ht .1i at S14.n+(0, -.05) + box filled .2 wid 1i ht .1i at S14.n+(0, -.15) + box filled .3 wid 1i ht .1i at S14.n+(0, -.25) + box filled .4 wid 1i ht .1i at S14.n+(0, -.35) + box filled .5 wid 1i ht .1i at S14.n+(0, -.45) + box filled .6 wid 1i ht .1i at S14.n+(0, -.55) + + box filled .1 wid 1i ht .1i at S15.n+(0, -.05) + box filled .2 wid 1i ht .1i at S15.n+(0, -.15) + box filled .3 wid 1i ht .1i at S15.n+(0, -.25) + box filled .4 wid 1i ht .1i at S15.n+(0, -.35) + box filled .5 wid 1i ht .1i at S15.n+(0, -.45) + box filled .6 wid 1i ht .1i at S15.n+(0, -.55) + +.PE diff --git a/it_IT.ISO8859-15/books/handbook/vinum/vinum-raid5-org.pic b/it_IT.ISO8859-15/books/handbook/vinum/vinum-raid5-org.pic new file mode 100644 index 0000000000..8852975aec --- /dev/null +++ b/it_IT.ISO8859-15/books/handbook/vinum/vinum-raid5-org.pic @@ -0,0 +1,84 @@ +.\" $FreeBSD$ +.PS +h = .3i +dh = .02i +dw = .8i +down +[ + [ + boxht = h; boxwid = dw + +.\" ORIG: box invis "\f(CW0\fP" +.\" box invis "\f(CW1\fP" +.\" box invis "\f(CW2\fP" +.\" box invis "\f(CW3\fP" +.\" box invis "\f(CW4\fP" +.\" box invis "\f(CW5\fP" +.\" +.\" +move right 1i; down + A: box ht h "\f(CW0\fP" + B: box ht h "\f(CW3\fP" + C: box ht h "\f(CW6\fP" + D: box ht h "Parity" filled 0.2 + E: box ht h "\f(CW12\fP" + F: box ht h "\f(CW15\fP" + + A1: box at A+(dw*1.6,0) ht h "\f(CW1\fP" + B1: box ht h "\f(CW4\fP" + C1: box ht h "Parity" filled 0.2 + D1: box ht h "\f(CW9\fP" + E1: box ht h "\f(CW13\fP" + F1: box ht h "\f(CW16\fP" + + A2: box at A1+(dw*1.6,0) ht h "\f(CW2\fP" + B2: box ht h "Parity" filled 0.2 + C2: box ht h "\f(CW7\fP" + D2: box ht h "\f(CW10\fP" + E2: box ht h "\f(CW14\fP" + F2: box ht h "Parity" filled 0.2 + + A3: box at A2+(dw*1.6,0) ht h "Parity" filled 0.2 + B3: box ht h "\f(CW5\fP" + C3: box ht h "\f(CW8\fP" + D3: box ht h "\f(CW11\fP" + E3: box ht h "Parity" filled 0.2 + F3: box ht h "\f(CW17\fP" + +.\" "Offset" at ORIG.n+(0,.2i) +"Disk 1" at A.n+(0,.2i) +"Disk 2" at A1.n+(0,.2i) +"Disk 3" at A2.n+(0,.2i) +"Disk 4" at A3.n+(0,.2i) + +.\" arrow from A.e to A1.w +.\" arrow from B.e to B1.w +.\" arrow from C.e to C1.w +.\" arrow from D.e to D1.w +.\" arrow from E.e to E1.w +.\" arrow from F.e to F1.w +.\" +.\" arrow from A1.e to A2.w +.\" arrow from B1.e to B2.w +.\" arrow from C1.e to C2.w +.\" arrow from D1.e to D2.w +.\" arrow from E1.e to E2.w +.\" arrow from F1.e to F2.w +.\" +.\" arrow from A2.e to A3.w +.\" arrow from B2.e to B3.w +.\" arrow from C2.e to C3.w +.\" arrow from D2.e to D3.w +.\" arrow from E2.e to E3.w +.\" arrow from F2.e to F3.w +.\" +.\" arrow right .2i from A3.e +.\" arrow right .2i from B3.e +.\" arrow right .2i from C3.e +.\" arrow right .2i from D3.e +.\" arrow right .2i from E3.e +.\" arrow right .2i from F3.e + ] +] +.PE +.Figure-heading "RAID-5 organization" diff --git a/it_IT.ISO8859-15/books/handbook/vinum/vinum-simple-vol.pic b/it_IT.ISO8859-15/books/handbook/vinum/vinum-simple-vol.pic new file mode 100644 index 0000000000..59385c7149 --- /dev/null +++ b/it_IT.ISO8859-15/books/handbook/vinum/vinum-simple-vol.pic @@ -0,0 +1,21 @@ +.\" $FreeBSD$ +.PS +move right 1i +T: ellipse ht .3i wid 4i + line from T.e down 4i + line from T.w down 4i +B: arc rad 10i to T.e+(0,-4) + +P1: S1: box ht 3i wid 1i "Subdisk" above "\s-2\f(CWmyvol.p0.s0\fP\s0" below with .c at T.w+(2,-1.95) + "Plex 1" at S1.s+(0,-.3) + move down .17i; "\s-2\f(CWmyvol.p0\fP\s0" + +"\s-2\&0 MB\s0" at S1.ne+(.5,0) +"\s-2\&512 MB\s0" at S1.se+(.5,0) + +A: arrow from S1.ne+(.1,0) to S1.se+(.1,0) + + "\s-2volume" ljust at A.n+(.1,-.63) + "address" ljust at A.n+(.1,-.8) + "space\s0" ljust at A.n+(.1,-.97) +.PE diff --git a/it_IT.ISO8859-15/books/handbook/vinum/vinum-striped-vol.pic b/it_IT.ISO8859-15/books/handbook/vinum/vinum-striped-vol.pic new file mode 100644 index 0000000000..0014a576a3 --- /dev/null +++ b/it_IT.ISO8859-15/books/handbook/vinum/vinum-striped-vol.pic @@ -0,0 +1,62 @@ +.\" $FreeBSD$ +.PS +move right 1i +T: ellipse ht .3i wid 4i + line from T.e down 4i + line from T.w down 4i +B: arc rad 10i to T.e+(0,-4) + +P1: S1: box ht .7i wid 1i with .c at T.w+(2,-0.825) + S2: box ht .7i wid 1i + S3: box ht .7i wid 1i + S4: box ht .7i wid 1i + "Plex 1" at S4.s+(0,-.3) + move down .17i; "\s-2\f(CWstriped.p0\fP\s0" + +"\s-2\&0 MB\s0" at S1.ne+(.5,0) +"\s-2\&512 MB\s0" at S4.se+(.5,0) + +A: arrow from S1.ne+(.1,0) to S4.se+(.1,0) + + "\s-2volume" ljust at A.n+(.1,-.63) + "address" ljust at A.n+(.1,-.8) + "space\s0" ljust at A.n+(.1,-.97) + "\f(CW\s-2striped.p0.s0\fP\s0" at S1.w-(.2,0) rjust + "\f(CW\s-2striped.p0.s1\fP\s0" at S2.w-(.2,0) rjust + "\f(CW\s-2striped.p0.s2\fP\s0" at S3.w-(.2,0) rjust + "\f(CW\s-2striped.p0.s3\fP\s0" at S4.w-(.2,0) rjust + +.\" Stripes + box filled .1 wid 1i ht .1i at S1.n+(0, -.05) + box filled .2 wid 1i ht .1i at S1.n+(0, -.15) + box filled .3 wid 1i ht .1i at S1.n+(0, -.25) + box filled .4 wid 1i ht .1i at S1.n+(0, -.35) + box filled .5 wid 1i ht .1i at S1.n+(0, -.45) + box filled .6 wid 1i ht .1i at S1.n+(0, -.55) + box filled .7 wid 1i ht .1i at S1.n+(0, -.65) + + box filled .1 wid 1i ht .1i at S2.n+(0, -.05) + box filled .2 wid 1i ht .1i at S2.n+(0, -.15) + box filled .3 wid 1i ht .1i at S2.n+(0, -.25) + box filled .4 wid 1i ht .1i at S2.n+(0, -.35) + box filled .5 wid 1i ht .1i at S2.n+(0, -.45) + box filled .6 wid 1i ht .1i at S2.n+(0, -.55) + box filled .7 wid 1i ht .1i at S2.n+(0, -.65) + + box filled .1 wid 1i ht .1i at S3.n+(0, -.05) + box filled .2 wid 1i ht .1i at S3.n+(0, -.15) + box filled .3 wid 1i ht .1i at S3.n+(0, -.25) + box filled .4 wid 1i ht .1i at S3.n+(0, -.35) + box filled .5 wid 1i ht .1i at S3.n+(0, -.45) + box filled .6 wid 1i ht .1i at S3.n+(0, -.55) + box filled .7 wid 1i ht .1i at S3.n+(0, -.65) + + box filled .1 wid 1i ht .1i at S4.n+(0, -.05) + box filled .2 wid 1i ht .1i at S4.n+(0, -.15) + box filled .3 wid 1i ht .1i at S4.n+(0, -.25) + box filled .4 wid 1i ht .1i at S4.n+(0, -.35) + box filled .5 wid 1i ht .1i at S4.n+(0, -.45) + box filled .6 wid 1i ht .1i at S4.n+(0, -.55) + box filled .7 wid 1i ht .1i at S4.n+(0, -.65) + +.PE diff --git a/it_IT.ISO8859-15/books/handbook/vinum/vinum-striped.pic b/it_IT.ISO8859-15/books/handbook/vinum/vinum-striped.pic new file mode 100644 index 0000000000..7563fabfee --- /dev/null +++ b/it_IT.ISO8859-15/books/handbook/vinum/vinum-striped.pic @@ -0,0 +1,84 @@ +.\" $FreeBSD$ +.PS +h = .3i +dh = .02i +dw = .8i +down +[ + [ + boxht = h; boxwid = dw + +.\" ORIG: box invis "\f(CW0\fP" +.\" box invis "\f(CW1\fP" +.\" box invis "\f(CW2\fP" +.\" box invis "\f(CW3\fP" +.\" box invis "\f(CW4\fP" +.\" box invis "\f(CW5\fP" +.\" +.\" A: box at ORIG.e+(.4,0) ht h "\f(CW0\fP" +move right 1i; down + A: box ht h "\f(CW0\fP" + B: box ht h "\f(CW4\fP" + C: box ht h "\f(CW8\fP" + D: box ht h "\f(CW12\fP" + E: box ht h "\f(CW16\fP" + F: box ht h "\f(CW20\fP" + + A1: box at A+(dw*1.6,0) ht h "\f(CW1\fP" + B1: box ht h "\f(CW5\fP" + C1: box ht h "\f(CW9\fP" + D1: box ht h "\f(CW13\fP" + E1: box ht h "\f(CW17\fP" + F1: box ht h "\f(CW21\fP" + + A2: box at A1+(dw*1.6,0) ht h "\f(CW2\fP" + B2: box ht h "\f(CW6\fP" + C2: box ht h "\f(CW10\fP" + D2: box ht h "\f(CW14\fP" + E2: box ht h "\f(CW18\fP" + F2: box ht h "\f(CW22\fP" + + A3: box at A2+(dw*1.6,0) ht h "\f(CW3\fP" + B3: box ht h "\f(CW7\fP" + C3: box ht h "\f(CW11\fP" + D3: box ht h "\f(CW15\fP" + E3: box ht h "\f(CW19\fP" + F3: box ht h "\f(CW23\fP" + +.\" "Offset" at ORIG.n+(0,.2i) +"Disk 1" at A.n+(0,.2i) +"Disk 2" at A1.n+(0,.2i) +"Disk 3" at A2.n+(0,.2i) +"Disk 4" at A3.n+(0,.2i) + +.\" +.\" arrow from A.e to A1.w +.\" arrow from B.e to B1.w +.\" arrow from C.e to C1.w +.\" arrow from D.e to D1.w +.\" arrow from E.e to E1.w +.\" arrow from F.e to F1.w +.\" +.\" arrow from A1.e to A2.w +.\" arrow from B1.e to B2.w +.\" arrow from C1.e to C2.w +.\" arrow from D1.e to D2.w +.\" arrow from E1.e to E2.w +.\" arrow from F1.e to F2.w +.\" +.\" arrow from A2.e to A3.w +.\" arrow from B2.e to B3.w +.\" arrow from C2.e to C3.w +.\" arrow from D2.e to D3.w +.\" arrow from E2.e to E3.w +.\" arrow from F2.e to F3.w +.\" +.\" arrow right .2i from A3.e +.\" arrow right .2i from B3.e +.\" arrow right .2i from C3.e +.\" arrow right .2i from D3.e +.\" arrow right .2i from E3.e +.\" arrow right .2i from F3.e + ] +] +.PE |