Armazenamento+de+alta+disponibilidade+com+amazon+ebs

44
© 2014 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified, or distributed in whole or in part without the express consent of Amazon.com, Inc. © 2014 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified, or distributed in whole or in part without the express consent of Amazon.com, Inc. Armazenamento de alta disponibilidade (e durabilidade) com Amazon EBS Angelo Carvalho, AWS 27 de Maio de 2014

description

Apresentações do AWS Summit Sao Paulo 2014. Baixe o conteúdo preparado por nossos especialistas para auxiliá-lo na jornada para a nuvem.

Transcript of Armazenamento+de+alta+disponibilidade+com+amazon+ebs

Page 1: Armazenamento+de+alta+disponibilidade+com+amazon+ebs

© 2014 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified, or distributed in whole or in part without the express consent of Amazon.com, Inc. © 2014 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified, or distributed in whole or in part without the express consent of Amazon.com, Inc.

Armazenamento de alta disponibilidade (e durabilidade) com Amazon EBS Angelo Carvalho, AWS

27 de Maio de 2014

Page 2: Armazenamento+de+alta+disponibilidade+com+amazon+ebs

O que nós vamos aprender?

•  O que é o EBS?

•  Durabilidade –  Gerenciamento de Snapshots

•  Alta Disponibilidade –  Arquiteturas com Replicação e Failover

Page 3: Armazenamento+de+alta+disponibilidade+com+amazon+ebs

EBS =

Page 4: Armazenamento+de+alta+disponibilidade+com+amazon+ebs

EBS é um Serviço!

Page 5: Armazenamento+de+alta+disponibilidade+com+amazon+ebs

EBS

Page 6: Armazenamento+de+alta+disponibilidade+com+amazon+ebs

Algumas Características do EBS…

Criptografia***

Page 7: Armazenamento+de+alta+disponibilidade+com+amazon+ebs

Durabilidade

Page 8: Armazenamento+de+alta+disponibilidade+com+amazon+ebs

Discos Rígidos em Geral •  Taxa Anual de Falha em torno de 4%

Page 9: Armazenamento+de+alta+disponibilidade+com+amazon+ebs

EBS

•  Protegidos, duráveis dentro de uma AZ –  Taxa Anual de Falha entre 0.1% – 0.5% –  10 vezes mais confiável do que um Disco Rígido comum

Page 10: Armazenamento+de+alta+disponibilidade+com+amazon+ebs

Snapshots!

Object Cop

y

Objeto Cópias

Região

Dat

a C

ente

rs

Page 11: Armazenamento+de+alta+disponibilidade+com+amazon+ebs

Snapshots •  Funcionalidade nativa do EBS •  Nós não tiramos snapshots automaticamente •  Mais durável do que um volume EBS

–  Armazenado no S3 –  Se você armazenar 10,000 objetos no S3, em média nós podemos perder um

deles a cada 10 milhões de anos aproximadamente. •  Diferencial (uso eficiente de espaço)

–  Primeiro snapshot é um clone –  Pague somente pelo que você usou

•  Independente de AZ –  Clone em qualquer AZ

•  Pode ser copiado de forma eficiente entre regiões

Page 12: Armazenamento+de+alta+disponibilidade+com+amazon+ebs

Porque tirar Snapshots? •  São mais duráveis do que o Amazon EBS:

99,999999999.

•  Versionamento

•  Backups

•  Custo

Page 13: Armazenamento+de+alta+disponibilidade+com+amazon+ebs

Consistência dos Dados •  Para garantir a consistência dos dados, o ideal é

pausar todas as escritas: –  Congelando o Sistema de Arquivos:

•  xfs_freeze -f /mount/point •  xfs_freeze -u /mount/point

–  Ou desmontando o volume;

–  Ou desligando a instância (para root volumes);

Page 14: Armazenamento+de+alta+disponibilidade+com+amazon+ebs

Tirar um snapshot é muito fácil

create-­‐snapshot  

delete-­‐snapshot  

copy-­‐snapshot  

Page 15: Armazenamento+de+alta+disponibilidade+com+amazon+ebs

Gerenciar Milhares de Snapshots Não é Nada Fácil!!! •  Um snapshot precisa seguir um certo ciclo de

vida. –  Período de Retenção –  x versões –  x diários, y semanais, z mensais –  Copiado entre regiões

•  Snapshots de arrays

Page 16: Armazenamento+de+alta+disponibilidade+com+amazon+ebs

Ferramental técnico Gestão e métodos

Page 17: Armazenamento+de+alta+disponibilidade+com+amazon+ebs

Gerenciamento de backup

Ciclo de vida: criacao, copia entre regioes, retencao/limpeza

Restore organizado com configurações

Agendamentos

