Inicializar volumes de Amazon EBS - Amazon EBS

Inicializar volumes de Amazon EBS

Quando você cria um volume do Amazon EBS, a partir de um snapshot do EBS ou de outro volume do EBS (cópia do volume), os blocos de dados devem ser gravados no volume antes que você possa acessá-los. Para volumes criados a partir de snapshots, os blocos de dados devem ser baixados do Amazon S3 para o novo volume. Para cópias de volume, os blocos de dados devem ser copiados do volume de origem para a cópia do volume. Esse processo é chamado de inicialização de volume. Durante esse tempo, o volume que está sendo inicializado pode apresentar um aumento de latência de E/S e diminuição do desempenho. O desempenho de volume máximo é obtido apenas depois que todos os blocos de armazenamento foram baixados e gravados no volume.

nota

Os volumes vazios oferecem a performance máxima imediatamente após a criação do e não exigem inicialização.

A taxa padrão de inicialização do volume varia durante todo o processo de inicialização, o que pode tornar os tempos de conclusão imprevisíveis. Para minimizar os impactos no desempenho associados à inicialização do volume, você pode usar as seguintes opções:

nota

A taxa de inicialização de volume e a restauração rápida de snapshots não são suportadas para cópias de volume. Para obter mais informações, consulte Inicialização de cópia de volume.

Use uma taxa provisionada do Amazon EBS para inicialização de volume

Ao criar um volume do Amazon EBS a partir de um snapshot, você pode, opcionalmente, especificar uma taxa provisionada do Amazon EBS para inicialização de volume (taxa de inicialização de volume) que varia de 100 a 300 MiB/s. Se você especificar uma taxa de inicialização de volume, os blocos de snapshot serão baixados do Amazon S3 e gravados no volume na taxa especificada após a criação. Isso permite que você crie volumes que se tornam totalmente inicializados e com desempenho total em um período de tempo previsível.

Usar uma taxa de inicialização de volume é especialmente útil quando você cria vários volumes simultaneamente e precisa que todos sejam inicializados em um período de tempo previsível.

nota

A taxa provisionada do Amazon EBS para inicialização de volume é compatível com todos os tipos de volumes do Amazon EBS e todos os tipos de instâncias do Amazon EC2, incluindo instâncias do Amazon EC2 do Mac.

Você pode especificar uma taxa de inicialização de volume:

  • Para solicitações individuais de criação de volume

  • Para mapeamentos de dispositivos de blocos de volumes do EBS em solicitações de inicialização de instância

  • Para mapeamentos de dispositivos de blocos de volumes do EBS em modelos de inicialização

  • Para volumes do EBS criados por tarefas de substituição do volume raiz

  • Para volumes do EBS em clusters do Amazon EKS (criados pelo EBS CSI Driver) e clusters do Amazon ECS

Como funciona

Quando você cria um volume com uma taxa de inicialização de volume, os blocos de snapshot são baixados do Amazon S3 para o volume na taxa especificada.

O tempo necessário para inicializar o volume depende do seguinte:

  • O tamanho dos dados do snapshot, não o tamanho do volume que está sendo criado.

    dica

    Para descobrir o tamanho dos dados de um snapshot, verifique o campo FullSnapshotSizeInBytes na saída do comando describe-snapshots ou o campo Tamanho total do snapshot no console.

  • A taxa de inicialização do volume que você especifica

Por exemplo, se você criar um volume de 20 GiB usando um snapshot com 10 GiB de dados e especificar uma taxa de inicialização de volume de 300 MiB/s, o volume será totalmente inicializado em aproximadamente 34,1 segundos (10 GiB/300 MiB/s = 34,1 segundos). Da mesma forma, se você criar 10 volumes com o mesmo snapshot e taxa de inicialização de volume simultaneamente, todos os 10 volumes serão totalmente inicializados em 34,1 segundos.

Considerações

  • Você pode especificar uma taxa de inicialização de volume entre 100 e 300 MiB/s.

  • Quando você especifica uma taxa de inicialização de volume, as cobranças e o tempo de conclusão são baseados no tamanho dos dados do snapshot (não no tamanho do volume) e na taxa especificada. Para obter mais informações, consulte Faturamento.

  • O Amazon EBS fornece uma taxa média que está dentro de 10 por cento da taxa de inicialização de volume que você especifica em 99 por cento do tempo.

  • Se você especificar uma taxa de inicialização de volume e usar um snapshot que está habilitado para restauração rápida de snapshots, o Amazon EBS usa a taxa especificada em vez da restauração rápida de snapshots. Para usar a restauração rápida de snapshots em vez disso, não especifique uma taxa de inicialização de volume.

  • Se o Amazon EBS não conseguir inicializar o volume na taxa de inicialização de volume especificada devido a restrições de capacidade ou porque você excedeu sua cota, a solicitação falhará.

  • Você não pode especificar uma taxa de inicialização de volume para volumes criados no AWS Outposts, ou em zonas locais ou zonas de Wavelength.

Cotas

