Pesquisa de site

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.

  1. 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
  2. Criando uma nova partição com fdisk no RHEL8

  3. 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
  4. 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
  5. 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.
  6. 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
  7. 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

Exercícios

  1. Crie várias partições no mesmo disco. Verifique sua capacidade e nome do dispositivo.

  2. Crie uma partição em um disco GPT com fdisk. Sua versão lida com os dois tipos?

  3. Teste os cintos de segurança integrados aos utilitários fdisk e gdisk. Tente especificar setores fora do intervalo, primeiro setor maior que o último, etc.

Artigos relacionados: