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.
Atualizado em 2026-04-24 GMT+08:00

Extensão de partições de disco e sistemas de arquivos (Linux)

Cenários

Depois que um disco é expandido no console, o tamanho do disco é ampliado, mas a partição do disco e o sistema de arquivos não são estendidos. Você deve fazer login no servidor para estender a partição e o sistema de arquivos antes de poder visualizar e usar o espaço adicional. Especificamente, você pode adicionar o espaço adicional a uma partição e a um sistema de arquivos existentes ou criar uma nova partição e um novo sistema de arquivos com o espaço adicional.

Esta seção descreve como estender partições e sistemas de arquivos em um disco de sistema ou de dados no Linux. As operações de extensão podem variar dependendo do SO do servidor.

Tabela 1 Instruções de operação para estender partições e sistemas de arquivos no Linux

Cenário

Estilo de partição

Função do disco

Requisitos do sistema operacional

Formato do sistema de arquivos

Ferramenta de expansão de capacidade

Exemplo de configuração

Extensão de uma partição existente

GPT ou MBR

Disco do sistema

Disco de dados

  • Para estender partições e sistemas de arquivos de um disco do sistema, a versão do kernel deve ser posterior a 3.6.0.
  • Para estender partições e sistemas de arquivos de um disco de dados, não há requisitos para a versão do SO.

ext* (como ext2, ext3 e ext4), xfs e btrfs

growpart

  • Nome do dispositivo: /dev/vdb
  • Partição existente: /dev/vdb1
  • Espaço adicionado: 50 GiB

Ampliação de uma partição MBR existente (para discos do sistema cuja versão do kernel é anterior à 3.6.0)

MBR

Disco do sistema

A versão do kernel é anterior à 3.6.0.

ext* (como ext2, ext3 e ext4), xfs e btrfs

dracut-modules-growroot

  • Nome do dispositivo: /dev/vda
  • Formato do sistema de arquivos: ext4
  • Ponto de montagem: /mnt/sda
  • Nome da partição: /dev/vda1
  • Espaço adicionado: 60 GiB
  • Estilo de partição: MBR

Criação de uma nova partição MBR

MBR

Disco do sistema

Disco de dados

Nenhum

ext* (como ext2, ext3 e ext4), xfs e btrfs

  • fdisk
  • parted
  • Nome do dispositivo: /dev/vdb
  • Formato do sistema de arquivos: ext4
  • Pontos de montagem: /mnt/sdc e /mnt/sdd
  • Partição 1: /dev/vdb1
    • Tamanho: 100 GiB
    • Estilo de partição: MBR
  • Partição 2: /dev/vdb2
    • Tamanho: 50 GiB
    • Estilo de partição: MBR

Criação de uma nova partição GPT

GPT

Disco de dados

Nenhum

ext* (como ext2, ext3 e ext4), xfs e btrfs

parted

  • Nome do dispositivo: /dev/vdb
  • Formato do sistema de arquivos: ext4
  • Pontos de montagem: /mnt/sdc e /mnt/sdd
  • Partição 1: /dev/vdb1
    • Tamanho: 2 TiB
    • Estilo de partição: GPT
  • Partição 2: /dev/vdb2
    • Tamanho: 1 TiB
    • Estilo de partição: GPT

Extensão de um volume lógico

Se você usar o Logical Volume Manager (LVM) para gerenciar discos EVS, poderá estender volumes lógicos quando a capacidade não atender aos seus requisitos.

Você pode executar uname -a para verificar a versão do kernel do Linux.

Para saber como estender partições e sistemas de arquivos em um disco do sistema BMS, consulte Como aumentar o tamanho da partição raiz de um BMS provisionado rapidamente?

Se o disco não estiver particionado, consulte Como estender o sistema de arquivos de um disco de dados não particionado no Linux?

Restrições

  • O espaço adicional de um disco de dados não pode ser adicionado à partição raiz. Para expandir a partição raiz, expanda o disco do sistema.
  • Durante uma expansão, o espaço adicional é adicionado ao final do disco. Se o disco tiver várias partições, o espaço adicional só poderá ser alocado à última partição do disco.
  • Se a partição de destino for uma partição MBR estendida (cujo número de partição geralmente é maior ou igual a 5), você precisará primeiro expandir a partição estendida e, em seguida, a partição lógica. Suponha que você tenha três partições, /dev/vdb1 (partição primária), /dev/vdb2 (partição estendida) e /dev/vdb5 (partição lógica), você precisa executar growpart /dev/vdb2 e, em seguida, growpart /dev/vdb5 para expandir as partições.
  • A capacidade máxima de disco suportada pelo MBR é de 2 TiB, e o espaço em disco superior a 2 TiB não pode ser usado. Se o seu disco já usar MBR para particionamento e você precisar de mais de 2 TiB após a expansão da capacidade, faça o seguinte:
    • (Recomendado) Crie um novo disco EVS e use GPT.
    • Faça backup dos dados do disco, execute a expansão e, em seguida, altere o estilo de partição de MBR para GPT. Durante essa alteração, os serviços serão interrompidos e os dados no disco serão apagados.

