Além dos discos que você insere fisicamente ao seu computador: disqutetes, CDs, discos rígidos, ou qual seja; outras formas de discos são entendidas pelo FreeBSD - os discos virtuais.
Insto inclui sistemas de arquivos em rede como o Network File System e o Coda, sistemas de arquivos baseados em memória e sistema de arquivos em imagens.
Dependendo da versão de FreeBSD que você usa, você terá que utilizar ferramentas diferentes para criar e utilizar sistemas de arquivos em imagens e baseados em memória.
Nota: O usuários do FreeBSD 4.X utilizarãoo MAKEDEV(8) para criar os dispositivos necessários. O FreeBSD 5.0 e versões superiores utilizarão o devfs(5) para alocar os nós de dispositivos de maneira transparente para o usuário.
O utilitário vnconfig(8) configura e disponibiliza o vnode que é um dispositivo para pseudo-discos. Um vnode é uma representação de um arquivo e é o foco para a atividade com os arquivos. Isto significa que o vnconfig(8) utiliza arquivos arquivos para criar e operar sistemas de arquivos. Uma das utilizações possíveis seria a montagem de arquivos de imagens de CDs ou de disquetes.
Para utilizar o vnconfig(8) você precisa do suporte vn(4), para adicioná-lo ao seu arquivo de configuração de kernel coloque:
pseudo-device vn
Para montar uma imagem de um sistema de arquivos:
Exemplo 12-3. Utilizando o vnconfig para montar uma imagem de um sistema de arquivos no FreeBSD 4.X
# vnconfig vn0 diskimage # mount /dev/vn0c /mnt
Para criar uma nova imagem de sistema de arquivos com o vnconfig(8):
Exemplo 12-4. Criando uma nova imagem de disco com o vnconfig
# dd if=/dev/zero of=newimage bs=1k count=5k 5120+0 records in 5120+0 records out # vnconfig -s labels -c vn0 newimage # disklabel -r -w vn0 auto # newfs vn0c Warning: 2048 sector(s) in last cylinder unallocated /dev/vn0c: 10240 sectors in 3 cylinders of 1 tracks, 4096 sectors 5.0MB in 1 cyl groups (16 c/g, 32.00MB/g, 1280 i/g) super-block backups (for fsck -b #) at: 32 # mount /dev/vn0c /mnt # df /mnt Filesystem 1K-blocks Used Avail Capacity Mounted on /dev/vn0c 4927 1 4532 0% /mnt
O utilitário mdconfig(8) é utilizado para configurar e ativar discos em memória, md(4) no FreeBSD 5.X. Para usar o mdconfig(8) você terá que carregar o módulo md(4) ou adicionar o suporte no arquivo de configuração do kernel:
device md
O comando mdconfig(8) suporta três tipos de discos em memória: discos de memória alocados com o malloc(9), discos de memória utilizando um arquivo e espaços de troca. Um possível uso é a montagem de arquivos de imagens de disquetes e CDs.
Para montar um sistema de arquivos existente em um arquivo de imagem:
Exemplo 12-5. Usando o mdconfig para montar um arquivo de imagem de um sistema de arquivos no FreeBSD 5.X
# mdconfig -a -t vnode -f diskimage -u 0 # mount /dev/md0c /mnt
Para criar uma nova imagem de sistema de arquivos com o mdconfig(8):
Exemplo 12-6. Criando um novo disco em arquivo de imagem com o mdconfig
# dd if=/dev/zero of=newimage bs=1k count=5k 5120+0 records in 5120+0 records out # mdconfig -a -t vnode -f newimage -u 0 # disklabel -r -w md0 auto # newfs md0c /dev/md0c: 5.0MB (10240 sectors) block size 16384, fragment size 2048 using 4 cylinder groups of 1.27MB, 81 blks, 256 inodes. super-block backups (for fsck -b #) at: 32, 2624, 5216, 7808 # mount /dev/md0c /mnt # df /mnt Filesystem 1K-blocks Used Avail Capacity Mounted on /dev/md0c 4846 2 4458 0% /mnt
Se você não especificar o número da unidade com a opção -u, o mdconfig(8) utilizará o md(4) para selecionar automaticamente um dispositivo não utilizado. O nome da unidade alocada será impresso na saída padrão como o md4. Para mais detalhes sobre o mdconfig(8) visite a página de manual dele.
Nota: Desde o FreeBSD 5.1-RELEASE, o utilitário bsdlabel(8) substituiu o velho programa disklabel(8). Com o bsdlabel(8) algumas opções e parâmetros obsoletos foram retirados; no exemplo que foi dado a opção -r deveria ser removida. Para mais informações, por favor, visite a página de manual do bsdlabel(8).
O utilitário mdconfig(8) é muito útil, entretanto ele precisa de diversas linhas de comando para criar um arqivo de imagem de um sistema de arquivos. O FreeBSD 5.0 também vem com uma ferramenta chamada mdmfs(8), este programa configura um disco md(4) utilizando o mdconfig(8), e coloca um sistema de arquivos UFS em uso com o newfs(8), e monta-o utilizando o mount(8). Por exemplo, se você quer criar e montar a mesma imagem de sistema de arquivos citada anteriormente, simplesmente digite como segue abaixo:
# dd if=/dev/zero of=newimage bs=1k count=5k 5120+0 records in 5120+0 records in 5120+0 records out # mdmfs -F newimage -s 5m md0 /mnt # df /mnt Filesystem 1K-blocks Used Avail Capacity Mounted on /dev/md0 4846 2 4458 0% /mnt
Se você usar a opção md sem um númnero de unidade, o mdmfs(8) utilizará o md(4) que com suas funcionalidades selecionará automaticamente um dispositivo não utilizado. Para mais detalhes sobre o mdmfs(8), por favor, visitem a página de manual dele.
O controlador md(4) é simples, eficiente o suficiente para criar sistemas de arquivos em memória no FreeBSD 4.X. O malloc(9) é utilizado para alocar memória.
Simplesmente, pegue um sistema de arquivos que você tenha preparado como, por exemplo, o vnconfig(8), e:
Exemplo 12-7. Discos de memória md no FreeBSD 4.X
# dd if=newimage of=/dev/md0 5120+0 records in 5120+0 records out # mount /dev/md0c /mnt # df /mnt Filesystem 1K-blocks Used Avail Capacity Mounted on /dev/md0c 4927 1 4532 0% /mnt
Para mais detalhes, por favor, visitem a página de manual do md(4).
As mesmas ferramentas são utilizadas para os discos baseados em memória e os baseados em arquivos de imagem: mdconfig(8) ou mdmfs(8). O armazenamento para os sistemas de arquivos baseados em memória é alocado com o malloc(9).
Exemplo 12-8. Criando um novo disco baseado em memória com o mdconfig
# mdconfig -a -t malloc -s 5m -u 1 # newfs -U md1 /dev/md1: 5.0MB (10240 sectors) block size 16384, fragment size 2048 using 4 cylinder groups of 1.27MB, 81 blks, 256 inodes. with soft updates super-block backups (for fsck -b #) at: 32, 2624, 5216, 7808 # mount /dev/md1 /mnt # df /mnt Filesystem 1K-blocks Used Avail Capacity Mounted on /dev/md1 4846 2 4458 0% /mnt
Exemplo 12-9. Criando um novo disco baseado em memória com o mdmfs
# mdmfs -M -s 5m md2 /mnt # df /mnt Filesystem 1K-blocks Used Avail Capacity Mounted on /dev/md2 4846 2 4458 0% /mnt
Ao invés de utilizar o sistema de arquivos alocado com o malloc(9) é possível utilizar swap, para isso apenas substitua a opção malloc com swap na linha de comando do mdconfig(8). O utilitário mdmfs(8) por padrão (sem a opção -M) cria um disco baseado em swap. Para mais detalhes, por favor, visitem a página de manual do mdconfig(8) e do mdmfs(8).
Quando um disco baseado em memória ou um baseado em um arquivo de imagem não é utilizado, você deve liberar todos os recursos para o sistema. A primeira coisa a fazer é desmontar o sistema de arquivos, então use o mdconfig(8) para desconectar o disco do sistema e os recursos serão liberados.
Por exemplo, para desconectar e liberar os recursos utilizados pelo /dev/md4, faça:
# mdconfig -d -u 4
É possível listar informações sobre o dispositivo md(4) configurado utilizando o comando mdconfig -l.
Para o FreeBSD 4.X, o vnconfig(8) é utilizado para desconectar os dispositivos. Por exemplo, para desconectar e liberar todos os recursos utilizados pelo /dev/vn4, faça:
# vnconfig -u vn4
Anterior | Principal | Próxima |
Considerações básicas sobre backup | Acima | Snapshots de sistemas de arquivos |
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>.