Capítulo 1. Visão Geral do Servidor Virtual Linux
O Servidor Virtual Linux ( LVS ) é um conjunto integrado de componentes de software para o balanceamento de carga IP, através de um conjunto dos servidores reais. O LVS atua num par de computadores configurados igualmente: o primeiro é o roteador LVS ativo e o segundo é o roteador LVS de backup. O roteador LVS ativo serve duas funções:
- Balancear a carga através dos servidores reais.
- Para checar a integridade dos serviços em cada servidor real.
O roteador LVS de backup monitora o roteador LVS ativo e se responsabiliza por isto, em caso do roteador LVS ativo falhar.
Este capítulo fornece uma visão geral dos componentes e funções do LVS, e consiste nas seguintes seções:
1.1. A Basic LVS Configuration
Figura 1.1, “A Basic LVS Configuration” shows a simple LVS configuration consisting of two layers. On the first layer are two LVS routers — one active and one backup. Each of the LVS routers has two network interfaces, one interface on the Internet and one on the private network, enabling them to regulate traffic between the two networks. For this example the active router is using Network Address Translation or NAT to direct traffic from the Internet to a variable number of real servers on the second layer, which in turn provide the necessary services. Therefore, the real servers in this example are connected to a dedicated private network segment and pass all public traffic back and forth through the active LVS router. To the outside world, the servers appears as one entity.
Figura 1.1. A Basic LVS Configuration
Service requests arriving at the LVS routers are addressed to a virtual IP address, or VIP. This is a publicly-routable address the administrator of the site associates with a fully-qualified domain name, such as www.example.com, and is assigned to one or more virtual servers. A virtual server is a service configured to listen on a specific virtual IP. Refer to Seção 4.6, “VIRTUAL SERVERS” for more information on configuring a virtual server using the Piranha Configuration Tool. A VIP address migrates from one LVS router to the other during a failover, thus maintaining a presence at that IP address (also known as floating IP addresses).
Os endereços IP talvez estejam com alias ao mesmo dispositivo do qual conecta o roteador LVS à Internet. Por exemplo, se o eth0 estiver conectado à Internet, então os servidores virtuais múltiplos poderão estar com alias para o
eth0:1
. Alternativamente, cada servidor virtual pode ser associado com um dispositivo separado por serviço. Por exemplo, o tráfego HTTP pode ser manuseado em eth0:1
, e o tráfego FTP pode ser manuseado em eth0:2
.
Only one LVS router is active at a time. The role of the active router is to redirect service requests from virtual IP addresses to the real servers. The redirection is based on one of eight supported load-balancing algorithms described further in Seção 1.3, “Visão Geral do Agendamento LVS”.
O roteador ativo também monitora dinamicamente o health em geral dos serviços específicos nos servidores reais através de simples scripts enviados/esperados. Para ajudar na detecção do health dos serviços que requerem os dados dinâmicos, como por exemplo os HTTPS ou SSL, o administrador pode também chamar serviços externos executáveis. Caso um serviço funcionar incorretamente num servidor real, o roteador ativo interromperá o envio de trabalhos para o servidor até isto retornar à uma operação normal.
O roteador de backup atua a função de sistema Standby. Periodicamente, os roteadores LVS mudam as mensagens heartbeat através da interface pública externa primária, e numa situação de falha a interface primária. Caso o nó de backup falhe em receber a mensagem heartbeat no intervalo esperado, ele iniciará a falha e assumirá a função de roteador ativo. Durante a falha, o roteador de backup se responsabiliza pelos endereços VIP servidos por um roteador de falha usando a técnica conhecida como falsificação de ARP —, onde o roteador LVS de backup se anuncia como destino dos endereçados pacotes IP ao nó de falha. Quando o nó de falha retornar ao serviço ativo, o nó de backup assumirá a função de hot-backup novamente.
The simple, two-layered configuration used in Figura 1.1, “A Basic LVS Configuration” is best for serving data which does not change very frequently — such as static webpages — because the individual real servers do not automatically sync data between each node.
1.1.1. Replicação de Dados e Compartilhamento de dados entre Servidores Reais
Uma vez que não exista componente interno no LVS para compartilhar os mesmos dados entre os servidores reais, o administrador possui duas opções básicas:
- Sincronizar os dados através do pool de servidores reais
- Adicionar a terceira camada à topologia para o acesso de dados compartilhados
A primeira opção é preferida por servidores que não permitem grande número de usuários para carregar ou mudar os dados nos servidores reais. Se a configuração permitir grande número de usuários para modificação dos dados, como por exemplo um website de comércio eletrônico, a adição da terceira camada será preferível.
1.1.1.1. Configuração de Servidores Reais para Dados Sincronizados
Existem diversas maneiras em que um administrador pode escolher para sincronizar os dados através do pool de servidores reais. Por exemplo, o shell scripts pode ser implementado em caso da web de engenheiros atualizar a página, e esta ser enviada a todos os servidores simultaneamente. Além disso, o sistema administrador pode usar programas como por exemplo o
rsync
para replicar mudanças de dados através de todos os nós num conjunto de intervalo.
No entanto, o tipo de dados sincronizados não funcionam da melhor forma se uma configuração estiver sobrecarregada com usuários carregando arquivos constantemente ou lançando transações de banco de dados. Para uma configuração com um alto valor de carga, a topologia de três camadas será a solução ideal.