3.6. Organização dos Discos

A menor unidade de organização que o FreeBSD usa para encontrar arquivos é o nome do arquivo. Os nomes dos arquivos diferenciam maiúsculas de minúsculas, o que significa que readme.txt e README.TXT são dois arquivos distintos. O FreeBSD não usa a extensão de um arquivo para determinar se é um programa, documento ou alguma outra forma de dados.

Os arquivos são armazenados em diretórios. Um diretório pode não conter arquivos ou pode conter centenas deles. Um diretório também pode conter outros diretórios, permitindo uma hierarquia de diretórios entre si para organizar os dados.

Arquivos e diretórios são referenciados por meio de um nome, seguido por uma barra, /, seguido por qualquer outro nome de diretório que seja necessário. Por exemplo, se o diretório foo contiver um diretório bar que contenha o arquivo readme.txt, o nome completo ou caminho, para o arquivo é foo/bar/readme.txt. Observe que isso é diferente do Windows® que usa \ para separar nomes de arquivos e diretórios. O FreeBSD não usa letras de unidades ou outros nomes de unidades no caminho. Por exemplo, não se deve digitar c:\foo\bar\readme.txt no FreeBSD.

Diretórios e arquivos são armazenados em um sistema de arquivos. Cada sistema de arquivos contém exatamente um diretório no nível superior, chamado de diretório raiz para esse sistema de arquivos. Este diretório raiz pode conter outros diretórios. Um sistema de arquivos é designado como sistema de arquivos raiz ou /. Todos os outros sistemas de arquivos são montados no sistema de arquivos raiz. Não importa quantos discos estejam no sistema FreeBSD, cada diretório parece fazer parte do mesmo disco.

Considere três sistemas de arquivos, chamados A, B e C. Cada sistema de arquivos tem um diretório raiz, que contém dois outros diretórios, chamados A1, A2 (e da mesma forma B1, B2 e C1, C2).

Chame A de sistema de arquivos raiz. Se ls(1) for usado para visualizar o conteúdo deste diretório, ele mostrará dois subdiretórios, A1 e A2. A árvore de diretórios tem esta aparência:

Um sistema de arquivos deve ser montado em um diretório em outro sistema de arquivos. Ao montar o sistema de arquivos B no diretório A1, o diretório raiz de B substitui A1 e os diretórios em B aparecem de acordo:

Todos os arquivos que estão nos diretórios B1 ou B2 podem ser alcançados com o caminho /A1/B1 ou /A1/B2, conforme necessário. Todos os arquivos que estavam em /A1 foram temporariamente ocultados. Eles reaparecerão se B for desmontado de A.

Se B tivesse sido montado em A2, o diagrama ficaria assim:

e os caminhos seriam /A2/B1 e /A2/B2 respectivamente.

Os sistemas de arquivos podem ser montados uns em cima dos outros. Continuando o último exemplo, o sistema de arquivos C pode ser montado no topo do diretório B1 no sistema de arquivos B, levando a esta disposição:

Ou C poderia ser montado diretamente no sistema de arquivos A, sob o diretório A1:

É perfeitamente possível ter um sistema de arquivos raiz grande e não precisar criar nenhum outro. Existem algumas desvantagens nessa abordagem e uma vantagem.

Benefícios de vários sistemas de arquivos
Benefício de um sistema de arquivos único

Os sistemas de arquivos estão contidos em partições. Isto não tem o mesmo significado que o uso comum do termo partição (por exemplo, a partição MS-DOS®), por causa da herança UNIX® do FreeBSD. Cada partição é identificada por uma letra de a até h. Cada partição pode conter apenas um sistema de arquivos, o que significa que os sistemas de arquivos geralmente são descritos por seu ponto de montagem típico na hierarquia do sistema de arquivos ou pela letra da partição em que estão contidos.

O FreeBSD também usa espaço em disco para espaço de swap para fornecer memória virtual. Isso permite que o seu computador se comporte como se tivesse muito mais memória do que realmente tem. Quando o FreeBSD fica sem memória, ele move alguns dos dados que não estão sendo usados atualmente para o espaço de swap, e os move de volta (removendo alguma outra coisa) quando precisa.

Algumas partições possuem certas convenções associadas a elas.

