Armazenamento+de+alta+disponibilidade+com+amazon+ebs
-
Upload
amazon-web-services-latin-america -
Category
Business
-
view
546 -
download
0
description
Transcript of 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
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!
Object Cop
y
Objeto Cópias
Região
Dat
a C
ente
rs
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
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’
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
raidformer.py
ec2-‐consistent-‐snapshot
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!!!