Trabalhando com Partições no FreeBSD

Quando instalamos sistemas operacionais Unix ou BSD, devemos compreender alguns conceitos que são distintos dos demais ambientes. Um deles é a forma de visualizar o disco rígido. O primeiro conceito é bem simples e é conhecido como slice. Um slice é uma área do disco rígido, com o tamanho total onde o sistema operacional será instalado. Podemos dividir um slice em diversas partições, mas algumas regras devem ser respeitadas:

  1. A partição b é, por padrão, o swap do sistema operacional
  2. A partição c representa o tamanho total do slice e não é permitido ao usuário fazer modificações nela.

Nomenclatura de discos

  1. IDE: da0, Controladora primária, disco master.
  2. IDE: da1, Controladora primária, disco slave.
  3. IDE: da2, Controladora slave, disco master.
  4. IDE: da3, Controladora slave, disco slave.
  5. SATA/SCSI: da0, Primeiro disco da controlara SATA ou SCSI
  6. SATA/SCSI: da1, Segundo disco da controladora SATA ou SCSI

OBS: Anteriores ao FreeBSD 8.0 para discos SCSI erá usado o padrão da0(ID 0), da1(ID 1) etc. Para discos SATA, o FreeBSD usa como padrão ad0, ad1, ad2 etc.

Parâmetros:

  1. Disco: ada1
  2. QTD de Partições: 3
  3. Tamanho do Disco: 320 GB
  4. Sistema de Arquivos: UFS

EX de partições:

  1. A partição a - /
  2. A partição b - swap
  3. A partição c - espaço total
  4. A partição e - /srv

Vamos primeiro zerar o nosso disco.

dd if=/dev/zero of=/dev/ada1 bs=1k count=1

Agora vamos ativar o nosso disco

fdisk -BI ada1

Agora vamos criar um label.

bsdlabel -B -w ada1s1 auto

Agora vamos criar os pontos de montagens para as nossas 3 partições.

mkdir -p /mnt/{a,e,g}

Agora vamos editar as nossas partições.

bsdlabel -e ada1s1

O arquivo que vai ser aberto vai ter a seguinte configuração.

# /dev/ada1s1:
8 partitions:
#          size     offset    fstype   [fsize bsize bps/cpg]
  a:  400M              16    4.2BSD        0     0      
  c:  625142385          0    unused        0     0     # "raw" part, don't edit
  e:  5G                *    4.2BSD
  g:  *                 *    4.2BSD

Aqui o que definimos, que a partição a vai ter um tamanho total de 400MB, a partição c é a partição especial que tem o tamanho total do disco ou ele pode ter a quantidade total de setores ou somente um *, depois definimos a partição e com 5GB e por fim a partição g com o restante do tamanho do disco.

O sistema de arquivos utilizado aqui é o UFS que tem a identificação de 4.2BSD para o bsdlabel, se tivéssemos alguma partição swap o sistema de arquivos se chamaria swap.

Agora já podemos criar o nosso sistema de arquivos em nossas partições.

Vamos criar primeiro para a partição ada1s1a, porque essa nomenclatura ? o ada1 significa a identificação do disco para o sistema o s1 significa o slice 1 e o a é a identificação da partição para o sistema.

Então vamos criar o nosso sistema de arquivos, o padrão é utilizar o UFS2 senão especificarmos a opção -O no newfs

newfs /dev/ada1s1a

Agora vamos montar a nossa partição

mount -o noatime /dev/ada1s1a /mnt/a

Agora vamos listar os nossos pontos de montagem

df -Th
/dev/ada1s1a      ufs          393M    8.0k    361M     0%    /mnt/a

Agora vamos criar o sistema de arquivos para a nossa partição ada1s1e

newfs /dev/ada1s1e

Agora vamos montar a nossa partição

mount -o noatime /dev/ada1s1e /mnt/e

Agora vamos listar os nossos pontos de montagem

df -Th
/dev/ada1s1a      ufs          393M    8.0k    361M     0%    /mnt/a
/dev/ada1s1e      ufs          4.9G    8.0k    4.5G     0%    /mnt/e

Agora vamos criar o sistema de arquivos para a nossa partição ada1s1g

newfs /dev/ada1s1g

Agora vamos montar a nossa partição

mount -o noatime /dev/ada1s1g /mnt/g

Agora vamos listar os nossos pontos de montagem

df -Th
/dev/ada1s1a      ufs          393M    8.0k    361M     0%    /mnt/a
/dev/ada1s1e      ufs          4.9G    8.0k    4.5G     0%    /mnt/e
/dev/ada1s1g      ufs          288G    8.0k    265G     0%    /mnt/g

Agora vamos configurar no /etc/fstab para as partições sejam montadas automaticamente no boot.

vim /etc/fstab
[...]
/dev/ada1s1a           /mnt/a                   ufs     rw,noatime      0       1
/dev/ada1s1e           /mnt/e                   ufs     rw,noatime      0       1
/dev/ada1s1g           /mnt/g                   ufs     rw,noatime      0       1

Referências