Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

1.3. Visão Geral do Agendamento LVS

Uma das vantagens em se utilizar o LVS é a sua habilidade de atuação flexível, IP- balanceamento da carga de nível num pool de servidor real. Esta flexibilidade é devido a variedade de algoritmos agendados que um administrador pode escolher quando configurando o LVS. O balanceamento de carga LVS é superior aos métodos de menor flexibilidade, como por exemplo a Repetição Alternada DNS, onde a natureza hierárquica do DNS e a captura por máquinas de clientes pode levar ao não balanceamento de carga. Além disso, a filtração de baixo nível empregada pelo roteador LVS possui vantagens sobre a solicitação da aplicação de nível enviada. Isto é devido às cargas de balanceamento, no nível dos pacotes da rede, causarem a mínima elevação de computação e permitirem uma boa escalabilidade.
Using scheduling, the active router can take into account the real servers' activity and, optionally, an administrator-assigned weight factor when routing service requests. Using assigned weights gives arbitrary priorities to individual machines. Using this form of scheduling, it is possible to create a group of real servers using a variety of hardware and software combinations and the active router can evenly load each real server.
O mecanismo de agendamento para o LVS é fornecido por uma coleção de patches (remendos ) de kernel chamado módulos do Servidor Virtual IP. Estes módulos ativam a camada 4 ( L4 )
Para rastrear e rotear os pacotes eficientemente, o IPVS constrói a tabela IPVS no kernel. Esta tabela é usada por um roteador LVS ativo para redirecionar solicitações do endereço do servidor virtual para os servidores reais, e retorná-los ao pool. A tabela IPVS é constantemente atualizada por uma utilidade chamada ipvsadm — da qual adiciona e remove os membros do cluster, dependendo na disponibilidade que os mesmos oferecem.

1.3.1. Agendamento de Algoritmos

The structure that the IPVS table takes depends on the scheduling algorithm that the administrator chooses for any given virtual server. To allow for maximum flexibility in the types of services you can cluster and how these services are scheduled, Red Hat Enterprise Linux provides the following scheduling algorithms listed below. For instructions on how to assign scheduling algorithms refer to Seção 4.6.1, “A Subseção do SERVIDOR VIRTUAL.
Round-Robin Scheduling
Distribui cada solicitação seqüencialmente em volta do pool dos servidores reais. Usando este algoritmo, todos os servidores reais são tratados igualmente sem considerar a capacidade ou carga. Este modelo de agendamento parece-se ao DNS de repetição alternativa, porém mais granular uma vez que isto é uma conexão de rede baseada e não host baseada. O agendamento de repetição alternada LVS também não sofre as instabilidades causadas pelas questões DNS em cache.
Weighted Round-Robin Scheduling
Distributes each request sequentially around the pool of real servers but gives more jobs to servers with greater capacity. Capacity is indicated by a user-assigned weight factor, which is then adjusted upward or downward by dynamic load information. Refer to Seção 1.3.2, “Agendamento e Carga do Servidor” for more on weighting real servers.
O agendamento de repetição alternado é a escolha preferida caso existam diferenças significantes na capacidade de servidores reais no pool. No entanto, se uma solicitação de carga variar dinamicamente, o servidor de carga mais pesada talvez responda mais do que suas solicitações compartilhadas.
Least-Connection
Distribui mais solicitações aos servidores reais com poucas conexões ativas. A conexão mínima é um tipo de algoritmo de agendamento dinâmico, fazendo com que isto seja a melhor opção caso haja um alto grau de variações na carga solicitada. Isto é devido à conexão mínima controlar as conexões vivas para os servidores reais através da tabela IPVS. Isto é bastante adequado para um pool de servidores reais, onde cada nó de membro possui aproximadamente a mesma capacidade. Caso um grupo de servidores possua a mesma capacidade, o agendamento de conexão mínima sobrecarregado será uma melhor escolha.
Weighted Least-Connections (default)
Distributes more requests to servers with fewer active connections relative to their capacities. Capacity is indicated by a user-assigned weight, which is then adjusted upward or downward by dynamic load information. The addition of weighting makes this algorithm ideal when the real server pool contains hardware of varying capacity. Refer to Seção 1.3.2, “Agendamento e Carga do Servidor” for more on weighting real servers.
Locality-Based Least-Connection Scheduling
Distribui mais solicitações aos servidores com poucas conexões ativas referentes a seus IPs de destino. Este algoritmo é designado para o uso do cluster de servidor de cache proxy. Isto roteia os pacotes para um endereço IP ao servidor daquele endereço, a não ser que o servidor esteja acima da capacidade e possua um servidor com metade da carga. Neste caso, isto determinará o endereço IP para o servidor real de carga mínima.
Locality-Based Least-Connection Scheduling with Replication Scheduling
Distribui mais solicitações para servidores com poucas conexões ativas relativas às suas destinações IPs. Este algoritmo é também designado para o uso num cluster de servidor de cache proxy. Isto difere de um Agendamento de Conexão Mínima Baseada Localmente pelo mapeamento do endereço IP alvo ao subconjunto de nós do servidor real. As solicitações são então roteadas para o servidor neste subconjunto com o número mínimo de conexões. Caso todos os nós do destino IP estiverem acima da capacidade, este replicará um novo servidor para o endereço IP de destino, adicionando o servidor real com conexões mínimas. Estas abrangem todo o pool de servidores reais ao subconjunto de servidores reais para o destino IP. O nó mais carregado desprende-se do subconjunto do servidor real para prevenir um número demasiado de replicações.
Destination Hash Scheduling
Distribui solicitações ao pool de servidores reais apenas observando o destino IP numa tabela hash estática. Este algoritmo é designado para o uso no cluster de servidor cache proxy.
Source Hash Scheduling
Distribui solicitações ao pool de servidores reais apenas observando o recurso IP numa tabela hash estática. Este algoritmo é designado para os roteadores LVS com firewalls múltiplos.