Top Banner
Balanceamento de carga em GNU/Linux O que temos e o que falta? Fernanda G Weiden
23

Balanceamento de Carga Latinoware

Aug 19, 2015

Download

Documents

Knoppix Debian

Balanceamento de Carga Latinoware
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript

Balanceamento de carga em GNU/LinuxO que temos e o que falta?Fernanda G WeidenGoogle's missionToorganizetheworldsinformation andmakeituniversally accessibleandusefulIntroduoServionomundodigitalDisponibilidadeEscalabilidadeVelocidadedecrescimentosvezesnoprevisvelCombinarmelhorcustobenefciotambmnacompra dehardwareDowntimeparamanutenonotrazclientesfelizesBalanceamentodecargaMuitasmquinas(backends)efetuandoamesma tarefaEscalabilidadesemdowntimePossibilidadedecrescimentorpidosemnecessidadede renovaodehardwareMelhorutilizaoderecursosdehardwareTolernciaafalhasAltadisponibilidadeBalanceamento de cargaLoadBalancermquina(s)querecebemedistribui asrequisiesVirtualServercombinaodeIP:portaconfigurados noLoadBalancerBackendservidorreal(fsicoouno)ClientequemrequisitaoservioVIPoendereoIPconhecidopeloclienteRIPendereoIPdobackend(realserver)CIPendereoIPdoclienteDNS round robinDNSbasedloadbalancingclusterconfiguradono servidordenomes.Maneiramaisfcildecriarum clusterdeservidores. www.google.com.60INA10.0.0.1 www.google.com.60INA10.0.0.2 www.google.com.60INA10.0.0.3 www.google.com.60INA10.0.0.4GlobalServerLoadBalancingDistribuiotrfegoentreumclustergeograficamente distribudo,baseadonalocalizaodoclienteena disponibilidadedoservidor/clusterDNS basedRouting basedDispatcherbasedloadbalancingclusteromtodotradicionaldebalanceamentodecargaOusuriosconheceoVIP,enotodososbackendsBaseadoemIPouaplicaoTolernciaafalhaGrandecontrolesobasconexeseutilizaodos backends(estado,persistncia)Madonna-like O que temos em GNU/Linux?DNS round robinRouting based GSLBip_vs - dispatches LB clusterip_vsLayer 4 switchhalf NATtunnelingDSR NATNATmudaoendereodedestinodopacote,e redirecionaaobackend.Aconexopassapelodirector antesderetornaraocliente.TunnelingTUNTnelentreoLoadBalancereosBackend Necessriaconfiguraoesuporteatneisemtodosos backends. Direct server responseDSRobackendrespondearequisiodiretoao cliente,sempassarpelodirector(noretorno).Backends eLBnomesmosegmentoderede. Requer non-arp interface nos backends.AlgoritmosparaSchedulingDefine a distribuio das requisies entre os backends.RR:RoundRobin WRR:WeightedRoundRobin LC:LeastConnectionWLC:WeightedLeastConnectionPersistnciaSourceIPconexesdeummesmoIPdeorigem sodirecionadasaomesmobackend.CookieInsertion(http)oloadbalanceradicionaum cookienoheaderhttp,quevaiconterinformao sobrequalbackendutilizarSSLsessionIDpersistnciabaseadonoIDda sesso,quefazpartedoSSLhandshakeHeartbeatGerenciamento de recursos entre os nodes de um cluster de alta disponibilidadeMonitoramento de backendsldirectordnao tem monitoramento paraleloinstancias individuais por VIPkeepalivednao tem instancias individuais por VIPIPv6mainstream no linux 2.6.28ip_vs movido de net/ipv4/ipvs para net/netfilter/ipvsadicionada interface netlink para comunicacao inter-processo O que falta?monitoramento paralelo de backendsfull NAT/proxy (+ failback)checar status atual de um VIP e seus backendsread-only mode (ipvsadm funciona somente como root)suporte IPv6espelhamento de configuracao entre HA nodesnanda@localhost> sh vserver mywebserver mywebserver (192.168.1.66:80) - ANY Type: ADDRESS State: UP Effective State: UP Client Idle Timeout: 120 sec Method: LEASTCONNECTION Mode: MAC Persistence: NONE Backup: mybackupcluster Connection Failover: DISABLED1) backend1_http (192.168.1.1:80) - ANY State: UP Weight: 12) backend2_http (192.168.1.2:80) - ANY State: UP Weight: 13) backend3_http (192.168.1.3:80) - ANY State: UP Weight: 1Done pfrost@localhost> sh service backend1_http backend1_http (192.168.1.1:80) - ANY State: UP Server Name: backend1.mydomain Max Conn: 0 Max Req: 0 Max Bandwidth: 0 kbits Use Source IP: YES Client Keepalive(CKA): NO Access Down Service: NO TCP Buffering(TCPB): NO HTTP Compression(CMP): NO Idle timeout: Client: 120 sec Server: 120 sec Client IP: DISABLED Server ID : 0 Monitor Threshold : 01) Monitor Name: http State: UP Weight: 1 Probes: 1064893 Failed [Total: 2979 Current: 0] Last response: Success - 200 OK.2) Monitor Name: ping State: UP Weight: 1 Probes: 2128057 Failed [Total: 637 Current: 0] Last response: Success - TCP syn+ack received. DonePerguntas?