Page 18: Armazenamento+de+alta+disponibilidade+com+amazon+ebs
Page 19: Armazenamento+de+alta+disponibilidade+com+amazon+ebs
Page 20: Armazenamento+de+alta+disponibilidade+com+amazon+ebs

Casos de uso •  Backup diario/multiplos por dia •  Backup com retencao customizada – exemplo:

manter copias de servidores por mais dias •  Backup com GrandFather-Father-Son (Mensal-

semanal-diario) •  Disaster recover: copia entre regioes

Page 21: Armazenamento+de+alta+disponibilidade+com+amazon+ebs

Alta Disponibilidade

Disponibilidade:

Page 22: Armazenamento+de+alta+disponibilidade+com+amazon+ebs

Por que arquiteturas de alta disponibilidade?

•  EBS não é Multi-AZ, por definição. Mas pode ser com a arquitetura certa!

•  Para conseguirmos alta disponibilidade, precisamos nos preocupar com: –  Compartilhamento –  Replicação –  Failover

Page 23: Armazenamento+de+alta+disponibilidade+com+amazon+ebs

Compartilhamento •  NFS e CIFS: Protocolos usados para

compartilhamento de arquivos •  Versões –

–  NFS v4 –  SMB v3

Page 24: Armazenamento+de+alta+disponibilidade+com+amazon+ebs

Replicação •  Linux: DRBD, Gluster •  Windows: DFS •  Síncrono ou Assíncrono (ou semi-síncrono…)?

Page 25: Armazenamento+de+alta+disponibilidade+com+amazon+ebs

Failover •  Gluster Client (Linux) •  Pacemaker (Linux) •  SMB V3 (Windows)

Page 26: Armazenamento+de+alta+disponibilidade+com+amazon+ebs

Considerações Importantes •  Disponibilidade

–  Single AZ = Sem SLA –  Multi AZ = SLA de 99.95% de disponibilidade

•  Durabilidade –  Depende do tipo de storage: Efêmero, EBS, S3…

•  Performance –  Network interface (Low, Moderate, High) –  EBS interface (EBS Optimized) –  EBS performance (PIOPS)

•  Consistência –  Fique atento aos tipos de replicação: síncrona, assíncrona…

Page 27: Armazenamento+de+alta+disponibilidade+com+amazon+ebs

Tipos de Storage envolvidos nas nossas Arquiteturas •  EBS

–  Entre 0.1% – 0.5% de Taxa Anual de Falha por volume

•  Efêmero –  hs1.8xlarge

•  48 terabytes de storage, 24 discos rígidos –  i2.8xlarge

•  ~5.7 terabytes de storage, 8 SSDs

•  S3 –  Desenhado para 99.999999999% de durabilidade

Page 28: Armazenamento+de+alta+disponibilidade+com+amazon+ebs

Arquiteturas de Referência

Page 29: Armazenamento+de+alta+disponibilidade+com+amazon+ebs

1) Instância Single EBS

EBS

NFS SAMBA

MDADM RAID 0 array

raidformer.py    

ec2-­‐consistent-­‐snapshot    

arche  

Page 30: Armazenamento+de+alta+disponibilidade+com+amazon+ebs

Interface Pública Performance Baixa

Performance Moderada

Interface de 10 Gigabits

t1.micro, m1.small, m1.medium, m1.large c1.medium, m2.xlarge, m2,2xlarge, m3.xlarge

c1.xlarge, m1.xlarge, m3.2xlarge, m2.4xlarge

cc1.4xlarge, cc2.8xlarge, cg1.4xlarge, cr1.8large, hi1.4xlarge, hi2.8xlarge, hs1.8xlarge

Page 31: Armazenamento+de+alta+disponibilidade+com+amazon+ebs

Interface para o EBS Variável

500 megabit, committed

10 gigabit, shared with public traffic

tudo, menos as instâncias EBS Optimized

EBS Optimized = yes m1.large, m2.2xlarge, m3.xlarge

cc1.4xlarge, cc2.8xlarge, cg1.4xlarge, cr1.8large, hi1.4xlarge, hi2.8xlarge, hs1.8xlarge

1 gigabit, committed EBS Optimized = yes m1.xlarge, m2.4xlarge, c1.xlarge, m3.2xlarge

Page 32: Armazenamento+de+alta+disponibilidade+com+amazon+ebs

Instância Single EBS #  sudo  yum  install  nfs-­‐utils  nfs-­‐utils-­‐lib  samba  samba-­‐commons  cups-­‐libs  #  raidformer.py  -­‐-­‐size  100  –count  6  –raidlevel  0  -­‐-­‐mountpoint  /exports  -­‐–wipe  –attach    #  sudo  vim  /etc/exports  #  sudo  vim  /etc/samba/smb.conf                raidformer.py    -­‐-­‐  https://github.com/jsmartin/raidformer    

