domingo, 18 de setembro de 2016

Formatando HD's com mais de 2TB no Linux




Esses dias necessitei formatar um disco em um servidor Linux, onde a partição deveria ser de mais de 2 TB, com isso ao tentar utilizar o comando "fdisk", verifiquei que o mesmo não consegue criar partições com mais de 2TB de espaço.

Para resolver este problema utilizei o comando "parted" com GPT. Através deste comando há suporte para partições do tipo EFI/ GPT.


GPT é o layout padrão de partições em discos rígidos físicos. O GPT é padrão juntamente com o Extensible Firmware Interface (EFI), proposto pela Intel como um substituto para a BIOS PC uma das poucas coisas ainda remanescentes do PC original da IBM.

O EFI usa GPT onde a BIOS usa o formato Master Boot Record (MBR).

Agora, vamos lá.

O EFI GUID Partition funciona em plataformas de 32 e 64 bits. Você deve incluir o suporte ao  GPT no kernel do Linux. Por padrão RedHat / CentOS vem com suporte nativo no kernel ao GPT. Agora, se você estiver usando Debian ou Ubuntu, será necessário recompilar o kernel.
Definindo o parâmetro CONFIG_EFI_PARTITION para "y" para compilar este recurso.
File Systems
   Partition Types
     [*] Advanced partition selection
     [*] EFI GUID Partition support (NEW)
....

No shell, digite o seguinte comando para visualizar o tamanho do disco:

# fdisk -l /dev/sdb

Será exibido:
Disk /dev/sdb: 3000.6 GB, 3000592982016 bytes
255 heads, 63 sectors/track, 364801 cylinders
Units = cylinders 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 doesn't contain a valid partition table

Vendo que o disco tem 3TB, vamos criar uma partição de 3TB utilizando o comando parted

# parted /dev/sdb

Irá exibir o seguinte, após o comando acima:
GNU Parted 2.3
Using /dev/sdb
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted)

Configure o disco para ter partições do tipo GPT:
(parted) mklabel gpt
Irá exibir algo do tipo:
Warning: The existing disk label on /dev/sdb will be destroyed and all data on this disk will be lost. Do you want to continue?
Yes/No? yes
(parted)
Agora devemos configurar a "medida" padrão do disco:
(parted) unit TB

Com isso vamos criar a partição de 3TB:
(parted) mkpart primary 0.00TB 3.00TB

Com isso feito, vamos exibir o disco com o comando abaixo:
(parted) print

Irá retornar uma tela parecida com essa:
Model: ATA ST33000651AS (scsi)
Disk /dev/sdb: 3.00TB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Number  Start   End     Size    File system  Name     Flags
 1      0.00TB  3.00TB  3.00TB  ext4         primary

Com isso feito, podemos sair do parted para gravar as alterações já efetuadas com o comando abaixo:
(parted) quit

Irá exibir algo parecido com a tela abaixo:

Information: You may need to update /etc/fstab.

Com os passos acima, você criou uma partição de 3TB no disco rígido. Agora é só formatar a partição com o sistema de arquivos de sua preferência e inserir o disco no arquivo /etc/fstab.

Por hoje é só have a nice day =D

Um comentário: