Manuale di FreeBSD
Indietro | Capitolo 20 Il Gestore di Volumi Vinum | Avanti

# 20.7 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. 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.

## 20.7.1 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(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

> Nota: 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

Indietro | Partenza | Avanti
Alcuni Esempi | Risali | Configurare Vinum

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>.