PartiçãoConvenção
aNormalmente contém o sistema de arquivos raiz.
bNormalmente contém espaço de swap.
cNormalmente o mesmo tamanho da slice que a envolve. Isso permite que os programas que precisem trabalhar na slice inteira, como um scanner de bloco defeituoso, trabalhem na partição c. Um sistema de arquivos normalmente não seria criado nessa partição.
dA partição d costumava ter um significado especial associado a ela, mas isso foi descontinuado e d pode funcionar como qualquer partição normal.

Os discos no FreeBSD são divididos em slices, referidas no Windows® como partições, numeradas de 1 a 4. Estas são então divididas em partições, que contêm sistemas de arquivos, e são rotuladas usando letras.

Os números das slices seguem o nome do dispositivo, prefixado com um s, começando em 1. Então da0s1 é a primeira slice na primeira unidade SCSI. Pode haver apenas quatro slices físicas em um disco, mas pode haver slices lógicas dentro de slices físicas do tipo apropriado. Essas slices estendidas são numeradas a partir de 5, então ada0s5 é a primeira slice estendida no primeiro disco SATA. Esses dispositivos são usados por sistemas de arquivos que esperam ocupar uma slice.

Slices, unidades físicas perigosamente dedicadas e outras unidades contêm partições , que são representadas como letras de a até h. Esta letra é adicionada ao nome do dispositivo, então da0a é a partição a na primeira unidade da, que é perigosamente dedicada. A ada1s3e é a quinta partição na terceira slice da segunda unidade de disco SATA.

Finalmente, cada disco no sistema é identificado. Um nome de disco começa com um código que indica o tipo de disco e, em seguida, um número, indicando qual é o disco. Ao contrário das slices, a numeração de discos começa em 0. Códigos usuais são listados em Tabela 3.3, “Nomes de dispositivos de disco”.

Ao se referir a uma partição, inclua o nome do disco, s, o número da slice, em seguida, a letra da partição. Exemplos são mostrados em Exemplo 3.12, “Exemplo de Nomes de Disco, Slice e Partição”.

Exemplo 3.13, “Modelo conceitual de um disco” mostra um modelo conceitual de um layout de disco.

Ao instalar o FreeBSD, configure as slices de disco, crie partições dentro da slice a ser usada para o FreeBSD, crie um sistema de arquivos ou espaço de swap em cada partição e decida onde cada sistema de arquivos será montado.

Tabela 3.3. Nomes de dispositivos de disco
Tipo de driveNome do drive
discos rígidos SATA e IDEada ou ad
Discos rígidos SCSI e dispositivos de armazenamento USBda
drives de CD-ROM SATA e IDEcd ou acd
Unidades SCSI CD-ROMcd
Unidades de disquetefd
Unidades de CD-ROM não-padrão variadasmcd para CD-ROM Mitsumi e scd para dispositivos de CD-ROM Sony
Unidades de fita SCSIsa
Unidades de fita IDEast
Drives RAIDExemplos incluem aacd para Adaptec® AdvancedRAID, mlxd e mlyd para Mylex®, amrd para AMI MegaRAID®, idad para Compaq Smart RAID, twed para 3ware® RAID.

Exemplo 3.12. Exemplo de Nomes de Disco, Slice e Partição
NomeSignificado
ada0s1aA primeira partição (a) na primeira slice (s1) no primeiro disco SATA (ada0).
da1s2eA quinta partição (e) na segunda slice (s2) no segundo disco SCSI (da1).

Exemplo 3.13. Modelo conceitual de um disco

Este diagrama mostra a visão do FreeBSD do primeiro disco SATA conectado ao sistema. Suponha que o disco tenha 250 GB de tamanho e contenha uma slice de 80 GB e uma slice de 170 GB (partições MS-DOS®). A primeira slice contém um sistema de arquivos Windows® NTFS, C:, e a segunda fatia contém uma instalação do FreeBSD. Este exemplo de instalação do FreeBSD possui quatro partições de dados e uma partição swap.

Cada uma das quatro partições contém um sistema de arquivos. A partição a é usada para o sistema de arquivos raiz, d para /var/, e para /tmp/ e f para /usr/. A letra de partição c refere-se à fatia inteira e, portanto, não é usada para partições comuns.


All FreeBSD documents are available for download at https://download.freebsd.org/ftp/doc/

Questions that are not answered by the documentation may be sent to <freebsd-questions@FreeBSD.org>.
Send questions about this document to <freebsd-doc@FreeBSD.org>.