alta disponibilidad y balanceo de carga en linux

Download Alta disponibilidad y balanceo de carga en Linux

If you can't read please download the document

Upload: javier-turegano-molina

Post on 14-Jun-2015

15.032 views

Category:

Technology


3 download

DESCRIPTION

Presentación de la charla sobre Alta Disponibilidad y Balanceo de Carga en Linux presentada en los cursos del GUL de la Universidad Carlos III de Madrid.

TRANSCRIPT

  • 1. Alta DisponibilidadyBalanceo de Carga en Linux --------- Cursos GUL Marzo::2008 Javier Turgano Molina

2. Indice INDICE

    • Introduccin
  • 3. Heartbeat

4. IPVS 5. Keepalived 6. Almacenamiento Compartido 7. Casos de xito 8. Preguntas 9. Introduccin Qu es eso de la alta disponibilidad? 10. Introduccin Qu es el balanceo de carga? 11. Introduccin Qu tipos de crecimiento hay? VERTICAL HORIZONTAL 12. Introduccin Es importante la comparticin de datos entre nodos? 13. Introduccin Tenemos disponibles todas esas herramientas con Software Libre? -Alta disponibilidad:Heartbeat - Balanceo de carga:IPVS+Keepalived - Almacenamiento compartido:DRBD, JFS, OCFS, iSCSI, AoE 14. Introduccin Pero, quin est utilizando esto? 15. Introduccin Alguna pega debe de tener no? 16. HEARTBEAT :: HEARTBEAT :: http://www.linux-ha.org/HeartbeatProgram 17. HEARTBEAT Heartbeat es uno de los componentes principales del proyecto Linux-HA (Linux Hight Availability). Multiplataforma: Linux ,FreeBSD y Solaris. Nos ofrece deteccin de nodos caidos, comunicacin y gestin de cluster en un solo proceso. 18. Cmo funciona Heartbeat? Heartbeat utiliza un sistema de latidos. Recomendaciones: - Comunicacin dedicada - Comunicacin redundante 19. Cmo funciona Heartbeat? Asignamos los recursos

    • Direccin IP de servicio
  • 20. Servidores activos

Maestro de almacenamiento 21. Heartbeat (Activo - Pasivo) ALTA DISPONIBILIDAD ACTIVO-PASIVO 22. Heartbeat (Activo - Pasivo) Z Z Z 23. Heartbeat (Activo Pasivo Multiservicio) ALTA DISPONIBILIDAD ACTIVO-PASIVO MULTISERVICIO 24. Heartbeat (Activo Pasivo Multiservicio) 25. Heartbeat (Failover) Opciones de recuperacin del nodo caido: Autofailback on/off 26. Hearbeat (Autofailback on) 27. Configuracin de Heartbeat Hearbeat se configura a travs de dos ficheros de configuracin principales: /etc/ha.d/ha.cf /etc/ha.d/haresources 28. Configuracin de Heartbeat /etc/ha.d/ha.cf logfile/var/log/ha-log logfacilitylocal0 keepalive2 warntime3 deadtime12 initdead30 auto_failbackoff udpport694 bcasteth1 ping 192.168.17.2 192.168.17.1 node constantinopla node alejandria 29. Configuracin de Heartbeat Ejemplo Activo Pasivo /etc/ha.d/haresources constantinopla 192.168.1.1 apache postfixalejandriaEjemplo Activo Pasivo Multiservicio /etc/ha.d/haresources constantinopla 192.168.1.1 apache postfix alejandria 192.168.1.2 mysql 30. Hearbeat 2 Qu ventajas nos aporta la versin 2 de hearbeat? 31. Heartbeat 2 Configuration 32. Hearbeat 2 Configuration 33. Hearbeat 2 Configuration 34. IPVS :: IPVS (IP Virtual Server) :: http://www.linuxvirtualserver.org/software/ipvs.html IPVS implementa balanceo de carga a nivel de la capa de transporte dentro del kernel de Linux (layer4-switching). IPVS actua como un balanceador de carga. Puede redirigir conexiones a servicios TCP/UDP a los servidores reales, y as hacer parecer que estos servicios de varios servidores como un nico servicio virtual para una IP. 35. IPVS 36. IPVS - Caracteristicas Caracteristicas:

  • Soporte para protocolos UDP y TCP
  • Tres mtodos de reenvio de paquetes:
    • NAT
  • 37. Tunneling

38. Direct Routing

  • Ocho algoritmos de balanceo de carga:Round robin, weighted round robin,least-connec-tion,weightedleast-connection,locality-basedleast-connection, locality-based least-connection with replication,destination-hashing, and source-hashing