Há um limite de 5.000 MiB/s na taxa cumulativa de inicialização de volume que você pode solicitar em todas as solicitações simultâneas de criação de volumes. Por exemplo, você pode fazer 50 solicitações simultâneas de criação de volumes com uma taxa de 100 MiB/s (50 solicitações simultâneas * taxa de 100 MiB/s) ou 25 solicitações simultâneas com uma taxa de 200 MiB/s (25 solicitações simultâneas * taxa de 200 MiB/s). Esse limite se aplica por região. Se uma solicitação exceder esse limite, ela falhará. Aguarde a conclusão de algumas das solicitações em andamento ou solicite um aumento de cota. Para obter mais informações, consulte Cotas do Amazon EBS.

Faturamento

Quando você cria um volume com uma taxa de inicialização de volume, é cobrada uma taxa por GiB de dados de snapshot, por MiB da taxa de inicialização especificada. A taxa varia com base na região. Para obter mais informações, consulte Definição de preço do Amazon EBS.

Você é cobrado com base no tamanho dos dados do snapshot, não no tamanho do volume. Por exemplo, se você criar um snapshot de um volume com 100 GiB de tamanho, mas com apenas 50 GiB de dados, o snapshot terá um tamanho de volume de 100 GiB, mas o tamanho dos dados do snapshot será de 50 GiB. Se você usar esse snapshot para criar um volume e especificar uma taxa de inicialização de volume, suas cobranças serão baseadas nos 50 GiB de dados do snapshot.

dica

Para descobrir o tamanho dos dados de um snapshot, verifique o campo FullSnapshotSizeInBytes na saída do comando describe-snapshots ou o campo Tamanho total do snapshot no console.

A fórmula é a seguinte:

rate for Region x snapshot data size x volume initialization rate

Você receberá a cobrança do valor total quando o volume entrar no estado active. Solicitações com falha não são cobradas.

Se você excluir um volume antes da conclusão da inicialização do volume, você ainda será cobrado pela taxa de inicialização do volume solicitada.

Usar um snapshot que esteja habilitado para restauração rápida de snapshots

Se você criar um volume a partir de um snapshot habilitado para restauração rápida de snapshots, o volume será totalmente inicializado na criação e fornecerá imediatamente seu desempenho total. Para obter mais informações sobre como usar a restauração rápida de snapshots, consulte Restauração rápida de snapshots do Amazon EBS.

Inicialize manualmente o volume após a criação

Você pode inicializar manualmente um volume do Amazon EBS após a criação para ajudar a minimizar os impactos na performance de inicialização do volume.

Você pode usar os procedimentos a seguir para inicializar manualmente um volume do Amazon EBS após a criação.

Importante

Durante a inicialização dos volumes de Provisioned IOPS SSD que foram criados de snapshots, a performance do volume pode ser reduzida para menos de 50% de seu nível esperado, o que faz com que o volume exiba um estado de warning na verificação do status de I/O Performance (Performance de E/S). Isso é esperado, e é possível ignorar o estado de warning em volumes de Provisioned IOPS SSD enquanto estiver inicializando esses volumes. Para obter mais informações, consulte Verificações de status de volume do Amazon EBS.

Como inicializar um volume criado de um snapshot no Linux
  1. Anexe o volume recentemente restaurado à sua instância do Linux.

  2. Use o comando lsblk para relacionar os dispositivos de blocos em sua instância.

    $ lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT xvdf 202:80 0 30G 0 disk xvda1 202:1 0 8G 0 disk /

    Aqui é possível ver que o volume novo /dev/xvdf, está anexado, mas não montado (porque não há caminho listado na coluna MOUNTPOINT).

  3. Use os utilitários dd ou fio para ler todos os blocos do dispositivo. O comando dd é instalado por padrão em sistemas Linux, mas fio é consideravelmente mais rápido porque permite leituras encadeadas várias vezes.

    nota

    Essa etapa pode levar de vários minutos a várias horas, dependendo da largura de banda da instância do EC2, das IOPS provisionadas para o volume e do tamanho do volume.

    [dd] O parâmetro if (arquivo de entrada) deve ser configurado na unidade que você deseja inicializar. O parâmetro of (arquivo de saída) deve ser definido no dispositivo virtual nulo do Linux, /dev/null. O parâmetro bs define o tamanho do bloco da operação de leitura. Para a performance ideal, ele deve ser definido como 1 MB.

    Importante

    O uso incorreto de dd pode destruir facilmente os dados de um volume. Não deixe de seguir precisamente o comando de exemplo abaixo. Somente o parâmetro if=/dev/xvdf irá variar dependendo do nome do dispositivo que você está lendo.

    $ sudo dd if=/dev/xvdf of=/dev/null bs=1M

    [fio] Se o fio estiver instalado em seu sistema, use o seguinte comando para inicializar seu volume. O parâmetro --filename (arquivo de entrada) deve ser configurado na unidade que você deseja inicializar.

    $ sudo fio --filename=/dev/xvdf --rw=read --bs=1M --iodepth=32 --ioengine=libaio --direct=1 --name=volume-initialize

    Use o comando a seguir para instalar o fio em Amazon Linux:

    sudo yum install -y fio

    Para instalar fio no Ubuntu, use o seguinte comando:

    sudo apt-get install -y fio

    Quando a operação for concluída, você verá um relatório da operação de leitura. Seu volume agora está pronto para uso. Para obter mais informações, consulte Disponibilizar um volume do Amazon EBS para uso.

