© 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
O que nós vamos aprender?
•  O que é o EBS?
•  Durabilidade
–  Gerenciamento de Snapshots
•  Alta Disponibilidade
–  Arquiteturas com Replicação e Failover
EBS =
EBS é um
Serviço!
EBS
Algumas Características do EBS…
Criptografia***
Durabilidade
Discos Rígidos em Geral
•  Taxa Anual de Falha em torno de 4%
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
Snapshots!
Obj
ect
Cop
y
Objeto Cópias
Região
DataCenters
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
Porque tirar Snapshots?
•  São mais duráveis do que o Amazon EBS:
99,999999999.
•  Versionamento
•  Backups
•  Custo
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);
Tirar um snapshot é muito fácil
create-­‐snapshot	
  
delete-­‐snapshot	
  
copy-­‐snapshot	
  
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
Ferramental técnico Gestão e métodos
Gerenciamento de backup
Ciclo de vida: criacao, copia entre regioes,
retencao/limpeza
Restore organizado com configurações
Agendamentos
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
Alta Disponibilidade
Disponibilidade:
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
Compartilhamento
•  NFS e CIFS: Protocolos usados para
compartilhamento de arquivos
•  Versões –
–  NFS v4
–  SMB v3
Replicação
•  Linux: DRBD, Gluster
•  Windows: DFS
•  Síncrono ou Assíncrono (ou semi-síncrono…)?
Failover
•  Gluster Client (Linux)
•  Pacemaker (Linux)
•  SMB V3 (Windows)
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…
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
Arquiteturas de
Referência
1) Instância Single EBS
EBS
NFS
SAMBA
MDADM
RAID 0
array
raidformer.py	
  
	
  
ec2-­‐consistent-­‐snapshot	
  
	
  
arche	
  
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
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
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	
  
	
  
2) Efêmero com DRBD para o EBS
NFS
SAMBA
MDADM
RAID 0
array
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’
Efêmero com DRBD para o EBS
global	
  {	
  
	
  	
  usage-­‐count	
  yes;	
  
}	
  
common	
  {	
  
	
  	
  net	
  {	
  
	
  	
  	
  	
  protocol	
  A;	
  
	
  	
  }	
  
}	
  
	
  
	
  
	
  
#	
  /etc/drbd.d/global_common.conf	
  
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	
  
3) Cluster com Pacemaker e EBS
EBS
NFS
SAMBA
EBS
NFS
SAMBA
DRBD
protocol C
PACEMAKER
AZ-A AZ-B
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	
  
4) Cluster com Pacemaker e Efêmero
AZ-A AZ-B
5) Cluster com Pacemaker e Efêmero + EBS
MDADM
RAID 0
array
DRBD
protocol A
(asynchronous)
AZ-A AZ-B
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
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	
  
7) Windows Server 2012
EBS
SMB v3
8) Windows Server 2012 com DFS
EBS
SMB v3
EBS
SMB v3
Windows Server 2012
DFS
(synchronous replication)
AZ-A AZ-B
© 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!!!

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

  • 1.
    © 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
  • 2.
    O que nósvamos aprender? •  O que é o EBS? •  Durabilidade –  Gerenciamento de Snapshots •  Alta Disponibilidade –  Arquiteturas com Replicação e Failover
  • 3.
  • 4.
  • 5.
  • 6.
    Algumas Características doEBS… Criptografia***
  • 7.
  • 8.
    Discos Rígidos emGeral •  Taxa Anual de Falha em torno de 4%
  • 9.
    EBS •  Protegidos, duráveisdentro de uma AZ –  Taxa Anual de Falha entre 0.1% – 0.5% –  10 vezes mais confiável do que um Disco Rígido comum
  • 10.
  • 11.
    Snapshots •  Funcionalidade nativado 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
  • 12.
    Porque tirar Snapshots? • São mais duráveis do que o Amazon EBS: 99,999999999. •  Versionamento •  Backups •  Custo
  • 13.
    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);
  • 14.
    Tirar um snapshoté muito fácil create-­‐snapshot   delete-­‐snapshot   copy-­‐snapshot  
  • 15.
    Gerenciar Milhares deSnapshots 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
  • 16.
  • 17.
    Gerenciamento de backup Ciclode vida: criacao, copia entre regioes, retencao/limpeza Restore organizado com configurações Agendamentos
  • 20.
    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
  • 21.
  • 22.
    Por que arquiteturasde 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
  • 23.
    Compartilhamento •  NFS eCIFS: Protocolos usados para compartilhamento de arquivos •  Versões – –  NFS v4 –  SMB v3
  • 24.
    Replicação •  Linux: DRBD,Gluster •  Windows: DFS •  Síncrono ou Assíncrono (ou semi-síncrono…)?
  • 25.
    Failover •  Gluster Client(Linux) •  Pacemaker (Linux) •  SMB V3 (Windows)
  • 26.
    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…
  • 27.
    Tipos de Storageenvolvidos 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
  • 28.
  • 29.
    1) Instância SingleEBS EBS NFS SAMBA MDADM RAID 0 array raidformer.py     ec2-­‐consistent-­‐snapshot     arche  
  • 30.
    Interface Pública Performance Baixa PerformanceModerada 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
  • 31.
    Interface para oEBS 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
  • 32.
    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    
  • 33.
    2) Efêmero comDRBD para o EBS NFS SAMBA MDADM RAID 0 array 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’
  • 34.
    Efêmero com DRBDpara o EBS global  {      usage-­‐count  yes;   }   common  {      net  {          protocol  A;      }   }         #  /etc/drbd.d/global_common.conf  
  • 35.
    Efêmero com DRBDpara 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  
  • 36.
    3) Cluster comPacemaker e EBS EBS NFS SAMBA EBS NFS SAMBA DRBD protocol C PACEMAKER AZ-A AZ-B
  • 37.
    Cluster com Pacemakere 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  
  • 38.
    4) Cluster comPacemaker e Efêmero AZ-A AZ-B
  • 39.
    5) Cluster comPacemaker e Efêmero + EBS MDADM RAID 0 array DRBD protocol A (asynchronous) AZ-A AZ-B
  • 40.
  • 41.
    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  
  • 42.
    7) Windows Server2012 EBS SMB v3
  • 43.
    8) Windows Server2012 com DFS EBS SMB v3 EBS SMB v3 Windows Server 2012 DFS (synchronous replication) AZ-A AZ-B
  • 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 Obrigado!!!