Estender um sistema de arquivos após redimensionar um volume do Amazon EBS - Amazon EBS

Estender um sistema de arquivos após redimensionar um volume do Amazon EBS

Após aumentar o tamanho de um volume do EBS, é necessário estender a partição e o sistema de arquivos para o novo tamanho maior. Você poderá fazer isso à medida que o volume entrar no estado optimizing.

Antes de começar

nota

As instruções a seguir demonstram o processo de extensão de sistemas de arquivos XFS e Ext4 para Linux. Para obter informações sobre como estender um sistema de arquivos diferente, consulte sua documentação.

Para estender um sistema de arquivos no Linux, é necessário estender a partição, se houver uma no volume.

Estender o sistema de arquivos de volumes do EBS

Use o procedimento a seguir para estender o sistema de arquivos de um volume redimensionado.

A nomenclatura de dispositivo e partição é diferente para instâncias Xen e instâncias criadas no Nitro System. Para determinar se a instância é baseada em Xen ou em Nitro, use o comando describe-instance-types da AWS CLI da seguinte forma:

[ec2-user ~]$ aws ec2 describe-instance-types --instance-type instance_type --query "InstanceTypes[].Hypervisor"

O nitro indica que a instância é baseada no Nitro. xen indica que a instância é baseada no Xen.

