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. 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.
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 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, 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.
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(8), che precedentemente 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
(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 newfs(8) interpreta il nome del disco e si lamenta se non riesce a comprenderlo. Per esempio:
#
newfs /dev/vinum/concat
newfs: /dev/vinum/concat: can't figure out file system partition
Queste informazioni sono valide solo per versioni di FreeBSD precedenti alla 5.0:
Per poter creare un file system su questo volume usa newfs(8)
con l'opzione -v
:
#
newfs -v /dev/vinum/concat
Questo, ed altri documenti, possono essere scaricati da ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/
Per domande su FreeBSD, leggi la
documentazione prima di contattare
<questions@FreeBSD.org>.
Per domande su questa documentazione, invia una e-mail a
<doc@FreeBSD.org>.