Como garantir o tempo de restauração do instantâneo do AWS EC2?

0

Como se reproduzir:

  1. Na hora 0, tire um instantâneo de um disco de 100 GB.
  2. Às 12 horas:
    1. Crie uma nova instância do EC2.
    2. Crie um volume a partir do instantâneo.
    3. Anexe o novo volume à nova instância.
    4. Deixe a instância em execução.

Neste momento, eu esperaria que todos os dados fossem copiados do snapshot para o novo volume em menos de uma hora, mas parece demorar mais na ordem de 12 horas. Entretanto, a nova instância é inutilizável para o tráfego de produção, uma vez que qualquer pedido pode demorar muito muito tempo para servir.

Existe alguma maneira de garantir uma cópia mais rápida? Eu acredito que eu já vi menções de dd, mas isso realmente acelera a cópia ou é um placebo?

l0b0
fonte

Respostas:

2

Não, usando dd não é "placebo".

Novos volumes criados a partir de instantâneos do EBS existentes são carregados lentamente em segundo plano.

Então, se você não fizer alguma coisa para encorajá-lo a não ser preguiçoso, a EBS naturalmente presumiria que não há pressa em particular, por isso não é necessário taxar seus próprios recursos, ou os do S3, para carregar os dados rapidamente.

Se sua instância acessar dados que ainda não foram carregados, o volume baixará imediatamente os dados solicitados do Amazon S3 e continuará carregando o restante dos dados em segundo plano.

Se você precisa garantir que o volume restaurado sempre funcione com a capacidade máxima de produção, você pode forçar a inicialização imediata de todo o volume usando dd ou fio. Para mais informações, veja Inicializando Volumes do Amazon EBS .

http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-restoring-volume.html

Você pode até fazer isso com o volume montado. Como você está apenas lendo - não escrevendo para - o dispositivo de bloco, o sistema operacional não notará ou verá isso como um problema.

Desde a fio pode executar leituras em paralelo, pode aquecer o seu volume mais rápido do que dd mas dd vai fazer o trabalho.

Se você gosta de medidores de progresso, tente pv - pterab /dev/xvdN > /dev/null. ( sudo apt-get install pv primeiro.) Isso não será necessariamente o mais rápido, mas é sólido e mais divertido de assistir, já que oferece uma taxa de transferência atual e sustentada, porcentagem completa e um ETA. Quando estiver pronto, seu volume está totalmente aquecido.

Michael - sqlbot
fonte