Replicação M-M ou M-S do volume do EBS em várias instâncias do EC2

3

Gostaria de compartilhar o sistema de arquivos com tamanho EBS de até 20 GB em arquivos de 200 K em várias instâncias do EC2. Master-master seria ideal, mas eu ficaria feliz com a solução master-slave também.

Eu sei que a solução genérica do Linux seria usar o DRBD , mas há alguma ferramenta específica para a AWS para isso?

BTW. Eu encontrei uma pergunta semelhante que foi feita há mais de um ano: Compartilhando / replicando o EBS nos nós da AWS

    
por vartec 04.05.2011 / 11:58

1 resposta

4

Os dispositivos de bloco como um modelo de computação não são projetados para acesso de mais de um dispositivo. A abstração de EBS desse modelo de hardware não é capaz de alterar as regras do jogo porque os drivers do sistema de arquivos nas instâncias de computação sobrepostas ainda são os mesmos. Eles só podem fazer mágica como snapshot, porque o acesso de leitura na camada subjacente não interfere com o que o software no sistema espera estar acontecendo em um dispositivo de bloco. Se algum sistema diferente da instância do EC2 ao qual o volume está conectado tentasse alterar os bits em seus discos diretamente, o sistema de arquivos seria auto-destruído.

A única coisa que você pode fazer é especial com o EBS. Use os instantâneos para clonar unidades e anexar cada clone de dispositivo a uma instância separada. Isso seria útil se você tivesse um conjunto de dados relativamente estático com apenas atualizações periódicas e precisasse de acesso local rápido para comer de várias instâncias.

Você precisará mover sua arquitetura de compartilhamento de um nível para o sistema de arquivos. Existem muitas ferramentas para isso, incluindo sistemas de arquivos compartilhados, como nfs . É claro que seu desempenho será limitado ao da instância do EC2 à qual você conectou o dispositivo e o usar como servidor de arquivos.

Se você precisar de algo mais sutil do que essas duas abordagens, precisará examinar os vários sistemas de arquivos distribuídos, replicados ou em cluster. Além disso, como você mencionou, existem ferramentas de sincronização de nível inferior, como o DRDB, mas sugiro que você tenha mais chances de precisar de um nível de sistema de arquivos do que o sistema de sincronização de nível de bloco.

Para crédito extra: confira algumas conversas sobre se os dispositivos de bloco são o modelo certo para usar, como este artigo: Magical Block Store: quando as abstrações nos falham .

    
por 07.05.2011 / 16:14