FreeBsd com Alta Disponibilidade

  • 3,163 views
Uploaded on

Boteco 4Linux - 02/12/08 …

Boteco 4Linux - 02/12/08
Tema: FreeBsd com Alta Disponibilidade
Palestrante: Denis Souza

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
3,163
On Slideshare
0
From Embeds
0
Number of Embeds
2

Actions

Shares
Downloads
157
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. FreeBSD com Alta Disponibilidade Denis Augusto (denis.augusto@gmail.com) “Comece pequeno, pense grande, cresça rápido”
  • 2. Agenda • Visão geral – O que é FreeBSD? – Para que usar FreeBSD? – Novidades para pensar • O que é Alta Disponibilidade? • Ferramentas com FreeBSD em Alta Disponibilidade – CARP (Common Address Redundancy Protocol) – RAID (Redundant Array of Independent Drives ) – Snapshots – ZFS (Zettabyte File System) – Sistemas iSCSI • Aplicações práticas • Links recomendados
  • 3. O que é FreeBSD Sistema Operacional Específico para Derivado do SO muito customizável Servidores 386BSD (1993) com recursos de storage
  • 4. Para que usar FreeBSD? • Multitarefa preemptiva com ajuste dinâmico de prioridades e algoritmos para a proteção de áreas de memória; • O mais popular sistema BSD; • Para aplicações de grande I/O de disco – o Servidores de bases de dados; – o Aplicações de imagem e vídeo; • Uso de Storages; • Servidores para resolução de nomes DNS; • Para execução eficiente de binários pertencentes a outros sistemas operacionais, principalmente de Linux; • Serviços de Web Proxy, Web Cache, Web Servers, roteadores, impressão, correio eletrônico, roteadores e muito mais; • Concentra o record de armazenamento de 2TBytes em um único sistema operacional.
  • 5. O Gerente de TI é a Assim?
  • 6. O Gerente de TI
  • 7. Pontos de Preocupação Desempenho Estabilidade Proteção de Ativos Segurança Gerenciamento
  • 8. Proteção de Ativos 1
  • 9. Novidades para Pensar “Como configurar o acesso a porta 22/TCP feito por 20 origens diferentes?” Em Linux (20 vezes a mesma linha): /usr/sbin/iptables -v -A INPUT -p tcp -s IPfonte/32 --destination-port 22 -j ACCEPT Usando Packet Filter (Uma Só linha): pass in from <Tabela_IPs_Fonte> to $Interface_Externa port = 22 queue SSH
  • 10. O que é Alta Disponibilidade? • Conceito Geral • Alta Disponibilidade X SLA (Service Level Agreement) – Para que serve o SLA? – Usando MTBF (Mean Time Between Failures/Tempo Médio Entre Falhas) – Usando MTTR (Mean Time To Repair/Tempo Médio para Recuperação) – Disponibilidade = MTBF / (MTBF + MTTR) – Alta Disponibilidade X Custos Nível do SLA Downtime/mês Downtime/ano 95% 1 dias 12:00:00h 18 dias 6:00:00h 96% 1 dias 4:48:00h 14 dias 14:24:00h 97% 0 dias 21:36:00h 10 dias 22:48:00h 98% 0 dias 14:24:00h 7 dias 7:12:00h 99% 0 dias 7:12:00h 3 dias 15:36:00h 99,9% 0 dias 0:43:11.99h 0 dias 8:45:35.99h 99,99% 0 dias 0:04:19.20h 0 dias 0:52:33.60h 99,999% 0 dias 0:00:25.92h 0 dias 0:05:15.36h
  • 11. Exemplo
  • 12. Ferramentas com FreeBSD • Baseado nas RFCs RFC3768 e RFC2281 • Compilando no Kernel com a opção device carp • Simples uso • Nativo do kernel • Seguro – criptografia e senha para autenticação • CARP com interfaces de sincronia (pfsync)
  • 13. Ferramentas com FreeBSD • Funcionamento Geral
  • 14. Ferramentas com FreeBSD • Customizando o Kernel Variável Descrição net.inet.carp.allow Aceita pacotes CARP entrando pelas interfaces ou não. O padrão é 1 (ativado). Ativa os hosts que participam do grupo CARP e verificar melhor a ausência do net.inet.carp.preempt host master. Esta opção ativa em todas as interfaces a verificação de falha (failover). Esta opção é desabilitada por padrão. net.inet.carp.log Registra em log os pacotes CARP ruins. O padrão é 1(ativado). Balanceamento de carga sob múltiplos grupos de redundância. Isto é aplicado a net.inet.carp.arpbalance operações de balanceamento de carga (load balance). O padrão é 0 (desabilitado). Evita o conflito de endereços IP quando um mesmo esdereço é usado por clientes net.inet.ip.same_prefix_carp_only distintos. O estado de failover pode ser manualmente suprimido se a interface do pfsync net.inet.carp.suppress_preempt não estiver funcionando ou se o link estar ausente.
  • 15. Proteção de Ativos 2
  • 16. Ferramentas com FreeBSD • O que é RAID (Redundant Array of Independent Drives)? • Auxílio na performance e na redundância • Exemplos: RAID 0, RAID 1, RAID 5 e RAID 0+1 “Deus salve os pessimistas, pois eles inventaram o backup.quot; Anônimo
  • 17. Ferramentas com FreeBSD • O que é RAID 0?
  • 18. Ferramentas com FreeBSD • O que é RAID 1?
  • 19. Ferramentas com FreeBSD • O que é RAID 5?
  • 20. Ferramentas com FreeBSD • O que é RAID 0+1?
  • 21. Ferramentas com FreeBSD • O que são Snaphots?
  • 22. Ferramentas com FreeBSD • O que são ZFS? • Sistema desenvolvido pela Sun Microsystems • Específico para storages • Características – O tamanho máximo de arquivos é de 16EiB (264 bytes); – Numero máximo de arquivos na ordem de 248 (281.474.976.710.656); – Tamanho em bytes para nomes de arquivos: 255; – Tamanho máximo para cada volume usado 16EiB; – Podemos ter até 264 snapshots em um sistema de arquivos ZFS; – Os dados armazenados podem superar facilmente sistemas de 64bits; – Sistemas stripes dinâmicos; • 1 exbibyte = 260 bytes = 1,152,921,504,606,846,976 bytes = 1,024 pebibytes e 1 pebibyte = 250 bytes = 1,125,899,906,842,624 bytes = 1,024 tebibytes e 1 tebibyte = 240 bytes = 1,099,511,627,776 bytes = 1,024 gibibytes
  • 23. Ferramentas com FreeBSD • O que são Sistemas iSCSI? – padrão de comunicação definido pela RFC 3720 para acesso remoto a blocos de dados em ambientes de storage Disco Virtual 1 Disco Virtual 2 Servidor iSCSI Disco Virtual N iSCSI Target iSCSI Initiator iSCSI Initiator iSCSI Initiator iSCSI Initiator iSCSI Initiator Servidor de Banco Servidor de Servdiro Web Servidor de Servidor FTP de Dados E-Mail Vídeo
  • 24. Proteção de Ativos 3
  • 25. Vendo na Prática • Criando um sistema em CARP # sysctl -w net.inet.carp.allow=1 # ifconfig carp1 create # ifconfig carp1 vhid 1 pass P@ssw0rd carpdev em0 advskew 100 10.0.0.1 255.255.255.0 # ifconfig carp1 carp1: flags=8802<UP,BROADCAST,SIMPLEX,MULTICAST> mtu 1500 carp: MASTER carpdev em0 vhid 1 advbase 1 advskew 100 inet 10.0.0.1 netmask 0xffffff00 broadcast 10.0.0.255
  • 26. Vendo na Prática • RAID 0 # gstripe load # kldload geom_stripe # gstripe create stripefs /dev/da0 /dev/da1 # bsdlabel -wB /dev/stripe/stripefs Agora é basta formatar e disponibilizar para uso: # newfs /dev/stripe/stripefs /dev/stripe/stripefs: 149504.0MB (306184192 sectors) block size 16384, fragment size 2048 using 814 cylinder groups of 183.77MB, 11761 blks, 23552 inodes. super-block backups (for fsck -b #) at: 160, 376512, 752864, 1129216, 1505568, ... ... ... # # mkdir /mnt/stripe # mount /dev/stripe/stripefs /mnt/stripe/
  • 27. Vendo na Prática • RAID 0 – Vendo o status dos discos # gstripe status Name Status Components stripe/stripefs UP da0 da1 – Parando o stripe (RAID 0): # umount /mnt/stripe # gstripe stop stripefs
  • 28. Vendo na Prática • RAID 0+1
  • 29. Vendo na Prática • RAID 0+1 # kldstat Id Refs Address Size Name 1 9 0xc0400000 906518 kernel 2 1 0xc0d07000 6a32c acpi.ko 3 1 0xc23db000 22000 linux.ko 5 1 0xc2682000 15000 geom_mirror.ko 6 1 0xc26c0000 7000 geom_stripe.ko Crie os stripes envolvendo os dois pares de discos
  • 30. Vendo na Prática • RAID 0+1 # gmirror label -v -b round-robin mirrorfs2 /dev/stripe/stripefs1 /dev/stripe/stripefs2 Metadata value stored on /dev/stripe/stripefs1. Metadata value stored on /dev/stripe/stripefs2. Done. # mkdir /mnt/espelhamento # newfs /dev/mirror/mirrorfs2 /dev/mirror/mirrorfs2: 149504.0MB (306184188 sectors) block size 16384, fragment size 2048 using 814 cylinder groups of 183.77MB, 11761 blks, 23552 inodes. super-block backups (for fsck -b #) at: 160, 376512, 752864, 1129216, 1505568, 1881920, 2258272, 2634624, 3010976, 3387328, 3763680, 4140032, 4516384, 4892736, 5269088, 5645440, 6021792, 6398144, 6774496, 7150848, 7527200, ... ... ... # mount /dev/mirror/mirrorfs2 /mnt/espelhamento
  • 31. Vendo na Prática • Snapshots Criando: # mkdir /usr/snapshots # mksnap_ffs /usr /usr/snapshots/snapshot_usr.snap Montando: # mdconfig –a –t vnode –f /usr/snapshot/snapshot_usr.snap WARNING: opening backing store: /usr/snapshot/snapshot_usr.snap readonly md0 # mkdir /mnt/snapshot_testes # mount –r /dev/md0 /mnt/snapshot_testes Removendo: # umount /mnt/snapshot_testes # mdconfig –d –u 0
  • 32. Vendo na Prática • Sistemas iSCSI • Utilitário iscsi-target do NetBSD (/usr/ports/net/iscsi-target) • Exempllo para o arquivo de configuração # Storage Arquivo início Tamanho extent0 /mnt/iSCSI/iscsi-target0 0 100MB # target flags Storage Rede ou maquina para acesso target0 rw extent0 192.168.241.0/24 • Iniciando o serviço # /usr/local/etc/rc.d/iscsi_target start Starting iscsi_target. Reading configuration from `/usr/local/etc/iscsi/targets' target0:rw:192.168.241.0/24 extent0:/mnt/iSCSI/iscsi-target0:0:104857600 DISK: 1 logical unit (204800 blocks, 512 bytes/block), type iscsi fs DISK: LUN 0: 100 MB disk storage for quot;target0quot; TARGET: TargetName is iqn.1994-04.org.netbsd.iscsi-target
  • 33. Vendo na Prática • Um Sistemas iSCSI Seguro
  • 34. Links Recomendados • Alta Disponibilidade: http://pt.wikipedia.org/wiki/Sistema_de_alta_disponibilidade • Site de Jorge Castro (Gestão de TI, ITIL, Gestão de Processos de Negócio) – (http://webinsider.uol.com.br/index.php/author/jorge_castro) • VMware High Availability (HA) – (http://www.vmware.com/products/vi/vc/ha.html) • How to install FreeBSD 7.0 under ZFS – (https://www.ish.com.au/solutions/articles/freebsdzfs) • WHEN TO (AND NOT TO) USE RAID-Z – (http://blogs.sun.com/roller/page/roch?entry=when_to_and_not_to) • ZFS, Sun's Cutting-Edge File System (Part 2: Ease of Administration and Future Enhancements) – (http://www.sun.com/bigadmin/features/articles/zfs_part2_ease.jsp) • Official Linux Unionfs home page – (http://unionfs.filesystems.org/)