Este conteúdo foi traduzido por máquina para sua conveniência e a Huawei Cloud não pode garantir que o conteúdo foi traduzido com precisão. Para exibir o conteúdo original, use o link no canto superior direito para mudar para a página em inglês.
Central de ajuda/ Dedicated Distributed Storage Service/ Guia de usuário/ Gerenciamento de disco/ Expansão da capacidade de um disco/ Extensão de partições e sistemas de arquivos de um disco de sistema no Linux (fdisk)
Atualizado em 2024-09-10 GMT+08:00

Extensão de partições e sistemas de arquivos de um disco de sistema no Linux (fdisk)

Cenários

No Linux, após a expansão da capacidade ser bem-sucedida, o espaço em disco adicional precisa ser alocado para uma partição existente ou uma nova partição.

Este tópico usa CentOS 7.4 64bit para descrever como alocar o espaço em disco adicional do sistema para uma partição usando o fdisk.

Este documento também descreve como criar novas partições para discos do sistema. Consulte os tópicos a seguir para obter mais informações:

Atualmente, um disco foi anexado a um servidor e a capacidade original do disco é de 40 GB. Além disso, um espaço de 40 GB foi adicionado ao disco no console de gerenciamento e a capacidade total do disco deve ser de 80 GB. As operações a seguir orientam você a usar o espaço adicional e estender a partição.

O método para alocar o espaço adicional varia dependendo do sistema operacional do servidor. Este documento é usado apenas para referência. Para obter informações detalhadas sobre as operações e diferenças, consulte os documentos do SO correspondentes.

Com base nos requisitos de serviço e na condição do disco, você pode escolher uma das seguintes maneiras de alocar o espaço em disco adicional:
  • Crie uma nova partição (os serviços não serão interrompidos).

    Criar uma nova partição após a expansão não requer que as partições originais sejam desmontadas. Portanto, os impactos nos serviços são menores do que recriar uma partição existente. Este método é recomendado para discos do sistema ou discos que transportam serviços que não podem ser interrompidos.

    Se o estilo de partição MBR for usado, certifique-se de que a capacidade do disco não exceda 2 TB e o número de partições não atinja o limite superior após a expansão.

  • Recrie uma partição existente (os serviços serão interrompidos).

    Se o estilo de partição MBR for usado e o número de partições tiver atingido o limite superior, você só poderá alocar o espaço adicional a uma partição existente. Recriar uma partição existente não exclui seus dados, mas requer que a partição seja desmontada. Portanto, os serviços serão interrompidos.

    Se o estilo de partição MBR for usado e a capacidade do disco após a expansão exceder 2 TB, o espaço superior a 2 TB não poderá ser usado. Para utilizar esse espaço, altere o estilo da partição do disco de MBR para GPT. Os dados no disco serão apagados durante tal alteração. Portanto, faça backup dos dados do disco antes de alterar o estilo da partição.

    Execute as operações de expansão com cautela. A operação incorreta pode levar à perda de dados ou exceções. Portanto, é aconselhável usar o CBR para fazer backup dos dados do disco antes da expansão. Para mais detalhes, consulte Gerenciamento de backups.

Pré-requisitos

  • Você fez logon no ECS.
    • Para saber como fazer logon em um ECS, consulte o Guia de usuário do Elastic Cloud Server.
    • Para saber como efetuar logon em um BMS, consulte o Guia de usuário do Bare Metal Server.
  • Você conectou o disco ao ECS, e o espaço adicional não foi alocado.

Criar uma nova partição