Antes de usar uma ou outra ferramenta, colete informações sobre os discos no sistema como se segue:

Para reunir informações sobre os discos do sistema
  1. Use o comando wmic para listar os discos disponíveis no sistema:

    wmic diskdrive get size,deviceid

    A seguir está um exemplo de saída:

    DeviceID Size \\.\PHYSICALDRIVE2 80517265920 \\.\PHYSICALDRIVE1 80517265920 \\.\PHYSICALDRIVE0 128849011200 \\.\PHYSICALDRIVE3 107372805120
  2. Identifique o disco para inicializar usando dd ou fio. A unidade C: está em \\.\PHYSICALDRIVE0. É possível usar o utilitário diskmgmt.msc para comparar letras de unidades com números de unidades de disco, se não tiver certeza de que número de unidade usar.

Use the dd utility

Conclua os seguintes procedimentos para instalar e usar dd para inicializar um volume.

Considerações importantes
  • A inicialização do volume leva de vários minutos a várias horas, dependendo da largura de banda da instância do EC2, das IOPS provisionadas para o volume e do tamanho do volume.

  • O uso incorreto de dd pode destruir facilmente os dados de um volume. Certifique-se de seguir este procedimento com precisão.

Instalar dd para Windows

O programa dd para Windows fornece uma experiência semelhante ao programa dd que é geralmente disponível para sistemas Linux e Unix, e permite que você inicialize volumes do Amazon EBS que foram criados de snapshots. As versões beta mais recentes suportam o dispositivo /dev/null virtual. Se você instalar uma versão anterior, é possível usar o dispositivo nul virtual em vez disso. A documentação completa está disponível em http://www.chrysocome.net/dd.

  1. Faça download da versão binária mais recente do dd para Windows em http://www.chrysocome.net/dd.

  2. (Opcional) Crie uma pasta para utilitários de linha de comando que seja fácil de localizar e recordar, como C:\bin. Se você já tiver uma pasta designada para utilitários de linha de comando, poderá usar essa pasta na etapa a seguir.

  3. Descompacte o pacote binário e copie o arquivo dd.exe para sua pasta de utilitários de linha de comando (por exemplo, C:\bin).

  4. Adicione a pasta de utilitários de linha de comando à variável de ambiente de caminho para que você possa executar os programas nessa pasta de qualquer lugar.

    1. Escolha Iniciar, abra o menu de contexto (clique com o botão direito) de Computador e escolha Propriedades.

    2. Escolha Configurações avançadas de sistema, Variáveis de Ambiente.

    3. Em Variáveis de Sistema, selecione a variável Caminho e escolha Editar.

    4. Em Valor da variável, adicione um ponto e vírgula e o local de sua pasta de utilitário de linha de comando (;C:\bin\)) no final do valor existente.

    5. Escolha OK para fechar a janela Editar Variável de Sistema.

  5. Abra uma nova janela do prompt de comando. As seguintes etapas não atualizam as variáveis ambientais nas janelas de prompt de comando atuais. As janelas de prompt de comando que você abre agora que você concluiu a etapa anterior são atualizadas.

Inicializar um volume usando dd para Windows

Execute o seguinte comando para ler todos os blocos no dispositivo especificado (e envie a saída para o dispositivo virtual /dev/null). Este comando inicializa com segurança os dados existentes.

dd if=\\.\PHYSICALDRIVEn of=/dev/null bs=1M --progress --size

Pode haver um erro se dd tentar ler além do fim do volume. É possível ignorar isso com segurança.

Se você usou uma versão anterior do comando dd, ele não suporta o dispositivo /dev/null. Em vez disso, é possível usar o dispositivo nul da seguinte forma.

dd if=\\.\PHYSICALDRIVEn of=nul bs=1M --progress --size
Use the fio utility

Conclua os seguintes procedimentos para instalar e usar fio para inicializar um volume.

Como instalar fio para Windows

O programa fio para Windows fornece uma experiência semelhante ao programa fio que é geralmente disponível para sistemas Linux e Unix, e permite que você inicialize volumes do Amazon EBS criados de snapshots. Para obter mais informações, consulte https://github.com/axboe/fio.

  1. Faça o download do instalador fio MSI ao expandir Ativos para a versão mais recente e selecionando o instalador MSI.

  2. Instalar o fio.

Como inicializar um volume usando fio para Windows
  1. Execute um comando semelhante ao seguinte para inicializar um volume:

    fio --filename=\\.\PHYSICALDRIVEn --rw=read --bs=1M --iodepth=32 --direct=1 --name=volume-initialize
  2. Quando a operação for concluída, você estará pronto para usar o novo volume. Para obter mais informações, consulte Disponibilizar um volume do Amazon EBS para uso.