Como estender o sistema de arquivos de volumes do EBS
  1. Conecte-se à sua instância.

  2. Redimensione a partição, se necessário. Para fazer isso:

    1. Verifique se o volume tem uma partição. Use o comando lsblk.

      Nitro instance example

      No exemplo de saída a seguir, o volume raiz (nvme0n1) tem duas partições (nvme0n1p1 e nvme0n1p128), enquanto o volume adicional (nvme1n1) não tem partições.

      [ec2-user ~]$ sudo lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT nvme1n1 259:0 0 30G 0 disk /data nvme0n1 259:1 0 16G 0 disk └─nvme0n1p1 259:2 0 8G 0 part / └─nvme0n1p128 259:3 0 1M 0 part
      Xen instance example

      No exemplo de saída a seguir, o volume raiz (xvda) tem uma partição (xvda1), enquanto o volume adicional (xvdf) não tem partições.

      [ec2-user ~]$ sudo lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT xvda 202:0 0 16G 0 disk └─xvda1 202:1 0 8G 0 part / xvdf 202:80 0 24G 0 disk

      Se o volume tiver uma partição, continue o procedimento a partir da etapa a seguir (2b). Se o volume não tiver partições, pule as etapas 2b, 2c e 2d e continue o procedimento a partir da etapa 3.

      Dica de solução de problemas

      Caso não esteja visualizando o volume na saída do comando, verifique se o volume está anexado à instância e se está formatado e montado.

    2. Verifique se é necessário estender a partição. Na saída do comando lsblk da etapa anterior, compare o tamanho da partição e o tamanho do volume.

      Se o tamanho da partição for menor que o tamanho do volume, siga para a próxima etapa. Se o tamanho da partição for igual ao tamanho do volume, não será possível estender a partição.

      Dica de solução de problemas

      Se o volume ainda refletir o tamanho original, confirme se o volume foi modificado corretamente.

    3. Estenda a partição. Use o comando growpart e especifique o nome do dispositivo e o número da partição.

      Nitro instance example

      O número da partição é o número depois de p. Por exemplo, em nvme0n1p1, o número da partição é 1. Em nvme0n1p128, o número da partição é 128.

      Para estender uma partição denominada nvme0n1p1, use o comando a seguir.

      Importante

      Observe o espaço entre o nome do dispositivo (nvme0n1) e o número da partição (1).

      [ec2-user ~]$ sudo growpart /dev/nvme0n1 1
      Xen instance example

      O número da partição é o número depois do número do dispositivo. Por exemplo, em xvda1, o número da partição é 1. Em xvda128, o número da partição é 128.

      Para estender uma partição denominada xvda1, use o comando a seguir.

      Importante

      Observe o espaço entre o nome do dispositivo (xvda) e o número da partição (1).

      [ec2-user ~]$ sudo growpart /dev/xvda 1
      Dicas de solução de problemas
      • mkdir: cannot create directory ‘/tmp/growpart.31171’: No space left on device FAILED: failed to make temp dir: indica que não há espaço livre em disco suficiente no volume para que o growpart crie o diretório temporário necessário para realizar o redimensionamento. Libere espaço em disco e tente novamente.

      • must supply partition-number: indica que você especificou uma partição incorreta. Use o comando lsblk para confirmar o nome da partição e verifique se inseriu um espaço entre o nome do dispositivo e o número da partição.

      • NOCHANGE: partition 1 is size 16773087. it cannot be grown: indica que a partição já estende todo o volume e não pode ser estendida. Confirme se o volume foi modificado corretamente.

    4. Verifique se a partição foi estendida. Use o comando lsblk. O tamanho da partição agora deve ser igual ao tamanho do volume.

      Nitro instance example

      O exemplo de saída a seguir mostra que o volume (nvme0n1) e a partição (nvme0n1p1) têm o mesmo tamanho (16 GB).

      [ec2-user ~]$ sudo lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT nvme1n1 259:0 0 30G 0 disk /data nvme0n1 259:1 0 16G 0 disk └─nvme0n1p1 259:2 0 16G 0 part / └─nvme0n1p128 259:3 0 1M 0 part
      Xen instance example

      O exemplo de saída a seguir mostra que o volume (xvda) e a partição (xvda1) têm o mesmo tamanho (16 GB).

      [ec2-user ~]$ sudo lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT xvda 202:0 0 16G 0 disk └─xvda1 202:1 0 16G 0 part / xvdf 202:80 0 24G 0 disk
  3. Estenda o sistema de arquivos.

    1. Obtenha o nome, o tamanho, o tipo e o ponto de montagem do sistema de arquivos que precisa estender. Use o comando df -hT.

      Nitro instance example

      O exemplo de saída a seguir mostra que o sistema de arquivos /dev/nvme0n1p1 tem 8 GB de tamanho, seu tipo é xfs e seu ponto de montagem é /.

      [ec2-user ~]$ df -hT Filesystem Type Size Used Avail Use% Mounted on /dev/nvme0n1p1 xfs 8.0G 1.6G 6.5G 20% / /dev/nvme1n1 xfs 8.0G 33M 8.0G 1% /data ...
      Xen instance example

      O exemplo de saída a seguir mostra que o sistema de arquivos /dev/xvda1 tem 8 GB de tamanho, seu tipo é ext4 e seu ponto de montagem é /.

      [ec2-user ~]$ df -hT Filesystem Type Size Used Avail Use% Mounted on /dev/xvda1 ext4 8.0G 1.9G 6.2G 24% / /dev/xvdf1 xfs 24.0G 45M 8.0G 1% /data ...
    2. Os comandos para estender o sistema de arquivos diferem conforme o tipo de sistema de arquivos. Escolha o comando correto abaixo com base no tipo de sistema de arquivos observado na etapa anterior.

      • [Sistema de arquivos XFS] Use o comando xfs_growfs e especifique o ponto de montagem do sistema de arquivos observado na etapa anterior.

        Nitro and Xen instance example

        Por exemplo, para estender um sistema de arquivos montado em /, use o comando a seguir.

        [ec2-user ~]$ sudo xfs_growfs -d /
        Dicas de solução de problemas
        • xfs_growfs: /data is not a mounted XFS filesystem: indica que você especificou o ponto de montagem incorreto ou que o sistema de arquivos não é XFS. Para verificar o ponto de montagem e tipo de sistema de arquivos, use o comando df -hT.

        • data size unchanged, skipping: indica que o sistema de arquivos já estende todo o volume. Se o volume não tiver partições, confirme se o volume foi modificado corretamente. Se o volume tiver partições, verifique se a partição foi estendida, conforme descrito na etapa 2.

      • [Sistema de arquivos Ext4] Use o comando resize2fs e especifique o nome do sistema de arquivos observado na etapa anterior.

        Nitro instance example

        Por exemplo, para estender um sistema de arquivos montado chamado /dev/nvme0n1p1, use o comando a seguir.

        [ec2-user ~]$ sudo resize2fs /dev/nvme0n1p1
        Xen instance example

        Por exemplo, para estender um sistema de arquivos montado chamado /dev/xvda1, use o comando a seguir.

        [ec2-user ~]$ sudo resize2fs /dev/xvda1
        Dicas de solução de problemas
        • resize2fs: Bad magic number in super-block while trying to open /dev/xvda1: indica que o sistema de arquivos não é Ext4. Para verificar o tipo de sistema de arquivos, use o comando df -hT.

        • open: No such file or directory while opening /dev/xvdb1: indica que você especificou uma partição incorreta. Para verificar a partição, use o comando df -hT.

        • The filesystem is already 3932160 blocks long. Nothing to do!: indica que o sistema de arquivos já estende todo o volume. Se o volume não tiver partições, confirme se o volume foi modificado corretamente. Se o volume tiver partições, verifique se a partição foi estendida, conforme descrito na etapa 2.

      • [Outro sistema de arquivos] Consulte a documentação de seu sistema de arquivos para obter instruções.

    3. Verifique se o sistema de arquivos foi estendido. Use o comando df -hT e confirme se o tamanho do sistema de arquivos é igual ao tamanho do volume.