Page 33: Armazenamento+de+alta+disponibilidade+com+amazon+ebs

2) Efêmero com DRBD para o EBS

NFS SAMBA

MDADM RAID 0 array

raidformer.py    

ec2-­‐consistent-­‐snapshot  

MDADM RAID 0 array

DRBD protocol A replication

Replicação Assíncrona Monitorar a latência desta replicação é crítico! Tire Snapshots do EBS array # cat /proc/drbd #look for ‘oos’

Page 34: Armazenamento+de+alta+disponibilidade+com+amazon+ebs

Efêmero com DRBD para o EBS global  {      usage-­‐count  yes;  }  common  {      net  {          protocol  A;      }  }        #  /etc/drbd.d/global_common.conf  

Page 35: Armazenamento+de+alta+disponibilidade+com+amazon+ebs

Efêmero com DRBD para o EBS resource  r0  {      on  az-­‐a{          device        /dev/drbd0;          disk            /dev/md0;          address      10.1.1.1:7789;          meta-­‐disk  internal;      }      on  az-­‐a{          device        /dev/drbd1;          disk            /dev/md1;          address      10.1.1.1:7789;          meta-­‐disk  internal;      }  }  #/etc/drbd.d/r0.res  

Page 36: Armazenamento+de+alta+disponibilidade+com+amazon+ebs

3) Cluster com Pacemaker e EBS

EBS

NFS SAMBA

EBS

NFS SAMBA

DRBD protocol C

PACEMAKER

AZ-A AZ-B

Page 37: Armazenamento+de+alta+disponibilidade+com+amazon+ebs

Cluster com Pacemaker e EBS #!/bin/sh    VIP=10.1.1.1  REGION=us-­‐east-­‐1    Instance_ID=`/usr/bin/curl  -­‐-­‐silent  http://169.254.169.254/latest/meta-­‐data/instance-­‐id`  ENI_ID=`aws  ec2  describe-­‐instances  -­‐-­‐instance-­‐id  $Instance_ID  -­‐-­‐region  $REGION  |  grep  NetworkInterfaceId  |  cut  -­‐d  '"'  -­‐f  4`    aws  ec2  assign-­‐private-­‐ip-­‐addresses  -­‐-­‐network-­‐interface-­‐id  $ENI_ID  -­‐-­‐private-­‐ip-­‐addresses  $VIP  -­‐-­‐allow-­‐reassignment  -­‐-­‐region  $REGION  

Page 38: Armazenamento+de+alta+disponibilidade+com+amazon+ebs

4) Cluster com Pacemaker e Efêmero

raidformer.py    

ec2-­‐consistent-­‐snapshot  

AZ-A AZ-B

Page 39: Armazenamento+de+alta+disponibilidade+com+amazon+ebs

5) Cluster com Pacemaker e Efêmero + EBS

MDADM RAID 0 array

DRBD protocol A

(asynchronous)

AZ-A AZ-B

Page 40: Armazenamento+de+alta+disponibilidade+com+amazon+ebs

6) Gluster

GlusterFS

NFS

GlusterFS

NFS

GlusterFS

NFS

GlusterFS

NFS

GlusterFS

NFS

GlusterFS

NFS

GlusterFS

NFS

GlusterFS

NFS

GlusterFS

NFS

GlusterFS

NFS

GlusterFS

AZ-A

AZ-B

Page 41: Armazenamento+de+alta+disponibilidade+com+amazon+ebs

Gluster #  on  the  server  #  gluster  volume  create  replica  2  glu-­‐volume  /  10.0.0.1:/gluster  10.0.1.1:/gluster  10.0.0.2:/gluster  /  10.0.1.2:/gluster  10.0.0.3:/gluster  10.0.1.3:/gluster  /  10.0.0.4:/gluster  10.0.1.4:/gluster  10.0.0.5:/gluster  /  10.0.1.5:/gluster    #  on  the  client  #  mount  -­‐t  glusterfs  10.0.0.1:/glu-­‐volume  /mnt/glusterfs  

Page 42: Armazenamento+de+alta+disponibilidade+com+amazon+ebs

7) Windows Server 2012

EBS

SMB v3

Page 43: Armazenamento+de+alta+disponibilidade+com+amazon+ebs

8) Windows Server 2012 com DFS

EBS

SMB v3

EBS

SMB v3

Windows Server 2012 DFS

(synchronous replication)

AZ-A AZ-B

Page 44: Armazenamento+de+alta+disponibilidade+com+amazon+ebs

© 2014 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified, or distributed in whole or in part without the express consent of Amazon.com, Inc. © 2014 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified, or distributed in whole or in part without the express consent of Amazon.com, Inc.

Armazenamento de alta disponibilidade (e durabilidade) com Amazon EBS Angelo Carvalho, AWS

27 de Maio de 2014

Obrigado!!!