Pré-requisitos

Extensão da partição de disco e do sistema de arquivos

Ao estender uma partição, você pode optar por estender uma partição existente ou criar uma nova partição. Para verificar o estilo de partição de disco atual, execute o comando parted <disk-name>.

Extensão de uma partição existente

Originalmente, o disco de dados /dev/vdb tem 100 GiB e uma partição /dev/vdb1. Em seguida, o disco de dados é expandido para 150 GiB. O exemplo a seguir mostra como alocar os 50 GiB adicionais à partição /dev/vdb1 existente.

  1. Faça login no servidor como usuário root.

    Para saber como fazer login em um ECS, consulte Como fazer login no meu ECS?

    Para saber como fazer login em um BMS, consulte Fazer login em um BMS.

  2. Verifique a ferramenta de expansão de capacidade e as informações atuais do disco.

    1. Verifique se a ferramenta de expansão growpart está instalada.

      growpart

      • Se as instruções da ferramenta forem retornadas, a ferramenta foi instalada e você não precisa instalá-la novamente.
        [root@ecs-centos76 ~]# growpart
        growpart disk partition
          rewrite partition table so that partition takes up all the space it can
          options:
          -h | --help	        print Usage and exit
               --fudge F        if part could be resized, but change would be
                                less than 'F' bytes, do not resize (default: 1048576)
          -N | --dry-run        only report what would be done, show new 'sfdisk -d'
          -v | --verbose	increase verbosity / debug
          -u | --update R	update the the kernel partition table info after growing
                                this requires kernel support and 'partx --update'
                                R is one of:
                                - 'auto': [default] update partition if possible
                                - 'force' : try despite- sanity checks (fail on failure)
                                - 'off' : do not attempt
                                - 'on'	: fail if sanity checks indicate no support
          Example:
          - growpart /dev/sda 1
            Resize partition 1 on /dev/sda
        must supply disk and part it ion-number
        [root@ecs-centos76 ~l#
        

        Se a mensagem de erro "Read-only file system" for retornada, execute mount -o remount,rw / para alterar as permissões do sistema de arquivos para leitura/gravação.

      • Se nenhuma instrução de ferramenta for retornada, execute o seguinte comando para instalar a ferramenta:
        yum install cloud-utils-growpart
        Loaded plugins: fastestmirror
        Determining fastest mirrors
        epel/x86_64/metalink                                                                                             
        | 8.0 kB  00:00:00
        ...
        Package cloud-utils-growpart-0.29-2.el7.noarch already installed and latest version
        Nothing to do

        A instalação foi bem-sucedida.

    2. Verifique as partições do disco /dev/vdb.
      lsblk
      [root@ecs-centos76 ~]# lsblk
      NAME   MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
      vda    253:0    0  40G  0 disk
      ├vda1 253:1    0  40G  0 part /
      vdb    253:16   0  150G 0 disk
      ├vdb1 253:17   0  100G 0 part /mnt/sdc

      Podemos ver que /dev/vdb tem 150 GiB, a partição /dev/vdb1 tem 100 GiB e o espaço adicional de 50 GiB não está alocado.

      Se o disco não estiver particionado, você precisará estender diretamente o sistema de arquivos, vá para 4.

  3. Adicione o espaço adicional à partição /dev/vdb1 que já existe.

    growpart /dev/vdb 1
    [root@ecs-test-0001 ~]# growpart /dev/vdb 1
    CHANGED: partition=1 start=2048 old: size=209713152 end=209715200 new: size=314570719,end=314572767
    • Estrutura da linha de comando: growpart <disk-partition> <partition-number>. Observe que há um espaço antes do número da partição.
    • Se a saída do comando a seguir for exibida:
      no tools available to resize disk with 'gpt'
      FAILED: failed to get a resizer for id ''

      O disco usa o estilo de partição GPT e a ferramenta gdisk é necessária quando você usa growpart para adicionar o espaço adicional. Nesse caso, execute yum install gdisk, insira y para instalar gdisk e, em seguida, execute o comando growpart anterior.

    • Se a saída do comando a seguir for exibida:
      growpart /dev/vda 1 unexpected output in sfdisk --version [sfdisk is from util-linux 2.23.2]

      Verifique se o conjunto de caracteres do sistema (ambiente de idioma) é en_US.UTF-8. Caso contrário, execute export LC_ALL=en_US.UTF-8.

    • Se a mensagem de erro "NOCHANGE:partition 1 is size xxxxxxx. it cannot be grown" ou "No space left on the block device" for retornada, a expansão pode falhar porque o disco do servidor está cheio (100% de uso). Faça backup dos dados do disco e limpe arquivos ou programas desnecessários.

  4. Estenda o sistema de arquivos da partição /dev/vdb1.

    1. Verifique o formato do sistema de arquivos da partição /dev/vdb1.

      parted /dev/vdb

      P

      [root@ecs-centos74 ~]# parted /dev/vdb
      GNU Parted 3.1
      Using /dev/vdb
      Welcome to GNU Parted! Type 'help' to view a list of commands.
      (parted) p
      Model: Virtio Block Device (virtblk)
      Disk /dev/vdb: 107GB
      Sector size (logical/physical): 512B/512B
      Partition Table: gpt
      Disk Flags:
       
      Number  Start   End    Size     File system    Name       Flags
       1      1049KB  107GB  107GB    ext4           /dev/vdb1
      
      (parted)

      Partition Table mostra o estilo de partição, que é GPT neste exemplo. File system mostra o formato do sistema de arquivos, que é ext4 neste exemplo.

      Digite q e pressione Enter para sair do parted.

    1. Como o formato do sistema de arquivos de /dev/vdb1 é ext4, execute o seguinte comando para estender o sistema de arquivos:
      resize2fs /dev/vdb1
      [root@ecs-test-0001 ~]# resize2fs /dev/vdb1
      resize2fs 1.42.9 (28-Dec-2013)
      Filesystem at /dev/vdb1 is mounted on /mnt/sdc; on-line resizing required
      old_desc_blocks = 13, new_desc_blocks = 19
      The filesystem on /dev/vdb1 is now 39321339 blocks long.
      • Estrutura da linha de comando: resize2fs <disk-partition>
      • Se a mensagem de erro "open: No such file or directory while opening /dev/vdb1" é retornado, uma partição incorreta é especificada. Execute parted para exibir as partições do disco.
      • Se o formato do sistema de arquivos for xfs, execute o seguinte comando (/mnt/sdc é o ponto de montagem de /dev/vdb1. Altere-o com base nas suas condições reais):

        sudo xfs_growfs /mnt/sdc

        [root@ecs-test-0001 ~]# sudo xfs_growfs /mnt/sdc
        meta-data=/dev/vdb1              isize=512    agcount=4, agsize=6553536 blks
                 =                       sectsz=512   attr=2, projid32bit=1
                 =                       crc=1        finobt=0 spinodes=0
        data     =                       bsize=4096   blocks=26214144, imaxpct=25
                 =                       sunit=0      swidth=0 blks
        naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
        log      =internal               bsize=4096   blocks=12799, version=2
                 =                       sectsz=512   sunit=0 blks, lazy-count=1
        realtime =none                   extsz=4096   blocks=0, rtextents=0
        data blocks changed from 26214144 to 39321339

  5. Verifique o tamanho da partição após a extensão.

    lsblk
    [root@ecs-centos76 ~]# lsblk
    NAME   MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
    vda    253:0    0  40G  0 disk
    ├vda1 253:1    0  40G  0 part /
    vdb    253:16   0  150G 0 disk
    ├vdb1 253:17   0  150G 0 part /mnt/sdc

    Podemos ver que o disco de dados /dev/vdb agora tem 150 GiB e a partição /dev/vdb1 tem 150 GiB, o que significa que a operação de extensão foi bem-sucedida.

  6. (Opcional) Se você estiver expandindo um disco de dados cuja versão do kernel do SO é anterior à 3.6.0, após a conclusão da operação de extensão, você precisará executar reboot para disponibilizar o espaço adicional para uso.

    A reinicialização do SO interromperá os serviços. Para evitar qualquer perda de dados após a reinicialização, certifique-se de ter feito backup dos dados do disco antes da reinicialização. Para fazer backup de dados usando o CBR, consulte Backup de discos EVS. Para fazer backup de dados usando snapshots, consulte Criação de um snapshot do EVS.

Ampliação de uma partição MBR existente (para discos do sistema cuja versão do kernel é anterior à 3.6.0)

Originalmente, o disco do sistema /dev/vda tem 40 GiB e uma partição /dev/vda1. Em seguida, o disco é expandido para 100 GiB. O exemplo a seguir mostra como alocar os 60 GiB adicionais à partição /dev/vda1 existente.

  • Se a versão do kernel do SO for anterior à 3.6.0, você precisará reinicializar o sistema após expandir uma partição MBR existente para disponibilizar o espaço adicional. Durante a reinicialização, os serviços serão interrompidos. Após a reinicialização, o espaço adicional é automaticamente adicionado à última partição do disco do sistema.
  • Se a versão do kernel do seu SO for anterior à 3.6.0 e você quiser criar uma nova partição com o espaço adicional, consulte Criação de uma nova partição MBR.
  1. Faça login no servidor como usuário root.

    Para saber como fazer login em um ECS, consulte Como fazer login no meu ECS?

    Para saber como fazer login em um BMS, consulte Fazer login em um BMS.

  2. (Opcional) Instale a ferramenta dracut-modules-growroot.

    yum install dracut-modules-growroot

    [root@ecs-test-0002 ~]# yum install dracut-modules-growroot
    Loaded plugins: fastestmirror, security
    Setting up Install Process
    Loading mirror speeds from cached hostfile
    epel/metalink                                                                                                                      | 4.3 kB     00:00     
     * epel: pubmirror1.math.uh.edu
    base                                                                                                                               | 3.7 kB     00:00     
    extras                                                                                                                             | 3.4 kB     00:00     
    updates                                                                                                                            | 3.4 kB     00:00     
    Package dracut-modules-growroot-0.20-2.el6.noarch already installed and latest version
    Nothing to do

    Pule esta etapa se a ferramenta já estiver instalada.

  3. Regenerar o arquivo initramfs.

    dracut -f

    O arquivo initramfs ajuda o kernel do Linux a acessar drivers em dispositivos de armazenamento externos.

  4. Verifique as informações do disco /dev/vda.

    lsblk
    [root@ecs-test-0002 ~]# lsblk
    NAME   MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
    vda    253:0    0 100G  0 disk
    ├vda1 253:1    0  40G  0 part /
    vdb    253:16   0 100G  0 disk
    ├vdb1 253:17   0 100G  0 part /mnt/sdc

    Podemos ver que o disco do sistema /dev/vda tem a partição /dev/vda1, então o disco é expandido para 100 GiB e o espaço adicional não é alocado. Portanto, /dev/vda tem 100 GiB e /dev/vda1 tem 40 GiB.

  5. Reinicie o ECS.

    reboot

    Reconecte-se ao ECS depois que ele for reiniciado.

  6. Verifique as informações do disco /dev/vda.

    lsblk
    [root@ecs-test-0002 ~]# lsblk
    NAME   MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
    vda    253:0    0 100G  0 disk
    ├vda1 253:1    0 100G  0 part /
    vdb    253:16   0 100G  0 disk
    ├vdb1 253:17   0 100G  0 part /mnt/sdc

    Agora podemos ver que /dev/vda tem 100 GiB e /dev/vdb1 também tem 100 GiB.

Criação de uma nova partição MBR

Originalmente, o disco de dados /dev/vdb tem 100 GiB e uma partição /dev/vdb1, e então o disco é expandido para 150 GiB. O exemplo a seguir mostra como usar o fdisk para alocar os 50 GiB adicionais para uma nova partição (/dev/vdb2).

  1. Faça login no servidor como usuário root.

    Para saber como fazer login em um ECS, consulte Como fazer login no meu ECS?

    Para saber como fazer login em um BMS, consulte Fazer login em um BMS.

  2. Verifique as informações do disco /dev/vdb.

    1. Verifique os tamanhos das partições do disco.
      lsblk
      [root@ecs-test-0001 ~]# lsblk
      NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
      vda    253:0    0   40G  0 disk
      └vda1 253:1    0   40G  0 part /
      vdb    253:16   0  150G  0 disk
      └vdb1 253:17   0  100G  0 part /mnt/sdc

      Podemos ver que o disco de dados /dev/vdb tem a partição /dev/vdb1, então 50 GiB são adicionados ao disco, e os 50 GiB adicionais não são alocados. Portanto, /dev/vdb tem 150 GiB e /dev/vdb1 tem 100 GiB.

    1. Verifique o estilo de partição do disco.

      parted /dev/vdb

      p

      [root@ecs-test-0001 ~]# parted /dev/vdb
      GNU Parted 3.1
      Using /dev/vdb
      Welcome to GNU Parted! Type 'help' to view a list of commands.
      (parted) p
      Model: Virtio Block Device (virtblk)
      Disk /dev/vdb: 161GiB
      Sector size (logical/physical): 512B/512B
      Partition Table: msdos
      Disk Flags:
      
      Number  Start   End    Size   File system  Name        Flags
       1      1049kB  107GiB 107GiB ext4         /dev/vdb1
      
      (parted) 

      Neste exemplo, o disco usa MBR.

      Digite q e pressione Enter para sair do parted.

      • Se Partition Table: msdos for retornado, o estilo de partição é MBR.
      • Se Partition Table: gpt for retornado, o estilo de partição é GPT.
      • Se Partition Table: loop for retornado, o disco não está particionado (todo o disco é particionado em uma partição) e apenas um sistema de arquivos é criado.

  3. Use o espaço adicional para criar uma segunda partição primária /dev/vdb2 no disco /dev/vdb.

    1. Crie a partição.

      fdisk /dev/vdb

      n

      p
      [root@ecs-test-0001 ~]# fdisk /dev/vdb
      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.
      
      Device does not contain a recognized partition table
      Building a new DOS disklabel with disk identifier 0x38717fc1.
      
      Command (m for help): n
      Partition type:
         p   primary (0 primary, 0 extended, 4 free)
         e   extended
      Select (default p): p
      Partition number (2-4, default 2): 

    Partition type mostra que existem dois tipos de partições. Escolher p cria uma partição primária e escolher e cria uma partição estendida.

    Partition number indica o número de série da partição primária. Como o número da partição 1 foi usado, o valor varia de 2 para 4.

    As partições MBR incluem partições primárias e partições estendidas. São suportadas no máximo quatro partições primárias. Se precisar de mais partições, crie uma partição estendida. O número de partições lógicas permitidas na partição estendida não é limitado, pelo que, teoricamente, pode criar quantas partições lógicas quiser. Se precisar de cinco ou mais partições, utilize o modelo "partições primárias + uma partição estendida" e, em seguida, crie partições lógicas na partição estendida.

    1. Digite 2 como o número da partição primária e visualize o intervalo do primeiro setor.
      Partition number (2-4, default 2): 2
      First sector (83886080-209715199, default 83886080):

      First sector mostra o intervalo do primeiro setor. O valor varia de 83886080 a 209715199, e o valor padrão é 83886080.

    2. Pressione Enter para usar o primeiro setor padrão e, em seguida, pressione Enter para usar o último setor padrão.
      First sector (83886080-209715199, default 83886080): 
      using default value 83886080
      Last sector, +sectors or +size{K,M,G} (83886080-209715199, default 209715199):
      using default value 209715199
      Partition 2 of type Linux and of size 40 GB is set
      
      Command (m for help):

      Last sector mostra o intervalo do último setor. O valor varia de 83886080 a 209715199, e o valor padrão é 209715199.

      Se você quiser criar duas ou mais partições, calcule o primeiro e o último setor das partições da seguinte forma:

      Suponha que o disco de dados /dev/vdb tenha 100 GiB e que você vai parti-lo em duas partições primárias, a primeira partição primária /dev/vdb1 (40 GiB) e a segunda partição primária /dev/vdb2 (60 GiB). Para saber como calcular os valores do setor, consulte Tabela 2.

      Tabela 2 Os primeiros e últimos setores neste exemplo são calculados da seguinte forma

      Setor

      /dev/vdb1 (40 GiB)

      /dev/vdb2 (60 GiB)

      Fórmula para calcular o valor dos sectors

      Primeiro setor

      2048 (O primeiro setor do disco de dados /dev/vdb é usado.)

      Último setor de /dev/vdb1 + 1

      = 83886079 + 1

      = 83886080

      Value of sectors

      = Capacidade × 1073741824/512

      Último setor

      Valor dos setores – 1

      = (40 × 1073741824/512) – 1

      = 83886079

      Primeiro setor + Valor dos setores – 1

      = 83886080 + (60 × 1073741824/512) – 1

      = 209715199

  4. Verifique o tamanho e o estilo de partição da nova partição.

    1. Digite p e pressione Enter para imprimir os detalhes da partição /dev/vdb2
      Command (m for help): p
      
      Disk /dev/vdb: 107.4 GB, 107374182400 bytes, 209715200 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: 0x994727e5
      
         Device Boot       Start         End      Blocks   Id  System
      /dev/vdb1             2048    83886079    41942016   83  Linux
      /dev/vdb2         83886080   209715199    62914560   83  Linux
      
      Command (m for help):
    2. Digite w e pressione Enter para gravar as alterações na tabela de partições.

      Caso deseje descartar as alterações feitas anteriormente, você pode sair do fdisk digitando q e pressionando Enter. Em seguida, recrie a partição.

    3. Sincronize a nova tabela de partição com o SO.

      partprobe

  1. Crie um sistema de arquivos ext4 na partição /dev/vdb2.

    mkfs -t ext4 /dev/vdb2

    • mkfs -t <file-system-format> <disk-partition-name>: para criar um sistema de arquivos xfs, o comando é mkfs -t xfs <disk-partition-name>. Para criar um sistema de arquivos btrfs, o comando é mkfs -t btrfs <disk-partition-name>.
    • Leva algum tempo para criar sistemas de arquivos. Não saia antes que o sistema retorne as seguintes informações:
    [root@ecs-test-0001 ~]# mkfs -t ext4 /dev/vdb2
    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, 10485504 blocks
    524275 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

    Execute parted /dev/vdb e digite p para verificar o formato do sistema de arquivos.

    [root@ecs-test-0001 ~]# parted /dev/vdb
    GNU Parted 3.1
    Using /dev/vdb
    Welcome to GNU Parted! Type 'help' to view a list of commands.
    (parted) p
    Model: Virtio Block Device (virtblk)
    Disk /dev/vdb: 107GiB
    Sector size (logical/physical): 512B/512B
    Partition Table: msdos
    Disk Flags:
    
    Number  Start   End      Size     Type     File system  Flags
     1      1049kB  42.9GB   42.9GB   primary  ext4
     2      42.9GB  107GB    64.4GB   primary  ext4            
    
    (parted) q
    [root@ecs-test-0001 ~]#

    Digite q e pressione Enter para sair do parted.

    Um sistema de arquivos ext4 é criado para a partição /dev/vdb2.

  2. Crie um diretório (ponto de montagem) e monte a nova partição no ponto de montagem criado.

    mkdir -p /mnt/sdd

    mount /dev/vdb2 /mnt/sdd

    lsblk

    Veja os resultados da montagem.
    [root@ecs-test-0001 ~]# lsblk
    NAME   MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
    vda    253:0    0  40G  0 disk
    ├vda1 253:1    0  40G  0 part /
    vdb    253:16   0 150G  0 disk
    ├vdb1 253:17   0  100G  0 part /mnt/sdc
    ├vdb2 253:18   0  50G  0 part /mnt/sdd

    Agora você deve ver que a partição /dev/vdb2 está montada em /mnt/sdd.

  3. Use o UUID da partição para configurar a montagem automática na inicialização.

    • Se os nomes dos dispositivos forem usados para identificar discos no arquivo /etc/fstab, sua execução de ECS poderá falhar após a reinicialização. Isso ocorre porque os nomes dos dispositivos são atribuídos dinamicamente e podem mudar (por exemplo, de /dev/vdb1 para /dev/vdb2) após a parada ou inicialização do ECS.
    • Os UUIDs são as cadeias de caracteres únicas para identificar partições no Linux.
    1. Consulte o UUID da partição /dev/vdb2.

      blkid /dev/vdb2

      [root@ecs-test-0001 ~]# blkid /dev/vdb2
      /dev/vdb2: UUID="0b3040e2-1367-4abb-841d-ddb0b92693df" TYPE="ext4"

      Anote o UUID da partição, que será usado na próxima etapa. Neste exemplo, o UUID da partição /dev/vdb2 é 0b3040e2-1367-4abb-841d-ddb0b92693df.

    2. Configure a montagem automática na inicialização.

      vi /etc/fstab

      Pressione i para entrar no modo de edição, mova o cursor para o final do arquivo, pressione Enter e adicione as informações da partição.
      UUID=0b3040e2-1367-4abb-841d-ddb0b92693df    /mnt/sdd     ext4    defaults     0    2

      Pressione Esc, digite :wq e pressione Enter para salvar as configurações e sair do editor vi.

      Tabela 3 Descrição do parâmetro

      Exemplo de valor

      Descrição

      UUID=0b3040e2-1367-4abb-841d-ddb0b92693df

      O UUID da partição.

      /mnt/sdc

      O ponto de montagem da partição.

      ext4

      O formato do sistema de arquivos da partição.

      defaults

      A opção de montagem da partição. Normalmente, esse parâmetro é definido como defaults.

      0

      • A opção de backup de despejo do Linux.
        • 0: o backup de despejo do Linux não é usado. Normalmente, o backup de despejo não é usado e você pode definir esse parâmetro como 0.
        • 1: o backup de despejo do Linux é usado.

      2

      • A opção fsck, que significa se o fsck deve ser usado para verificar o disco durante a inicialização.
        • 2: a verificação começa a partir das partições cujos pontos de montagem são diretórios não raiz. / é o diretório raiz.
        • 1: a verificação começa a partir das partições cujos pontos de montagem são diretórios raiz.
        • 0: a opção fsck não é usada.

  4. Verifique se a montagem automática entra em vigor.

    Você pode reiniciar o servidor para verificar se a montagem automática entra em vigor. Como alternativa, você pode executar as seguintes etapas para simular a montagem automática.

    1. Para verificar a montagem automática, desmonte a partição primeiro.

    umount /dev/vdb2

    1. Recarregue todo o conteúdo no arquivo /etc/fstab. /etc/fstab é uma tabela de sistema de arquivos estático que contém a lista de sistemas de arquivos que precisam ser montados automaticamente durante a inicialização do sistema.

    mount -a

    O sistema recarrega todo o conteúdo no arquivo /etc/fstab.

    1. Consulte as informações de montagem do sistema de arquivos.

    mount | grep /mnt/sdd

    Se informações semelhantes às seguintes forem exibidas, a montagem automática entrou em vigor:

    root@ecs-test-0001 ~]# mount | grep /mnt/sdd
    /dev/vdb2 on /mnt/sdd type ext4 (rw,relatime,data=ordered)

