Your SlideShare is downloading. ×

FreeBsd com Alta Disponibilidade

3,222

Published on

Boteco 4Linux - 02/12/08 …

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

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
3,222
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
158
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/)

×