diff --git a/it_IT.ISO8859-15/books/handbook/advanced-networking/chapter.sgml b/it_IT.ISO8859-15/books/handbook/advanced-networking/chapter.sgml index 8127f3d81c..57ad4e4af7 100644 --- a/it_IT.ISO8859-15/books/handbook/advanced-networking/chapter.sgml +++ b/it_IT.ISO8859-15/books/handbook/advanced-networking/chapter.sgml @@ -1,104 +1,110 @@ Networking Avanzato - + Sinossi Traduzione in corso Gateways and Routes Traduzione in corso + + Wireless + + Traduzione in corso + + Bridging Traduzione in corso NFS Traduzione in corso Diskless Operation Traduzione in corso ISDN Traduzione in corso NIS/YP Traduzione in corso DHCP Traduzione in corso DNS Traduzione in corso NTP Traduzione in corso Network Address Translation Traduzione in corso inetd <quote>Super-Server</quote> Traduzione in corso Parallel Line IP (PLIP) Traduzione in corso IPv6 Traduzione in corso diff --git a/it_IT.ISO8859-15/books/handbook/advanced-networking/isdn-bus.eps b/it_IT.ISO8859-15/books/handbook/advanced-networking/isdn-bus.eps deleted file mode 100644 index cdb717f681..0000000000 --- a/it_IT.ISO8859-15/books/handbook/advanced-networking/isdn-bus.eps +++ /dev/null @@ -1,147 +0,0 @@ -%!PS-Adobe-3.0 EPSF-3.0 -%%BoundingBox: 99 -130 355 100 -%%Creator: G. Adam Stanislav -%%EndComments -%%BeginProlog -%%EndProlog - -%%BeginSetup -/t { - rlineto - -5 0 rlineto - 0 -7 rlineto - -6 0 rlineto - 0 20 rlineto - 6 0 rlineto - 0 -7 rlineto - 5 0 rlineto -} bind def - -/ldent { - 0 5 rlineto - -7 0 rlineto - 0 -5 rlineto -} bind def - -/rdent { - 0 5 rlineto - 11 0 rlineto - 0 -5 rlineto -} bind def - -/router { - moveto - 0 12 t - 0 12 rlineto - 70 0 rlineto - 0 -30 rlineto - -52.5 0 rlineto - ldent - closepath - 2 28 rmoveto - 0 -26 rlineto - 6.5 0 rlineto - rdent - 48.5 0 rlineto - 0 26 rlineto - closepath - fill -} bind def - -/box { - moveto - 0 17 t - 0 17 rlineto - 100 0 rlineto - 0 -40 rlineto - closepath - 2 38 rmoveto - 0 -36 rlineto - 96 0 rlineto - 0 36 rlineto - closepath - fill -} bind def - -/plug { - moveto - 0 7 rlineto - 6 0 rlineto - 0 -7 rlineto - closepath - fill -} bind def - -/internet { - moveto - 0 210 rlineto - 110 0 rlineto - 0 -210 rlineto - closepath - gsave - 5 7 div setcolor - fill - grestore - stroke -} bind def -%%EndSetup - -% draw the coax cable -3 7 div setcolor -114 -94 moveto --4 0 rlineto -0 164 rlineto -4 0 rlineto -closepath -fill - -% draw some terminating resistors -newpath -112 -110 2 0 360 arc fill -newpath -112 85 2 0 360 arc fill -0 setcolor - -120 60 router -131 57.5 plug - -120 0 box -120 -60 box -120 -120 box - -gsave -[5 3] 0 setdash -235 -120 internet -grestore - -% Connect router to the Internet -232 40.5 plug -133 58 moveto -0 -15 rlineto -102 0 rlineto -0 2 rlineto --100 0 rlineto -0 13 rlineto -closepath -fill - -/Helvetica-bold findfont dup 10 scalefont setfont - -140 74 moveto (Router) show -140 -42 moveto (Windows 95) show -130.5 -102 moveto (Sun Workstation) show -138 18 moveto (FreeBSD Box) show -161 47.5 moveto (ISDN BRI Line) show - -25 scalefont setfont - -265 51 moveto (The) show -245 27 moveto (Internet) show -1 setcolor -264 53 moveto (The) show -244 29 moveto (Internet) show - -%%Trailer -showpage -%%EOF - diff --git a/it_IT.ISO8859-15/books/handbook/advanced-networking/isdn-twisted-pair.eps b/it_IT.ISO8859-15/books/handbook/advanced-networking/isdn-twisted-pair.eps deleted file mode 100644 index 5021a84aab..0000000000 --- a/it_IT.ISO8859-15/books/handbook/advanced-networking/isdn-twisted-pair.eps +++ /dev/null @@ -1,242 +0,0 @@ -%!PS-Adobe-3.0 EPSF-3.0 -%%BoundingBox: -10 -70 355 100 -%%Creator: G. Adam Stanislav -%%EndComments -%%BeginProlog -%%EndProlog - -%%BeginSetup -/ldent { - 0 5 rlineto - -7 0 rlineto - 0 -5 rlineto -} bind def - -/uldent { - 0 -5 rlineto - 7 0 rlineto - 0 5 rlineto -} bind def - -/rdent { - 0 5 rlineto - 11 0 rlineto - 0 -5 rlineto -} bind def - -/urdent { - 0 -5 rlineto - -11 0 rlineto - 0 5 rlineto -} bind def - -/hub { - moveto - 0 30 rlineto - 84 0 rlineto - 0 -30 rlineto - -10.5 0 rlineto - ldent - -7 0 rlineto - ldent - -7 0 rlineto - ldent - -7 0 rlineto - ldent - -7 0 rlineto - ldent - closepath - 2 28 rmoveto - 0 -26 rlineto - 6.5 0 rlineto - rdent - 3 0 rlineto - rdent - 3 0 rlineto - rdent - 3 0 rlineto - rdent - 3 0 rlineto - rdent - 6.5 0 rlineto - 0 26 rlineto - closepath - fill -} bind def - -/router { - moveto - 0 30 rlineto - 70 0 rlineto - 0 -30 rlineto - -10.5 0 rlineto - ldent - -35 0 rlineto - ldent - closepath - 2 28 rmoveto - 0 -26 rlineto - 6.5 0 rlineto - rdent - 31 0 rlineto - rdent - 6.5 0 rlineto - 0 26 rlineto - closepath - fill -} bind def - -/box { - moveto - 0 40 rlineto - 10.5 0 rlineto - uldent - 82.5 0 rlineto - 0 -40 rlineto - closepath - 2 38 rmoveto - 0 -36 rlineto - 96 0 rlineto - 0 36 rlineto - -78.5 0 rlineto - urdent - closepath - fill -} bind def - -/plug { - moveto - 0 7 rlineto - 6 0 rlineto - 0 -7 rlineto - closepath - fill -} bind def - -/internet { - moveto - 0 90 rlineto - 110 0 rlineto - 0 -90 rlineto - closepath - gsave - 5 7 div setcolor - fill - grestore - stroke -} bind def -%%EndSetup - -0 60 hub -11 57.5 plug -25 57.5 plug -39 57.5 plug -53 57.5 plug -67 57.5 plug - -100 60 router -111 57.5 plug -153 57.5 plug - -0 -60 box -11 -24.5 plug -% Connect box 1 with hub -13 -20 moveto -0 78 rlineto -2 0 rlineto -0 -78 rlineto -closepath -fill - -120 0 box -% Connect box 2 with hub -131 35.5 plug -133 40 moveto -0 6 rlineto --78 0 rlineto -0 12 rlineto -2 0 rlineto -0 -10 rlineto -78 0 rlineto -0 -8 rlineto -closepath -fill - -120 -60 box -131 -24.5 plug -% Connect with hub -133 -20 moveto -0 6 rlineto --106 0 rlineto -0 72 rlineto -2 0 rlineto -0 -70 rlineto -106 0 rlineto -0 -8 rlineto -closepath -fill - -240 -60 box -251 -24.5 plug -% Connect with hub -253 -20 moveto -0 14 rlineto --212 0 rlineto -0 68 rlineto -2 0 rlineto -0 -66 rlineto -212 0 rlineto -0 -16 rlineto -closepath -fill - -% Connect hub with router -69 58 moveto -0 -6 rlineto -46 0 rlineto -0 6 rlineto --2 0 rlineto -0 -4 rlineto --42 0 rlineto -0 4 rlineto -closepath -fill - -gsave -[5 3] 0 setdash -235 0 internet -grestore - -% Connect router to the Internet -232 40.5 plug -155 58 moveto -0 -15 rlineto -80 0 rlineto -0 2 rlineto --78 0 rlineto -0 13 rlineto -closepath -fill - -/Helvetica-bold findfont dup 10 scalefont setfont - -32 74 moveto (Hub) show -120 74 moveto (Router) show -17 -42 moveto (Novell Server) show -140 -42 moveto (Windows 95) show -250.5 -42 moveto (Sun Workstation) show -138 18 moveto (FreeBSD Box) show -161 47.5 moveto (ISDN BRI Line) show - -25 scalefont setfont - -265 51 moveto (The) show -245 27 moveto (Internet) show -1 setcolor -264 53 moveto (The) show -244 29 moveto (Internet) show - -%%Trailer -showpage -%%EOF - diff --git a/it_IT.ISO8859-15/books/handbook/advanced-networking/natd.eps b/it_IT.ISO8859-15/books/handbook/advanced-networking/natd.eps deleted file mode 100644 index 5677ace420..0000000000 --- a/it_IT.ISO8859-15/books/handbook/advanced-networking/natd.eps +++ /dev/null @@ -1,228 +0,0 @@ -%!PS-Adobe-3.0 EPSF-3.0 -%%BoundingBox: -10 -10 355 100 -%%Creator: G. Adam Stanislav -%%EndComments -%%BeginProlog -%%EndProlog - -%%BeginSetup -/ldent { - 0 5 rlineto - -7 0 rlineto - 0 -5 rlineto -} bind def - -/uldent { - 0 -5 rlineto - 7 0 rlineto - 0 5 rlineto -} bind def - -/rdent { - 0 5 rlineto - 11 0 rlineto - 0 -5 rlineto -} bind def - -/urdent { - 0 -5 rlineto - -11 0 rlineto - 0 5 rlineto -} bind def - -/hub { - moveto - 0 30 rlineto - 70 0 rlineto - 0 -30 rlineto - -10.5 0 rlineto - ldent - -7 0 rlineto - ldent - -7 0 rlineto - ldent - -7 0 rlineto - ldent - closepath - 2 28 rmoveto - 0 -26 rlineto - 6.5 0 rlineto - rdent - 3 0 rlineto - rdent - 3 0 rlineto - rdent - 3 0 rlineto - rdent - 6.5 0 rlineto - 0 26 rlineto - closepath - fill -} bind def - -/router { - moveto - 0 30 rlineto - 70 0 rlineto - 0 -30 rlineto - -10.5 0 rlineto - ldent - -35 0 rlineto - ldent - closepath - 2 28 rmoveto - 0 -26 rlineto - 6.5 0 rlineto - rdent - 31 0 rlineto - rdent - 6.5 0 rlineto - 0 26 rlineto - closepath - fill -} bind def - -/box1 { - moveto - 0 40 rlineto - 10.5 0 rlineto - uldent - 82.5 0 rlineto - 0 -40 rlineto - closepath - 2 38 rmoveto - 0 -36 rlineto - 96 0 rlineto - 0 36 rlineto - -78.5 0 rlineto - urdent - closepath - fill -} bind def - -/box2 { - moveto - 0 40 rlineto - 10.5 0 rlineto - uldent - 65 0 rlineto - uldent - 10.5 0 rlineto - 0 -40 rlineto - closepath - 2 38 rmoveto - 0 -36 rlineto - 96 0 rlineto - 0 36 rlineto - -6.5 0 rlineto - urdent - -61 0 rlineto - urdent - closepath - fill -} bind def - -/plug { - moveto - 0 7 rlineto - 6 0 rlineto - 0 -7 rlineto - closepath - fill -} bind def - -/internet { - moveto - 0 90 rlineto - 110 0 rlineto - 0 -90 rlineto - closepath - gsave - 5 7 div setcolor - fill - grestore - stroke -} bind def -%%EndSetup - -0 60 hub -11 57.5 plug -25 57.5 plug - -135 60 router -146 57.5 plug -188 57.5 plug - -0 0 box1 -11 35.5 plug - -13 40 moveto -0 18 rlineto -2 0 rlineto -0 -18 rlineto -closepath -fill - -120 0 box2 -% Connect box2 with hub -131 35.5 plug -133 40 moveto -0 8 rlineto --106 0 rlineto -0 10 rlineto -2 0 rlineto -0 -8 rlineto -106 0 rlineto -0 -10 rlineto -closepath -fill - -% Connect box2 with router -203 35.5 plug -205 40 moveto -0 8 rlineto --57 0 rlineto -0 10 rlineto -2 0 rlineto -0 -8 rlineto -57 0 rlineto -0 -10 rlineto -closepath -fill - -gsave -[5 3] 0 setdash -235 0 internet -grestore - -% Connect router to the Internet -232 49.5 plug -190 58 moveto -0 -6 rlineto -45 0 rlineto -0 2 rlineto --43 0 rlineto -0 4 rlineto -closepath -fill - -/Helvetica-bold findfont dup 10 scalefont setfont - -25 74 moveto (Hub) show -155 74 moveto (Router) show -28 18 moveto (Client A) show -149 23 moveto (Client B) show -123.5 10 moveto ((FreeBSD Gateway)) show - -25 scalefont setfont - -265 51 moveto (The) show -245 27 moveto (Internet) show -1 setcolor -264 53 moveto (The) show -244 29 moveto (Internet) show - -%%Trailer -showpage -%%EOF - diff --git a/it_IT.ISO8859-15/books/handbook/vinum/chapter.sgml b/it_IT.ISO8859-15/books/handbook/vinum/chapter.sgml index 565fa5f521..d03f38a4b7 100644 --- a/it_IT.ISO8859-15/books/handbook/vinum/chapter.sgml +++ b/it_IT.ISO8859-15/books/handbook/vinum/chapter.sgml @@ -1,1035 +1,1035 @@ Il Gestore di Volumi Vinum Sinossi Qualunque siano i dischi che hai, ci saranno sempre delle limitazioni: Potrebbero essere troppo piccoli. Potrebbero essere troppo lenti. Potrebbero essere troppo inaffidabili. Greg Lehey Originariamente scritto da Dischi troppo piccoli Vinum Volumi Gestore Vinum è un Volume Manager, 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. 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. - + Colli di bottiglia nell'accesso 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. + 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. 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 + 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. 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. 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. + 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. La tradizionale e ovvia soluzione a questo collo di bottiglia è più assi: 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. 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. concatenazione Vinum Vinum concatenazione 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 concatenazione 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 illustra la sequenza in cui le unità di immagazzinamento sono allocate nell'organizzazione concatenata.
Organizzazione concatenata
striping Vinum Vinum striping RAID livello 0 RAID-0 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 striping (letteralmente "a bande") o RAID-0 RAID Redundant Array of Inexpensive Disks RAID significa Redundant Array of Inexpensive Disks (insieme ridondante di dischi non costosi) e offre varie forme di tolleranza ai problemi. Nel caso del RAID-0 il termine è leggermente fuorviante: in effetti non dà alcuna ridondanza. . 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 illustra la sequenza in cui i blocchi di dati sono allocati nell'organizzazione in striping.
Organizzazione in striping
- + Integrità dei dati 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. mirroring Vinum Vinum mirroring RAID livello 1 RAID-1 Il metodo tradizionale per affrontare questo problema si chiama mirroring (letteralmente "specchiatura") e consiste nel tenere due copie dei dati su hardware fisici differenti. Con l'avvento dei livelli RAID questa tecnica è stata chiamata RAID di livello 1 o RAID-1. 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. Il mirroring ha due problemi: Il prezzo. Richiede il doppio dello spazio di immagazzinamento delle soluzioni non ridondanti. 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. Vinum striping con parità RAID livello 5 RAID-5 Una soluzione alternativa è la parità, implementata nel RAID di livello 2, 3, 4 e 5. Di questi, il RAID-5 è 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 + altri blocchi. Per come è implementato in Vinum, ogni blocco RAID-5 è simile a un blocco in striping, con la differenza che implementa il RAID-5 includendo un blocco di parità per ogni banda. Come richiesto dal RAID-5 la locazione di questi blocchi di parità cambia da ogni banda alla successiva. I numeri nei blocchi dati indicano il numero dei blocchi relativi.
Organizzazione RAID-5
Comparandolo al mirroring, il RAID-5 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.
Oggetti Vinum Per risolvere questi problemi Vinum implementa una categoria di oggetti a quattro livelli: L'oggetto più visibile è il disco virtuale, chiamato volume. I volumi hanno essenzialmente le stesse proprietà di un disco UNIX™, benché ci sia qualche differenza minore. Non hanno limiti di dimensione. I volumi sono composti da plex, 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. 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™ (drive, ovvero dischi) in aree contigue chiamate subdisks (sottodischi), che solo a loro volta utilizzati come elementi per costruire i plex. I sottodischi risiedono su drive 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. La sezione seguente descrive come gli oggetti sopra discussi possano dare le funzionalità richieste. Considerazioni sulle dimensioni dei volumi 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. Immagazzinamento ridondante dei dati 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. 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. Considerazioni sulle prestazioni Vinum implementa sia la concatenazione che lo striping al livello di plex: Un plex concatenato usea lo spazio di indirizzamento di ogni sottodisco a turno. Un plex in striping 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. Quale organizzazione per i plex? La versione di Vinum distribuita con FreeBSD &rel.current; implementa due tipi di plex: 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 CPU di un plex in striping, benché la differenza in carico di CPU non sia misurabile. D'altro canto sono più suscettibili agli hot spot (letteralmente zona calda): casi in cui un disco è molto attivo mentre gli altri sono fermi. Il più grande vantaggio dei plex in striping (RAID-0) è 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 + (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. La riassume vantaggi e svantaggi di ogni tipo di organizzazione dei plex. Organizzazione dei Plex Vinum Tipo di plex Sottodischi minimi Sottodischi aggiungibili Dimensioni forzatamente uguali Applicazione concatenato 1 no Immagazzinamento di grandi moli di dati con la massima flessibilità e prestazioni moderate striping 2 no Alte prestazioni in casi di accessi altamente concorrenti
Alcuni esempi Vinum mantiene un database della configurazione 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 device, ovvero dispositivo) 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. Il file di configurazione Il file di configurazione descrive singoli oggetti Vinum. La definizione di un semplice volume potrebbe essere: drive a device /dev/da3h volume myvol plex org concat sd length 512m drive a Questo file descrive quattro oggetti Vinum: La linea drive descrive la partizione del disco (drive) e la sua locazione relativa all'hardware sottostante. Gli viene assegnato il nome simbolico a. Questa separazione dei nomi simbolici dai nomi di dispositivo permette di muovere i dischi da una locazione ad un'altra senza confusione. La linea volume descrive un volume. L'unico attributo richiesto è il nome, in questo caso myvol. La linea plex definisce un plex. L'unico parametro richiesto è il tipo di organizzazione, in questo caso concat. Non è necessario un nome: il sistema genera un nome automaticamente a partire dal nome del volume, aggiungendo un suffisso .px, dove x indica il numero del plex nel volume. Il plex verrà quindi chiamato myvol.p0. La linea sd 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 .sx, dove x indica il numero del sottdisco nel plex, quindi Vinum darà a questo sottodisco il nome di myvol.p0.s0. Dopo aver elaborato questo file, &man.vinum.8; produce il seguente output: &prompt.root; vinum -> create config1 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 Questo output mostra il formato di elenco breve di &man.vinum.8;, che è rappresentato graficamente nella .
Un semplice volume Vinum
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. 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.
Aumentare la resistenza alle rotture: il mirroring 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: drive b device /dev/da4h volume mirror plex org concat sd length 512m drive a plex org concat sd length 512m drive b In questo esempio non è necessario specificare nuovamente la definizione del drivea, dato che Vinum mantiene traccia di tutti gli oggetti nel suo database di configurazione. Dopo aver elaborato questa definizione, la configurazione appare così: 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 mostra la struttura graficamente.
Un volume Vinum in mirroring
In questo esempio ogni plex contiene l'intero spazio di - indirizzamento di 512 MB. Come nel precedente esempio ogni plex + indirizzamento di 512 MB. Come nel precedente esempio ogni plex contiene un solo sottodisco.
Ottimizzazione delle prestazioni 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: 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 Come prima non è necessario definire i drive che Vinum già conosce. Dopo aver elaborato queste definizioni la configurazione appare così: 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
Un volume Vinum in striping
Questo volume è rappresentato nella . 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.
Resistenza alle rotture e prestazioni 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: 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 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. La rappresenta la struttura di questo volume.
Un volume Vinum in mirroring e striping
- + Nomenclatura degli oggetti 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. 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. /dev/vinum I nomi assegnati agli oggetti Vinum sono nella gerarchia /dev/vinum. La configurazione di Vinum mostrata sopra creerebbe i seguenti dispositivi: I dispositivi di controllo /dev/vinum/control e /dev/vinum/controld, utilizzati rispettivamente da &man.vinum.8; e dal demone Vinum. 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 r all'inizio del nome. Quindi la configurazione vista sopra genererebbe i dispositivi a blocchi /dev/vinum/myvol, /dev/vinum/mirror, /dev/vinum/striped, /dev/vinum/raid5 e /dev/vinum/raid10, e i dispositivi a caratteri /dev/vinum/rmyvol, /dev/vinum/rmirror, /dev/vinum/rstriped, /dev/vinum/rraid5 e /dev/vinum/rraid10. In questo c'è un ovvio problema: è possibile avere due volumi chiamati r e rr che avrebbero un conflitto nel creare il nodo /dev/vinum/rr: sarebbe il dispositivo a caratteri per il volume r o il dispositivo a blocchi per il volume rr? Attualmente Vinum non si interessa di questo conflitto: il volume definito per primo prende il nome. Una directory /dev/vinum/drive con voci per ogni disco. Queste voci sono in effetti dei collegamenti simbolici ai rispettivi nodi di disco. Una directory /dev/vinum/volume con voci per ogni volume. Contiene sottodirectory per ogni plex, che a loro volta contengono sottodirectory per ogni sottodisco. Le directory /dev/vinum/plex, /dev/vinum/sd e /dev/vinum/rsd contengono i dispositivi a blocchi per ogni plex, dispositivo a blocchi e dispositivo a caratteri per ogni sottodisco rispettivamente. Ad esempio, considera il seguente file di configurazione: 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 Dopo aver elaborato questo file, &man.vinum.8; crea la seguente struttura in /dev/vinum: 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 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. - Creare i filesystem + Creare i file system 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 newfs, 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 - /dev/wd0a o /dev/da2h. + cui &man.newfs.8;, 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 + /dev/ad0a o /dev/da2h. Questi nomi rappresentano la prima partizione (a) del primo (0) disco IDE - (wd) e l'ottava partizione + (ad) e l'ottava partizione (h) del terzo (2) disco SCSI (da), rispettivamente. Al contrario un volume Vinum potrebbe essere chiamato /dev/vinum/concat, un nome che non ha alcuna relazione con nomi di partizione. Normalmente &man.newfs.8; interpreta il nome del disco e si lamenta se non riesce a comprenderlo. Per esempio: &prompt.root; newfs /dev/vinum/concat newfs: /dev/vinum/concat: can't figure out file system partition - Per poter creare un filesystem su questo volume usa &man.newfs.8; - con l'opzione -v: + Per poter creare un file system su questo volume usa &man.newfs.8; + con l'opzione : &prompt.root; newfs -v /dev/vinum/concat Configurare Vinum Il kernel GENERIC 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 (kld). 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. Avvio 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: 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 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™. Avvio automatico Per poter lanciare Vinum automaticamente all'avvio del sistema assicuratevi che le seguenti linee siano nel vostro /etc/rc.conf: start_vinum="YES" # set to YES to start vinum Se non hai un file /etc/rc.conf, creane uno con questo contenuto. Questo ordinerà al sistema di caricare il Vinum kld 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. + dei file system quindi è possibile fare automaticamente + &man.fsck.8; e mount dei file system su volumi Vinum. Quando esegui Vinum con il comando vinum start 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.
diff --git a/it_IT.ISO8859-15/books/handbook/vinum/vinum-concat.pic b/it_IT.ISO8859-15/books/handbook/vinum/vinum-concat.pic deleted file mode 100644 index ab31b2a7ea..0000000000 --- a/it_IT.ISO8859-15/books/handbook/vinum/vinum-concat.pic +++ /dev/null @@ -1,78 +0,0 @@ -.\" $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 deleted file mode 100644 index cc997a0b8d..0000000000 --- a/it_IT.ISO8859-15/books/handbook/vinum/vinum-mirrored-vol.pic +++ /dev/null @@ -1,25 +0,0 @@ -.\" $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 deleted file mode 100644 index cfe25cd077..0000000000 --- a/it_IT.ISO8859-15/books/handbook/vinum/vinum-raid10-vol.pic +++ /dev/null @@ -1,108 +0,0 @@ -.\" $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 deleted file mode 100644 index 8852975aec..0000000000 --- a/it_IT.ISO8859-15/books/handbook/vinum/vinum-raid5-org.pic +++ /dev/null @@ -1,84 +0,0 @@ -.\" $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 deleted file mode 100644 index 59385c7149..0000000000 --- a/it_IT.ISO8859-15/books/handbook/vinum/vinum-simple-vol.pic +++ /dev/null @@ -1,21 +0,0 @@ -.\" $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 deleted file mode 100644 index 0014a576a3..0000000000 --- a/it_IT.ISO8859-15/books/handbook/vinum/vinum-striped-vol.pic +++ /dev/null @@ -1,62 +0,0 @@ -.\" $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 deleted file mode 100644 index 7563fabfee..0000000000 --- a/it_IT.ISO8859-15/books/handbook/vinum/vinum-striped.pic +++ /dev/null @@ -1,84 +0,0 @@ -.\" $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