Como listar, criar, excluir partições em discos MBR e GPT - Preparação objetiva RHCSA
As partições de disco são a base para armazenar nossos dados em discos. Para poder lidar com partições, nesta parte do tutorial de preparação para o exame RHCSA adicionaremos um disco vazio ao nosso sistema RHEL 8 de teste e criaremos, listaremos e excluiremos uma nova partição nele. Primeiro usaremos a configuração clássica do MBR (Master Boot Record), depois faremos o mesmo na configuração do GPT (GUID Partitioning Table). GPT é uma técnica de particionamento mais avançada que permite partições grandes, enquanto o MBR é limitado a 2 TB de espaço em disco por partição. Então, se isso não parece um tamanho muito limitante no momento, pense na tendência de uso do disco, que pode não ser muito do ponto de vista do usuário final, mas certamente é do ponto de vista do trabalho de administração do sistema Linux.
Neste tutorial você aprenderá:
Como criar uma nova partição MBR usando fdisk
Como listar partições clássicas usando fdisk
Como deletar partição usando fdisk
-
Como criar partição GPT usando gdisk
Como listar partições GPT
Como excluir partições GPT
Criando partição de 1 GB com fdisk
Gerenciando partições
O particionamento é a primeira etapa para expandir o espaço em disco que pode ser usado pelo sistema para armazenar dados. Abordaremos o particionamento MBR e GPT, criando, listando e, finalmente, excluindo partições.
Se um disco já contém dados valiosos, sempre crie um backup antes de modificar as partições, apenas para garantir. Embora adicionar novas partições ao espaço vazio do disco não prejudique os dados, excluir uma partição fará exatamente isso, destruindo tudo nessa partição.
Em nossa configuração de teste, nosso sistema acaba de receber um novo disco de 2 GB que está disponível para particionamento. É completamente bruto, sem dados ou sistema de arquivos presentes, por isso é perfeitamente seguro alterarmos seu particionamento à vontade. Nosso disco principal que contém o sistema operacional é chamado /dev/sda
, que tem 15 GB de tamanho, enquanto o novo disco é reconhecido pelo nosso sistema como /dev/sdb
. Veremos o layout de particionamento na primeira etapa.
Para listar partições, podemos usar fdisk
. Faremos isso para ver nossa configuração no início.
# fdisk -l
Disk /dev/sda: 15 GiB, 16106127360 bytes, 31457280 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x906d1ee8
Device Boot Start End Sectors Size Id Type
/dev/sda1 * 2048 2099199 2097152 1G 83 Linux
/dev/sda2 2099200 31457279 29358080 14G 8e Linux LVM
Disk /dev/sdb: 2 GiB, 2147483648 bytes, 4194304 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk /dev/mapper/rhel-root: 12.5 GiB, 13417578496 bytes, 26206208 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk /dev/mapper/rhel-swap: 1.5 GiB, 1610612736 bytes, 3145728 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Criando uma nova partição com fdisk no RHEL8
-
Para criar uma nova partição no disco vazio, forneceremos ela como argumento para fdisk
:
# fdisk /dev/sdb
Welcome to fdisk (util-linux 2.32.1).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
O utilitário fdisk
aguarda nossos comandos. Gostaríamos de criar uma nova partição, então pressionamos “n”.
Command (m for help): n
Devemos criar uma partição primária, então a resposta para a próxima pergunta é “p”.
Partition type
p primary (0 primary, 0 extended, 4 free)
e extended (container for logical partitions)
Select (default p): p
As próximas questões são sobre o número da partição, primeiro e último setor, que determinará o tamanho real da partição. Em nosso exemplo, estamos criando uma única partição que cobrirá o disco, e os valores padrão são a primeira partição, o primeiro setor disponível para iniciar e o último setor para terminar, que é exatamente o que precisamos. Portanto, aceitaremos os padrões para essas perguntas.
Partition number (1-4, default 1):
First sector (2048-4194303, default 2048):
Last sector, +sectors or +size{K,M,G,T,P} (2048-4194303, default 4194303):
Created a new partition 1 of type 'Linux' and of size 2 GiB.
Não estamos limitados a contar em setores quando definimos o final da partição. Como sugere o utilitário, podemos especificar um tamanho exato. Por exemplo, se quisermos uma partição de 1 GB, no último setor poderemos fornecer:
Last sector, +sectors or +size{K,M,G,T,P} (34-4194270, default 4194270): +1G
A partição agora está completa, mas como o utilitário indica na inicialização, as alterações ficam na memória apenas até que sejam gravadas no disco. Isso é proposital e o aviso existe por um bom motivo: ao gravar as alterações no disco, destruímos tudo o que residia no intervalo do setor que cobrimos com nossa nova partição. Temos certeza de que não haverá perda de dados, então gravamos as alterações no disco:
Command (m for help): w
The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.
Para ter certeza de que o sistema operacional sabe das alterações, executamos partprobe
:
# partprobe
Podemos usar o recurso fdisk -l
para ser mais específico, adicionando o nome do dispositivo no qual estamos interessados.
# fdisk -l /dev/sdb
Disk /dev/sdb: 2 GiB, 2147483648 bytes, 4194304 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x29ccc11b
Device Boot Start End Sectors Size Id Type
/dev/sdb1 2048 4194303 4192256 2G 83 Linux
Excluir partição é basicamente o mesmo processo ao contrário. O utilitário é construído de forma lógica: especificamos o dispositivo no qual gostaríamos de trabalhar, e quando selecionamos a exclusão da partição com o comando “d”, ele excluirá nossa única partição sem qualquer dúvida, porque só existe uma no disco.
# fdisk /dev/sdb
Welcome to fdisk (util-linux 2.32.1).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
Command (m for help): d
Selected partition 1
Partition 1 has been deleted.
Embora isso seja bastante conveniente, observe que essa ferramenta facilita muito a limpeza de dados do disco com um único toque de tecla. É por isso que todos os avisos estão em vigor, você tem que saber o que está fazendo. As salvaguardas ainda estão em vigor, nada muda no disco até que o escrevamos.
Command (m for help): w
The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.
# partprobe
# fdisk -l /dev/sdb
Disk /dev/sdb: 2 GiB, 2147483648 bytes, 4194304 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x29ccc11b
-
Para criar um layout de partição baseado em GPT, usaremos o utilitário gdisk
(GPT fdisk). Seu funcionamento interno será familiar se você estiver lendo desde o início deste tutorial.
# gdisk /dev/sdb
GPT fdisk (gdisk) version 1.0.3
Partition table scan:
MBR: MBR only
BSD: not present
APM: not present
GPT: not present
***************************************************************
Found invalid GPT and valid MBR; converting MBR to GPT format
in memory. THIS OPERATION IS POTENTIALLY DESTRUCTIVE! Exit by
typing 'q' if you don't want to convert your MBR partitions
to GPT format!
***************************************************************
Command (? for help): n
Partition number (1-128, default 1):
First sector (34-4194270, default = 2048) or {+-}size{KMGTP}:
Last sector (2048-4194270, default = 4194270) or {+-}size{KMGTP}:
Current type is 'Linux filesystem'
Hex code or GUID (L to show codes, Enter = 8300):
Changed type of partition to 'Linux filesystem'
Command (? for help): w
Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING
PARTITIONS!!
Do you want to proceed? (Y/N): Y
OK; writing new GUID partition table (GPT) to /dev/sdb.
The operation has completed successfully.
Listar partições GPT requer a mesma mudança para gdisk
:
# gdisk -l /dev/sdb
GPT fdisk (gdisk) version 1.0.3
Partition table scan:
MBR: protective
BSD: not present
APM: not present
GPT: present
Found valid GPT with protective MBR; using GPT.
Disk /dev/sdb: 4194304 sectors, 2.0 GiB
Sector size (logical/physical): 512/512 bytes
Disk identifier (GUID): 3AA3331F-8056-4C3E-82F3-A67254343A05
Partition table holds up to 128 entries
Main partition table begins at sector 2 and ends at sector 33
First usable sector is 34, last usable sector is 4194270
Partitions will be aligned on 2048-sector boundaries
Total free space is 2014 sectors (1007.0 KiB)
Number Start (sector) End (sector) Size Code Name
1 2048 4194270 2.0 GiB 8300 Linux filesystem
fdisk
também reconhece que o disco está particionado:
# fdisk -l /dev/sdb
Disk /dev/sdb: 2 GiB, 2147483648 bytes, 4194304 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 3AA3331F-8056-4C3E-82F3-A67254343A05
Device Start End Sectors Size Type
/dev/sdb1 2048 4194270 4192223 2G Linux filesystem
A exclusão da partição GPT que criamos é feita de forma semelhante ao caso do MBR, com a verificação de integridade adicional adicionada:
# gdisk /dev/sdb
GPT fdisk (gdisk) version 1.0.3
Partition table scan:
MBR: protective
BSD: not present
APM: not present
GPT: present
Found valid GPT with protective MBR; using GPT.
Command (? for help): d
Using 1
Command (? for help): w
Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING
PARTITIONS!!
Do you want to proceed? (Y/N): Y
OK; writing new GUID partition table (GPT) to /dev/sdb.
The operation has completed successfully.
Listar o disco agora mostra que realmente excluímos a partição GPT do disco.
# gdisk -l /dev/sdb
GPT fdisk (gdisk) version 1.0.3
Partition table scan:
MBR: protective
BSD: not present
APM: not present
GPT: present
Found valid GPT with protective MBR; using GPT.
Disk /dev/sdb: 4194304 sectors, 2.0 GiB
Sector size (logical/physical): 512/512 bytes
Disk identifier (GUID): 3AA3331F-8056-4C3E-82F3-A67254343A05
Partition table holds up to 128 entries
Main partition table begins at sector 2 and ends at sector 33
First usable sector is 34, last usable sector is 4194270
Partitions will be aligned on 2048-sector boundaries
Total free space is 4194237 sectors (2.0 GiB)
Number Start (sector) End (sector) Size Code Name