O exemplo a seguir mostra como fazer uso da capacidade adicional de um disco do sistema conectado a um servidor criando uma nova partição. O disco do sistema já tem a partição /dev/vda1, que é montada no /. Nas seguintes operações, uma nova partição /dev/vda2 será criada e montada em /opt. Durante esse processo, os serviços não são interrompidos.

  1. Execute o seguinte comando para exibir as informações de partição de disco:

    fdisk -l

    Informação semelhante à seguinte é exibida:
    [root@ecs-2220 ~]# fdisk -l
    
    Disk /dev/vda: 85.9 GB, 85899345920 bytes, 167772160 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 label type: dos
    Disk identifier: 0x0008d18f
    
       Device Boot      Start         End      Blocks   Id  System
    /dev/vda1   *        2048    83886079    41942016   83  Linux

    Na saída do comando, a capacidade do disco do sistema dev/vda é de 80 GB, em que a partição dev/vda1 em uso ocupa 40 GB e os 40 GB adicionais não foram alocados.

  2. Execute o seguinte comando para aceder ao fdisk:

    fdisk /dev/vda

    Informação semelhante à seguinte é exibida:
    [root@ecs-2220 ~]# fdisk /dev/vda
    Welcome to fdisk (util-linux 2.23.2).
    
    Changes will remain in memory only, until you decide to write them.
    Be careful before using the write command.
    
    
    Command (m for help): 

  3. Digite n e pressione Enter para criar uma nova partição.

    Informação semelhante à seguinte é exibida:
    Command (m for help): n
    Partition type:
       p   primary (1 primary, 0 extended, 3 free)
       e   extended
    Existem dois tipos de partições de disco:
    • Escolher p cria uma partição primária.
    • Escolher e cria uma partição estendida.

  4. Neste exemplo, uma partição primária é criada. Portanto, insira p e pressione Enter para criar uma partição primária.

    Informação semelhante à seguinte é exibida:
    Select (default p): p
    Partition number (2-4, default 2): 

  5. Digite o número serial da partição primária e pressione Enter. A partição número 2 é usada neste exemplo. Portanto, insira 2 e pressione Enter.

    Informação semelhante à seguinte é exibida:
    Partition number (2-4, default 2): 2
    First sector (83886080-167772159, default 83886080):

  6. Digite o setor inicial da nova partição, por exemplo, o valor padrão, e pressione Enter.

    O setor de início padrão é usado neste exemplo.

    Informação semelhante à seguinte é exibida:
    First sector (83886080-167772159, default 83886080):
    Using default value 83886080
    Last sector, +sectors or +size{K,M,G} (83886080-167772159,default 167772159):

  7. Insira o setor final da nova partição e pressione Enter.

    O setor final padrão é usado neste exemplo.

    Informação semelhante à seguinte é exibida:
    Last sector, +sectors or +size{K,M,G} (83886080-167772159,
    default 167772159):
    Using default value 167772159
    Partition 2 of type Linux and of size 40 GiB is set
    
    Command (m for help): 

  8. Digite p e pressione Enter para exibir a partição nova.

    Informação semelhante à seguinte é exibida:
    Command (m for help): p
    
    Disk /dev/vda: 85.9 GB, 85899345920 bytes, 167772160 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 label type: dos
    Disk identifier: 0x0008d18f
    
       Device Boot      Start         End      Blocks   Id  System
    /dev/vda1   *        2048    83886079    41942016   83  Linux
    /dev/vda2        83886080   167772159    41943040   83  Linux
    Command (m for help): 

  9. Digite w e pressione Enter para gravar as alterações na tabela de partições.

    Informação semelhante à seguinte é exibida:
    Command (m for help): w
    The partition table has been altered!
    
    Calling ioctl() to re-read partition table.
    
    WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
    The kernel still uses the old table. The new table will be used at
    the next reboot or after you run partprobe(8) or kpartx(8)
    Syncing disks.

    A partição é criada.

    Caso queira descartar as alterações feitas antes, você pode sair do fdisk digitando q.

  10. Execute o seguinte comando para sincronizar a nova tabela de partição com o sistema operacional:

    partprobe

  11. Execute o seguinte comando para definir o formato do sistema de arquivos para a nova partição:

    (O sistema de arquivos ext4 é usado neste exemplo.)

    mkfs -t ext4 /dev/vda2

    O procedimento para definir o sistema de arquivos xfs é o mesmo que para o sistema de arquivos ext3 ou ext4. O comando para criar o sistema de arquivos xfs é mkfs -t xfs /dev/vda2.

    Informação semelhante à seguinte é exibida:
    [root@ecs-2220 ~]# mkfs -t ext4 /dev/vda2
    mke2fs 1.42.9 (28-Dec-2013)
    Filesystem label=
    OS type: Linux
    Block size=4096 (log=2)
    Fragment size=4096 (log=2)
    Stride=0 blocks, Stripe width=0 blocks
    2621440 inodes, 10485760 blocks
    524288 blocks (5.00%) reserved for the super user
    First data block=0
    Maximum filesystem blocks=2157969408
    320 block groups
    32768 blocks per group, 32768 fragments per group
    8192 inodes per group
    Superblock backups stored on blocks:
            32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
            4096000, 7962624
    
    Allocating group tables: done
    Writing inode tables: done
    Creating journal (32768 blocks): done
    Writing superblocks and filesystem accounting information: done

    A formatação demora um pouco e você precisa observar o status de execução do sistema. Uma vez done é exibido na saída do comando, a formatação está completa.

  12. Execute o seguinte comando para montar a nova partição em um diretório que demanda espaço, por exemplo /opt:

    mount /dev/vda2 /opt

    Informação semelhante à seguinte é exibida:
    [root@ecs-bab9 test]# mount /dev/vda2 /opt
    [root@ecs-bab9 test]#

    Se a nova partição estiver montada em um diretório que não esteja vazio, os subdiretórios e arquivos no diretório serão ocultos. Portanto, é aconselhável montar a nova partição em um diretório vazio ou em um novo diretório. Se a nova partição tiver de ser montada num diretório que não esteja vazio, mova temporariamente os subdiretórios e arquivos deste diretório para outro diretório. Depois que a partição for montada com êxito, mova os subdiretórios e os arquivos de volta.

  13. Execute o seguinte comando para visualizar o resultado da montagem:

    df -TH

    Informação semelhante à seguinte é exibida:
    [root@ecs-2220 ~]# df -TH
    Filesystem     Type      Size  Used Avail Use% Mounted on
    /dev/vda1      ext4       43G  2.0G   39G   5% /
    devtmpfs       devtmpfs  509M     0  509M   0% /dev
    tmpfs          tmpfs     520M     0  520M   0% /dev/shm
    tmpfs          tmpfs     520M  7.2M  513M   2% /run
    tmpfs          tmpfs     520M     0  520M   0% /sys/fs/cgroup
    tmpfs          tmpfs     104M     0  104M   0% /run/user/0
    /dev/vda2      ext4       43G   51M   40G   1% /opt

