Como descrito assima, Vinum designa nomes padrões para plexes e subdisks, embora você possa sobrescrevê-los. Sobrescrever os nomes padrões, não é recomenado: experiências com o gerenciador de volumes VERITAS, que permite nomes arbitrários para objetos, têm mostrado que essa flexibilidade não trás vantagem significativa e pode causar confusão.
Nomes podem conter qualquer caracter não nulo, mas é recomendado que estes sejam restritos a letras, digitos e caracteres de sublinhado. Os nomes dos volumes, plexes e subdiscos podem ser formados por até 64 caracteres, e o nome dos drives por até 32.
Objetos do Vinum são dispositivos designados na hierarquia /dev/vinum. A configuração descrita acima faria o Vinum a criar os seguintes nós de despositivo:
Os dispositivos de controle /dev/vinum/control e /dev/vinum/controld, os quais são usados por vinum(8) e pelo daemon do Vinum respectivamente.
Entrada de dispositivo de caracter e bloco para cada volume. Esses são os principais dispositivos usados pelo Vinum. Os nomes dos dispoitivos de bloco são o nome do volume, enquanto os de caracter seguem a tradição BSD de preceder a letra r ao nome. Por isso a configurção abaixo incluiria os dispositivos de bloco /dev/vinum/myvol, /dev/vinum/mirror, /dev/vinum/striped, /dev/vinum/raid5 e /dev/vinum/raid10, e os dispositivos de caracter /dev/vinum/rmyvol, /dev/vinum/rmirror, /dev/vinum/rstriped, /dev/vinum/rraid5 e /dev/vinum/rraid10. óbviamente existe um problema aqui: é possível ter dois volumes chamados r e rr, mas ocorreria um conflito criando o nó do dispositivo /dev/vinum/rr: seria um dispositivo de caracter para o volume r ou um dispositivo bloco para o volume rr? Atualmente Vinum não trata este conflito: o primeiro volume definido levará o nome.
Um diretório /dev/vinum/drive com entradas para cada disco. Essas entradas são na verdade links simbólicos para os discos nós correspondentes.
Um diretório /dev/vinum/volume com entradas para cada volume, que contém um subdiretório para cada plex, que por sua vez contém subdiretórios para seus subdiscos.
Os diretórios /dev/vinum/plex, /dev/vinum/sd, e /dev/vinum/rsd, onde contém um nó de dispositivo de bloco para cada plex e um nó de dispositivo de bloco e caracter para cada subdisco, respectivamente.
Por exemplo, considere o seguinte arquivo de configuração:
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
Depois de processar esse arquivo, vinum(8) cria a seguinte estrutura em /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
Apesar de não ser recomendado alocação de nomes específicos para plexes e subdiscos, os discos Vinum devem ser nomeados. Isso torna possível mover um disco para uma outra localidade e ainda sim reconhacê-lo automaticamente. Os nomes dos discos podem conter até 32 caracteres.
Volumes e discos parecem idênticos para o sistema, com uma excessão. Ao contrário de discos UNIX®, Vinum não particiona volumes, assim, não possui uma tabela de partições. Isso exigiu uma mudança em alguns utilitários de discos como newfs(8), que previamente tentava interpretar a última letra de um nome de volume Vinum como um identificador de partições. Por exemplo, uma partição de disco pode ter um nome como /dev/ad0a ou /dev/da2h. Esses nomes representam a primeira partição (a) no primeiro (0) disco IDE (ad) e a oitava partição (h) no terceiro disco SCSI (2) (da), respectivamente. Em contraste, um volume Vinum pode ser chamado de /dev/vinum/concat, um nome que não tem nenhum relacionamento com o nome da partição.
Normalmente, newfs(8) interpreta o nome do disco e reclama se não entendê-lo. Por exemplo:
# newfs /dev/vinum/concat newfs: /dev/vinum/concat: can't figure out file system partition
Nota: O que segue só é valido para as versões de FreeBSD anteriores a 5.0:
Para criar um sistema de arquivos nesse volume, use a opção -v para newfs(8):
# newfs -v /dev/vinum/concat
Este, e outros documentos, podem ser obtidos em ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.
Para perguntas sobre FreeBSD, leia a documentação antes de contatar <questions@FreeBSD.org>.
Para perguntas sobre esta documentação, envie e-mail para <doc@FreeBSD.org>.