Use um dos métodos a seguir para estender o sistema de arquivos em uma instância do Windows.

Disk Management utility
Como estender um sistema de arquivos usando o Gerenciamento de disco
  1. Antes de estender um sistema de arquivos que contém dados valiosos, o melhor é criar um snapshot do volume que o contém, caso você precise voltar suas alterações. Para ter mais informações, consulte Criar snapshots de Amazon EBS.

  2. Execute a sessão da sua instância do Windows usando o Desktop Remoto.

  3. Na caixa de diálogo Run (Executar), digite diskmgmt.msc e pressione Enter. O utilitário de gerenciamento de disco se abre.

    Utilitário de gerenciamento de disco do Windows Server
  4. No menu Gerenciamento de Disco, escolha Ação, Examinar Discos Novamente.

  5. Abra o menu contextual (botão direito do mouse) da unidade expandida e escolha Estender volume.

    nota

    Extend Volume (Estender volume) pode ser desativado (acinzentado) se:

    • O espaço não alocado não é adjacente ao drive. O espaço não alocado deve ser adjacente ao lado direito da unidade que você deseja estender.

    • O volume usa o estilo de partição Master Boot Record (MBR) e já tem 2 TB. Os volumes que usam MBR não podem exceder 2 TB.

    Utilitário de gerenciamento de disco do Windows Server
  6. No assistente Extend Volume (Estender volume), selecione Next (Próximo). Para Selecione o espaço em MB, digite o número de megabytes pelos quais ampliar o volume. Geralmente, você especifica o espaço máximo disponível. O texto destacado em Selected é a quantidade de espaço que será adicionada, não o tamanho final que o volume terá. Assista todo o assistente.

    Assistente de extensão do volume do Windows Server
  7. Se você aumentar o tamanho de um volume NVMe em uma instância que não tiver o driver do AWS NVMe, reinicie a instância para permitir que o Windows visualize o novo tamanho do volume. Para obter mais informações sobre a instalação de drivers do AWS NVMe, consulte Drivers do AWS NVMe para instâncias do Windows.

PowerShell

Use o procedimento a seguir para estender um sistema de arquivos do Windows usando o PowerShell.

Como estender um sistema de arquivos usando o PowerShell
  1. Antes de estender um sistema de arquivos que contém dados valiosos, o melhor é criar um snapshot do volume que o contém, caso você precise voltar suas alterações. Para ter mais informações, consulte Criar snapshots de Amazon EBS.

  2. Execute a sessão da sua instância do Windows usando o Desktop Remoto.

  3. Execute o PowerShell como administrador.

  4. Execute o comando Get-Partition. O PowerShell retornará o número da partição correspondente, a mensagem da unidade, o deslocamento, o tamanho e o tipo. Observe a letra da unidade da partição a ser estendida.

  5. Execute o seguinte comando para verificar o disco novamente.

    "rescan" | diskpart
  6. Execute o seguinte comando, usando a mensagem da unidade que você anotou na etapa 4 no lugar de <drive-letter>. O PowerShell retornará o tamanho mínimo e máximo da partição permitida, em bytes.

    Get-PartitionSupportedSize -DriveLetter <drive-letter>
  7. Para estender a partição para uma quantidade específica, execute o comando a seguir, inserindo o novo tamanho do volume no lugar de <size>. É possível inserir o tamanho em KB, MB e GB, por exemplo, 50GB.

    Resize-Partition -DriveLetter <drive-letter> -Size <size>

    Para estender a partição para o tamanho máximo disponível, execute o seguinte comando.

    Resize-Partition -DriveLetter <drive-letter> -Size $(Get-PartitionSupportedSize -DriveLetter <drive-letter>).SizeMax

    Os comandos de PowerShell a seguir mostram o fluxo completo de comando e resposta para estender um sistema de arquivos para um tamanho específico.

    Estender uma partição usando o PowerShell - específico

    Os comandos de PowerShell a seguir mostram o fluxo completo de comando e resposta para estender um sistema de arquivos para o tamanho máximo disponível.

    Estender uma partição usando o PowerShell - máximo