Copiando dados de 500 GB para unidades locais do EC2

3

Por favor, não me pergunte por que (eles me fizeram), mas eu tenho que copiar 500GB de dados para a unidade local a cada 200 nós / instâncias que estou lançando no EC2. Por razões além deste post, esses dados devem ser na unidade local e não na unidade EBS, portanto, não posso me beneficiar de instantâneos.

Qual é a maneira mais rápida que eu posso conseguir isso? Copiar do S3 para cada nó leva muito tempo. Eu tentando anexar um volume EBS a cada nó com os dados e, em seguida, copie os dados do EBS para a unidade local, mas isso também leva muito tempo (várias horas_)

Agora, também estou pensando em usar o bit torrent, mas não tenho certeza de quão bem ele será. Qual é a melhor maneira de copiar 500 GB de dados estáticos para cada unidade local de 200 instâncias ec2?

Os 500 Gb de dados são compostos por várias centenas de arquivos com tamanho variável, mas o maior arquivo é de 20 GB.

    
por iCode 12.12.2012 / 00:26

3 respostas

4

Seu motivo para não querer usar o EBS é que ele é lento. Você pode testar as instâncias otimizadas do EBS, além dos volumes IOPS EBS provisionados (que podem ser RAIDed para IOPS mais altos). Isso simplificará a disponibilização de dados para novas instâncias.

Observe que um volume do EBS leva um tempo para disponibilizar todos os dados com o melhor desempenho. Ou seja, o desempenho obtido em um novo volume do EBS é mais lento do que o desempenho após os blocos de volume terem sido preenchidos.

Aqui está um artigo que escrevi sobre esse processo, incluindo uma maneira de identificar quando um volume do EBS concluiu a inicialização de um instantâneo (embora basicamente inclua a transferência de todo o volume pela rede):

http://alestic.com/2010/03/ebs-volume-initialization-from-snapshot

Se o seu aplicativo deseja iniciar imediatamente às custas de ser um pouco lento quando precisa acessar dados previamente não lidos, então eu recomendaria instâncias otimizadas do EBS além de volumes IOPS EBS provisionados, possivelmente em RAID-0. Depois que o volume (s) for preenchido, a velocidade do aplicativo deve aumentar consideravelmente.

Caso contrário, o nome do jogo ao carregar dados do S3 é paralelização . Você pode ter uma centena de conexões simultâneas baixando partes dos dados do serviço S3 superescalável, contanto que você esteja usando um tipo de instância com IO suficientemente alto.

Mesmo em uma interface de 1 Gbps, no entanto, ainda levará mais de uma hora para baixar 500 GB.

Aqui está um truque possível a considerar: Com uma instância otimizada do EBS, você obtém uma interface de rede dedicada para o subsistema EBS, separada da interface de rede padrão. Você pode reduzir seu tempo de carregamento de dados pela metade se baixar metade dos dados do S3 e a outra metade de um volume do EBS.

Caso você não tenha considerado: verifique se os dados estão compactados no armazenamento para reduzir o tempo de transmissão.

    
por 12.12.2012 / 02:04
0

Divulgação: Estou com o Zadara Storage

Eu sugiro que você dê uma olhada no Zadara Storage. Com o Zadara Storage, você pode ter o repositório central em uma montagem NFS que será acessível de todas as máquinas EC2. O Zadara possui uma largura de banda muito alta e baixa latência em comparação ao S3, e você pode copiar para as unidades locais a cada vez. (ou até mesmo usar diretamente do Armazenamento Zadara) Você pode montar o Zadara Storage a partir do EC2 via simples NFS ou iSCSI se precisar de um dispositivo de bloco.

Você pode ter uma avaliação gratuita no link

    
por 26.12.2012 / 23:20
0

Essa é uma pergunta muito antiga, mas para aqueles com um problema semelhante, a maneira mais rápida de fazer isso seria copiá-la para um volume do EBS, capturar esse volume, criar volumes conforme necessário a partir desse instantâneo e anexar -los para suas instâncias. Este é provavelmente um bom caso de uso para algo que quase ninguém parece usar - grupos de colocação. Os grupos de veiculações estão limitados a um único AZ, mas colocam você na rede 10G, o que significa que sua cópia de arquivo de 500 GB aumentaria significativamente.

Ou você pode fazer o dump no S3 e copiá-lo de lá.

    
por 05.11.2015 / 23:03