Criação de uma nova partição GPT

Originalmente, o disco de dados /dev/vdb tem 2 TiB e uma partição /dev/vdb1, e então o disco é expandido para 3 TiB. O exemplo a seguir mostra como usar o parted para alocar 1 TiB adicional para uma nova partição GPT (/dev/vdb2).

  1. Faça login no servidor como usuário root.

    Para saber como fazer login em um ECS, consulte Como fazer login no meu ECS?

    Para saber como fazer login em um BMS, consulte Fazer login em um BMS.

  2. Verifique as informações do disco /dev/vdb.

    1. Verifique os tamanhos das partições do disco.
      lsblk
      [root@ecs-test-0001 ~]# lsblk
      NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
      vda    253:0    0   40G  0 disk
      └vda1 253:1    0   40G  0 part /
      vdb    253:16   0  3T  0 disk
      └vdb1 253:17   0  2T  0 part /mnt/sdc

      Podemos ver que o disco de dados /dev/vdb tem a partição /dev/vdb1, então 1 TiB é adicionado ao disco e o espaço adicional não é alocado. Portanto, /dev/vdb tem 3 TiB e /dev/vdb1 tem 2 TiB.

    1. Verifique o estilo de partição do disco.

      parted /dev/vdb

      p

      [root@ecs-test-0001 ~]# parted /dev/vdb
      GNU Parted 3.1
      Using /dev/vdb
      Welcome to GNU Parted! Type 'help' to view a list of commands.
      (parted) p
      Model: Virtio Block Device (virtblk)
      Disk /dev/vdb: 3299GB
      Sector size (logical/physical): 512B/512B
      Partition Table: gpt
      Disk Flags:
      
      Number  Start   End    Size   File system  Name        Flags
       1      1049kB  2199GB 2199GB ext4         /dev/vdb1
      
      (parted) 

      Neste exemplo, o disco usa GPT.

      Digite q e pressione Enter para sair do parted.

      • Se Partition Table: msdos for retornado, o estilo de partição é MBR.
      • Se Partition Table: gpt for retornado, o estilo de partição é GPT.
      • Se Partition Table: loop for retornado, o disco não está particionado (todo o disco é particionado em uma partição) e apenas um sistema de arquivos é criado.

  3. Crie uma nova partição /dev/vdb2 no disco /dev/vdb.

    1. Crie a partição /dev/vdb2.

      parted /dev/vdb

      unit s

      p

      [root@ecs-centos74 ~]# parted /dev/vdb
      GNU Parted 3.1
      Using /dev/vdb
      Welcome to GNU Parted! Type 'help' to view a list of commands.
      (parted) unit s
      (parted) p
      Model: Virtio Block Device (virtblk)
      Disk /dev/vdb: 6442450944s
      Sector size (logical/physical): 512B/512B
      Partition Table: gpt
      Disk Flags:
      
      Number  Start     End           Size          File system    Name       Flags
       1      2048s     4294965247s   4294963200s   ext4           /dev/vdb1  
      (parted)

      Observe o último setor, que será usado na próxima etapa. Neste exemplo, o último setor da partição /dev/vdb1 é 4294965247s.

      • Se a mensagem de erro -bash: parted: command not found for retornada, o sistema não poderá identificar o comando. Nesse caso, execute yum install -y parted para instalar o comando. Em seguida, execute o comando novamente.
      • Se as seguintes informações de erro forem exibidas, insira Fix.
        Error: The backup GPT table is not at the end of the disk, as it should be.  This might mean that another operating system believes the disk is smaller.  Fix, by moving the backup to the end (and removing the old backup)?
        Fix/Ignore/Cancel?

        As informações da tabela de partição GPT são armazenadas no início do disco. Para reduzir o risco de danos, um backup das informações é salvo no final do disco. Quando você estende o disco, o final do disco muda de acordo. Nesse caso, insira Fix para mover o arquivo de backup das informações para o final do novo disco.

      • Se as seguintes informações de aviso forem exibidas, insira Fix.
        Warning: Not all of the space available to /dev/vdb appears to be used, you can fix the GPT to use all of the space (an extra 104857600 blocks) or continue with the current setting?
        Fix/Ignore? 

        Depois de inserir Fix, o sistema define automaticamente o estilo de partição GPT para o espaço adicional.

    1. Defina o nome e o tamanho da partição.

      mkpart /dev/vdb2 4294965248s 100%

      p

      • mkpart <partition-name> <first-sector-value> <last-sector-value>: no comando de exemplo, o primeiro setor é 4294965248s, que é o último setor de /dev/vdb1 mais um. 100% indica a alocação de 100% do espaço em disco para a partição /dev/vdb2.
      • Se você quiser alocar o espaço adicional para duas ou mais partições, calcule os primeiros e últimos setores das partições com base no método fornecido em Tabela 2.

    Digite q e pressione Enter para sair do parted.

    1. Verifique a partição /dev/vdb2.

      lsblk

      [root@ecs-centos74 ~]# lsblk
      NAME     MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
      vda      253:0    0    40G  0 disk
      ├─vda1 253:1    0    40G  0 part /
      vdb      253:16   0    3T  0 disk
      ├─vdb1 253:17   0    2T  0 part /mnt/sdc
      ├─vdb2 253:18   0    1T  0 part

  4. Crie um sistema de arquivos ext4 na partição /dev/vdb2.

    mkfs -t ext4 /dev/vdb2

    • mkfs -t <file-system-format> <disk-partition-name>: para criar um sistema de arquivos xfs, o comando é mkfs -t xfs <disk-partition-name>. Para criar um sistema de arquivos btrfs, o comando é mkfs -t btrfs <disk-partition-name>.
    • Leva algum tempo para criar sistemas de arquivos. Não saia antes que o sistema retorne as seguintes informações:
    [root@ecs-test-0001 ~]# mkfs -t ext4 /dev/vdb2
    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
    67108864 inodes, 268435456 blocks
    13421772 blocks (5.00%) reserved for the super user
    First data block=0
    Maximum filesystem blocks=2415919104
    8192 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, 11239424, 20480000, 23887872, 71663616, 78675968,
            102400000, 214990848
    
    Allocating group tables: done
    Writing inode tables: done
    Creating journal (32768 blocks): done
    Writing superblocks and filesystem accounting information: done
    [root@ecs-test-0001 ~]#

    Execute parted /dev/vdb e digite p para verificar o formato do sistema de arquivos.

    [root@ecs-test-0001 ~]# parted /dev/vdb
    GNU Parted 3.1
    Using /dev/vdb
    Welcome to GNU Parted! Type 'help' to view a list of commands.
    (parted) p
    Model: Virtio Block Device (virtblk)
    Disk /dev/vdb: 3299GB
    Sector size (logical/physical): 512B/512B
    Partition Table: gpt
    Disk Flags:
    
    Number  Start   End      Size     File system  Name        Flags
     1      1049kB  2199GB   2199GB   ext4         /dev/vdb1           
     2      2199GB  3299GB   1100GB   ext4         /dev/vdb2
    
    (parted) q
    [root@ecs-test-0001 ~]#

    Digite q e pressione Enter para sair do parted.

  5. Crie um diretório (ponto de montagem) e monte a nova partição no ponto de montagem criado.

    mkdir -p /mnt/sdc

    mount /dev/vdb1 /mnt/sdc

    lsblk

    [root@ecs-test-0001 ~]# lsblk
    NAME   MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
    vda    253:0    0  40G  0 disk
    ├vda1 253:1    0  40G  0 part /
    vdb    253:16   0   3T  0 disk
    ├vdb1 253:17   0   2T  0 part /mnt/sdc
    ├vdb2 253:18   0   1T  0 part /mnt/sdd

    Agora você deve ver que a partição /dev/vdb2 está montada em /mnt/sdd.

  6. Use o UUID da partição para configurar a montagem automática na inicialização.

    • Se os nomes dos dispositivos forem usados para identificar discos no arquivo /etc/fstab, sua execução de ECS poderá falhar após a reinicialização. Isso ocorre porque os nomes dos dispositivos são atribuídos dinamicamente e podem mudar (por exemplo, de /dev/vdb1 para /dev/vdb2) após a parada ou inicialização do ECS.
    • Os UUIDs são as cadeias de caracteres únicas para identificar partições no Linux.
    1. Consulte o UUID da partição /dev/vdb2.

      blkid /dev/vdb2

      [root@ecs-test-0001 ~]# blkid /dev/vdb2
      /dev/vdb2: UUID="0b3040e2-1367-4abb-841d-ddb0b92693df" TYPE="ext4"

      Anote o UUID da partição, que será usado na próxima etapa. Neste exemplo, o UUID da partição /dev/vdb2 é 0b3040e2-1367-4abb-841d-ddb0b92693df.

    2. Configure a montagem automática na inicialização.

      vi /etc/fstab

      Pressione i para entrar no modo de edição, mova o cursor para o final do arquivo, pressione Enter e adicione as informações da partição.
      UUID=0b3040e2-1367-4abb-841d-ddb0b92693df    /mnt/sdd     ext4    defaults     0    2

      Pressione Esc, digite :wq e pressione Enter para salvar as configurações e sair do editor vi.

      Tabela 4 Descrição do parâmetro

      Exemplo de valor

      Descrição

      UUID=0b3040e2-1367-4abb-841d-ddb0b92693df

      O UUID da partição.

      /mnt/sdc

      O ponto de montagem da partição.

      ext4

      O formato do sistema de arquivos da partição.

      defaults

      A opção de montagem da partição. Normalmente, esse parâmetro é definido como defaults.

      0

      • A opção de backup de despejo do Linux.
        • 0: o backup de despejo do Linux não é usado. Normalmente, o backup de despejo não é usado e você pode definir esse parâmetro como 0.
        • 1: o backup de despejo do Linux é usado.

      2

      • A opção fsck, que significa se o fsck deve ser usado para verificar o disco durante a inicialização.
        • 2: a verificação começa a partir das partições cujos pontos de montagem são diretórios não raiz. / é o diretório raiz.
        • 1: a verificação começa a partir das partições cujos pontos de montagem são diretórios raiz.
        • 0: a opção fsck não é usada.

  1. Verifique se a montagem automática entra em vigor.

    Você pode reiniciar o servidor para verificar se a montagem automática entra em vigor. Como alternativa, você pode executar as seguintes etapas para simular uma reinicialização do sistema e um mount automático.

    1. Para verificar a montagem automática, desmonte a partição primeiro.

    umount /dev/vdb2

    1. Recarregue todo o conteúdo no arquivo /etc/fstab. /etc/fstab é uma tabela de sistema de arquivos estático que contém a lista de sistemas de arquivos que precisam ser montados automaticamente durante a inicialização do sistema.

    mount -a

    1. Consulte as informações de montagem do sistema de arquivos.

    mount | grep /mnt/sdd

    Se informações semelhantes às seguintes forem exibidas, a montagem automática entrou em vigor:

    root@ecs-test-0001 ~]# mount | grep /mnt/sdd
    /dev/vdb2 on /mnt/sdd type ext4 (rw,relatime,data=ordered)

Links relacionados