Configurar montagem automática do disco no início do sistema

Para montar partições automaticamente na inicialização do sistema, não especifique partições, por exemplo, /dev/xvdb1, em /etc/fstab porque a sequência de dispositivos de nuvem e, portanto, seus nomes podem mudar durante a parada ou inicialização do servidor. Você é aconselhado a usar o UUID em /etc/fstab para definir a montagem automática no início do sistema.

UUID é a cadeia de caracteres única para partições de disco em um sistema Linux.

  1. Execute o seguinte comando para consultar o UUID da partição:

    blkid Disk partition

    Neste exemplo, execute o seguinte comando para consultar o UUID da partição /dev/xvdb1:

    blkid /dev/xvdb1

    Informação semelhante à seguinte é exibida:

    [root@ecs-b656 test]# blkid /dev/xvdb1
    /dev/xvdb1: UUID="1851e23f-1c57-40ab-86bb-5fc5fc606ffa" TYPE="ext4"

    O UUID da partição /dev/xvdb1 é exibido.

  2. Execute o seguinte comando para abrir o arquivo fstab usando o editor vi:

    vi /etc/fstab

  3. Pressione i para entrar no modo de edição.
  4. Mova o cursor para o final do arquivo e pressione Enter. Em seguida, adicione as seguintes informações:

    UUID=1851e23f-1c57-40ab-86bb-5fc5fc606ffa /mnt/sdc      ext3 defaults     0   2
    UUID=1851e23f-1c57-40ab-86bb-5fc5fc606ffa /mnt/sdc      ext4 defaults     0   2
    O conteúdo anterior é usado apenas para referência. Adicione as informações que são usadas no ambiente. Os parâmetros são descritos a seguir:
    • A primeira coluna indica o UUID da partição obtido em 1.
    • A segunda coluna indica o diretório no qual a partição está montada. Você pode consultar o ponto de montagem usando o comando df -TH.
    • A terceira coluna indica o formato do sistema de arquivos da partição. Você pode consultar o formato do sistema de arquivos usando o comando df -TH.
    • A quarta coluna indica a opção de montagem de partição. Normalmente, esse parâmetro é definido como defaults.
    • A quinta coluna indica a opção de backup de despejo do Linux.
      • 0: não use o backup de despejo do Linux. Normalmente, o backup de despejo não é usado e você pode definir esse parâmetro como 0.
      • 1: use o backup de despejo do Linux.
    • A sexta coluna indica a opção fsck, ou seja, se deve usar o fsck para verificar o disco anexado durante a inicialização.
      • 0: não use fsck.
      • Se o ponto de montagem for a partição raiz (/), este parâmetro deve ser definido como 1.

        Quando este parâmetro é definido como 1 para a partição raiz, este parâmetro para outras partições deve começar com 2 para que o sistema verifique as partições em ordem crescente dos valores.

  5. Pressione Esc, insira :wq e pressione Enter.

    O sistema salva as configurações e sai do editor vi.