Formatando discos e criando partições – CentOS 6.5

A formatação de um disco magnético é realizada para que o sistema operacional seja capaz de gravar e ler dados no disco, criando assim estruturas que permitam gravar os dados de maneira organizada e recuperá-los mais tarde. Existem dois tipos de formatação, chamados de formatação física e formatação lógica. A formatação física é feita na fábrica ao final do processo de fabricação, que consiste em dividir o disco virgem em trilhas, setores, cilindros e isola os bad blocks (danos no HD). Estas marcações funcionam como as faixas de uma estrada, permitindo à cabeça de leitura saber em que parte do disco está, e onde ela deve gravar dados. A formatação física é feita apenas uma vez, e não pode ser desfeita ou refeita através de software. Porém, para que este disco possa ser reconhecido e utilizado pelo sistema operacional, é necessária uma nova formatação, chamada de formatação lógica. Ao contrário da formatação física, a formatação lógica não altera a estrutura física do disco rígido, e pode ser desfeita e refeita quantas vezes for preciso.

Quando um disco é formatado, ele simplesmente é organizado à maneira do sistema operacional, preparado para receber dados. A esta organização damos o nome de “sistema de arquivos”. Um sistema de arquivos é um conjunto de estruturas lógicas e de rotinas que permitem ao sistema operacional controlar o acesso ao disco rígido.

FORMATANDO O DISCO E CRIANDO AS PARTIÇÕES
# fdisk -l

Disk /dev/sda: 4294 MB, 4294967296 bytes
255 heads, 63 sectors/track, 522 cylinders
Units = cilindros of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000e041d

Dispositivo Boot Start End Blocks Id System
/dev/sda1 * 1 64 512000 83 Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2 64 523 3681280 8e Linux LVM
Partition 2 does not end on cylinder boundary.

Disk /dev/sdc: 1073 MB, 1073741824 bytes
255 heads, 63 sectors/track, 130 cylinders
Units = cilindros of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

Disk /dev/sdb: 4294 MB, 4294967296 bytes
255 heads, 63 sectors/track, 522 cylinders
Units = cilindros of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

O disco /dev/sda contém 4GB e duas partições: /dev/sda1 e /dev/sda2. O disco /dev/sdb com 4GB e o /dev/sdc com 1GB. Para esse artigo vamos usar o disco /dev/sdb. Para realizar a verificação dos tamanhos das partições e o espaço livre disponível (unallocated space) iremos utilizar o comando parted.

# yum search parted | grep ^parted 
parted.i686 : The GNU disk partition manipulation program

# yum install parted.i686
 
# which parted
/sbin/parted

Com o parted podemos ver o espaço livre em disco:

# parted /dev/sda unit GB print free
Model: ATA VBOX HARDDISK (scsi)
Disk /dev/sda: 4,29GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos

Number Start End Size Type File system Sinalizador
0,00GB 0,00GB 0,00GB Free Space
1 0,00GB 0,53GB 0,52GB primary ext4 boot
2 0,53GB 4,29GB 3,77GB primary lvm

Vamos criar uma nova partição no disco /dev/sdb:

# fdisk /dev/sdb

WARNING: DOS-compatible mode is deprecated. It’s strongly recommended to
switch off the mode (command ‘c’) and change display units to
sectors (command ‘u’).

Comando (m para ajuda): n
Comando – ação
e estendida
p partição primária (1-4)
p
Número da partição (1-4): 1
Primeiro cilindro (1-522, default 1): 1
Last cilindro, +cilindros or +size{K,M,G} (1-522, default 522): +1G

Comando (m para ajuda): w
A tabela de partições foi alterada!

Já podemos ver a nova partição com o fdisk:

# fdisk -l /dev/sdb

Disk /dev/sdb: 4294 MB, 4294967296 bytes
255 heads, 63 sectors/track, 522 cylinders
Units = cilindros of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xbdc9d264

Dispositivo Boot Start End Blocks Id System
/dev/sdb1 1 132 1060258+ 83 Linux

E o espaço livre com o parted:

# parted /dev/sdb unit GB print free
Model: ATA VBOX HARDDISK (scsi)
Disk /dev/sdb: 4,29GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos

Number Start End Size Type File system Sinalizador
1 0,00GB 1,09GB 1,09GB primary
1,09GB 4,29GB 3,21GB Free Space

Aqui vamos recordar os tipos de partições existentes, existem três tipos possíveis de partições:

  • Primária;
  • Estendida;
  • Lógica;
Partições primárias:

Este tipo de partição contém um sistema de arquivos. Em um disco deve haver no mínimo uma e no máximo quatro partições primárias. Se existirem quatro partições primárias, nenhuma outra partição poderá existir neste disco. As partições primárias são nomeadas da seguinte forma:

  • /dev/hda1
  • /dev/hda2
  • /dev/hda3
  • /dev/hda4

OBS: Uma dessas partições deve estar marcada como ativa, ou seja, marcada como “bootável” para que a BIOS possa iniciar a sistema por ela.

Partição estendida:

Isso mesmo, no singular. Só pode haver uma partição estendida em cada disco. Uma partição estendida é um tipo especial de partição primária que não pode conter um sistema de arquivos. Ao invés disso, ela contém partições lógicas. Se existir uma partição estendida, ela toma o lugar de uma das partições primárias, podendo haver apenas três. Se houver, por exemplo, três partições no disco, sendo duas primárias e uma estendida, o esquema de nomes ficará assim:

  • /dev/hda1 (Primária)
  • /dev/hda2 (Primária)
  • /dev/hda3 (Estendida)
Partições lógicas:

Também chamadas de unidades lógicas, as partições lógicas residem dentro da partição estendida. Podem haver de uma a 12 partições lógicas em um disco. As partições lógicas são numeradas de 5 até 16. Em um disco contendo duas partições primárias, a partição estendida e 3 partições lógicas, o esquema seria o seguinte:

  • /dev/hda1 (Primária)
  • /dev/hda2 (Primária)
  •  /dev/hda3 (Estendida)
  • /dev/hda5 (Lógica)
  • /dev/hda6 (Lógica)
  • /dev/hda7 (Lógica)

OBS: Note que, neste caso, NÃO há uma partição nomeada como /dev/hda4, pois os números de 1 a 4 são reservados para partições primárias e para a partição estendida. Perceba que, mesmo sendo 16 o numero máximo de partições em um disco, apenas 15 poderão receber sistemas de arquivos, já que uma delas será estendida.Agora que criamos a primeira partição vamos para as outras, o procedimento é o mesmo, porém agora vamos criar uma estendida, selecionando a opção e no menu do fdisk e selecionando todo o espaço em disco. Criamos essa partição estendida para posteriormente adicionar as unidades lógicas:

# fdisk /dev/sdb

WARNING: DOS-compatible mode is deprecated. It’s strongly recommended to
switch off the mode (command ‘c’) and change display units to
sectors (command ‘u’).

Comando (m para ajuda): n
Comando – ação
e estendida
p partição primária (1-4)
e
Número da partição (1-4):
Valor fora do intervalo.
Número da partição (1-4): 1

A partição 1 já está definida. Vamos excluir essa partição antes de adicioná-la novamente.

Comando (m para ajuda): n
Comando – ação
e estendida
p partição primária (1-4)
e
Número da partição (1-4): 2
Primeiro cilindro (133-522, default 133):
Using default value 133
Last cilindro, +cilindros or +size{K,M,G} (133-522, default 522):
Using default value 522

E confirmamos para utilizar todo o espaço em disco restante, lembrando que as partições lógicas serão criadas dentro da estendida.

Comando (m para ajuda): w

Podemos ver com o parted:

# parted /dev/sdb unit GB print free
Model: ATA VBOX HARDDISK (scsi)
Disk /dev/sdb: 4,29GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos

Number Start End Size Type File system Sinalizador
1 0,00GB 1,09GB 1,09GB primary
2 1,09GB 4,29GB 3,21GB extended
1,09GB 4,29GB 3,21GB Free Space
4,29GB 4,29GB 0,00GB Free Space

E agora vamos criar as partições lógicas, repare que o fdisk já acusa para o uso de partições lógicas e seus valores:

# fdisk /dev/sdb

WARNING: DOS-compatible mode is deprecated. It’s strongly recommended to
switch off the mode (command ‘c’) and change display units to
sectors (command ‘u’).

Comando (m para ajuda): n
Comando – ação
l lógica (5 ou superior)
p partição primária (1-4)
# fdisk -l /dev/sdb

Disk /dev/sdb: 4294 MB, 4294967296 bytes
255 heads, 63 sectors/track, 522 cylinders
Units = cilindros of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xbdc9d264

Dispositivo Boot Start End Blocks Id System
/dev/sdb1 1 132 1060258+ 83 Linux
/dev/sdb2 133 522 3132675 5 Estendida
/dev/sdb5 133 264 1060258+ 83 Linux
/dev/sdb6 265 396 1060258+ 83 Linux
/dev/sdb7 397 522 1012063+ 83 Linux

OBS: Em alguns kernels antigos o sistema solicita a reinicialização do mesmo para concretizar as alterações na tabela de partição, para esses casos é só utilizar o comando partprobe.

Referência:
http://brunotorres.net/particionamento-disco#tipos