39. IPVS Versiones: La versin estable actual es ipvs 1.2.1 y est incluida de serie en los kernel de linux a partir de la versin 2.6.10. Para los kernels 2.4 tambin tenemos disponible la versin de ipvs 1.0.12 a partir del kernel 2.4.28. Aparte del mdulo del kernel disponemos de una aplicacin en lnea de comandos para administrarlo:ipvsadm 40. Ejemplo - IPVS Ejemplo: Configuracin de un balanceador con IPVS para que distribuya el trfico que reciba por el puerto 80 a 5 servidores reales. 41. Ejemplo - IPVS Aadimos un servicio virtual para 207.175.44.110: $ ipvsadm -A -t 207.175.44.110:80 -s rr Aadimos los servidores al servicio virtual: $ ipvsadm -a -t 207.175.44.110:80 -r 192.168.10.1:80 -m $ ipvsadm -a -t 207.175.44.110:80 -r 192.168.10.2:80 -m $ ipvsadm -a -t 207.175.44.110:80 -r 192.168.10.3:80 -m $ ipvsadm -a -t 207.175.44.110:80 -r 192.168.10.4:80 -m $ ipvsadm -a -t 207.175.44.110:80 -r 192.168.10.5:80 -m 42. Ejemplo - IPVS Necesitaremos activar el reenvio ip: $ echo "1" > /proc/sys/net/ipv4/ip_forward Listado de rutas existentes y activas: $ ipvsadm -l Nos va a ser muy til para paradas programadas y mantemiento. 43. Failover en IPVS Qu ocurre si uno de los equipos del balanceo cae? Para solucionarlo podemos utilizar: Keepalived 44. Keepalived :: KEEPALIVED :: http://www.keepalived.org/ 45. Keepalived El objetivo principal de Keepalived es aadir una utilidad fuerte y robusta de recuperacin ante fallos en el proyecto de Linux Virtual Server. Est escrito en C y nos provee de un sistema de chequeos multicapa sobre la pila TCP/IP. Nos permite trabajar en 3 capas: 3, 4 y 5/7. 46. Keepalived Cmo funciona keepalived? 47. Keepalived 48. Configuracin de Keepalived /etc/keepalived/keepalived global_defs { notification_email { [email_address] } notification_email_from [email protected] smtp_server 192.168.18.2 smtp_connect_timeout 30 lvs_id BALANCEADOR1_LVS } 49. Configuracin de Keepalived vrrp_instance VI_EXTERNA { state MASTER interface eth0 lvs_sync_daemon_inteface eth0 virtual_router_id 51 priority 150 advert_int 1 smtp_alert authentication { auth_type PASS auth_pass example } virtual_ipaddress { 192.168.17.115}} 50. Configuracin de Keepalived virtual_server 192.168.17.115 110 { delay_loop 6 lb_algo wlc lb_kind NAT nat_mask 255.255.255.0 protocol TCP real_server 192.168.5.1 110 { weight 1 TCP_CHECK { connect_timeout 3 connect_port 110 } } real_server 192.168.5.2 110 { weight 1 TCP_CHECK { connect_timeout 3 connect_port 110 } } } 51. Almacenamiento compartido 52. Almacenamiento compartido En qu casos necesitamos almacenamiento compartido? 53. Almacenamiento compartido

  • Soluciones Software

Acitvo/Pasivo DRBD + Ext3/Reiserfs Activo/Activo DRBD 8 + GFS/OCFS2 iSCSI/AoE + GFS/OCFS2 54. Almacenamiento Compartido

  • Soluciones Hardware

Storage Area Network (SAN) + GFS/OCFS2 Network Attached Storage (NAS) + NFS/SMB-CIFS 55. GFS2 vs OCFS2 Podemos encontrar una extensa comparativa de sistemas de ficheros en: http://en.wikipedia.org/wiki/Comparison_of_file_systems 56. DRBD :: DRBD :: http://www.drbd.org/ Drbd es un dispositivo de bloques que est diseado para construir "clusters" de alta disponibilidad.Se realiza por medio de una copia idntica de todo un dispositivo de bloques atravs de una red (dedicada). Lo podemos ver como un RAID-1 en red. 57. DRBD 8 Ventajas de DRBD Version 8 58. Casos de Exito Veamos algunos casos de xito. 59. Preguntas y Contacto ? www.turegano.net www.twitter.com/setoide Licencia Creative Commons Reconocimiento 2.5 de Espaa