1.3.2. Peso del server e programmazione (scheduling)
L'amministratore di Load Balancer Add-On è in grado di assegnare un peso ad ogni nodo nel pool di real server. Il peso è un valore intero presente in qualsiasi algoritmo di programmazione weight-aware (come ad esempio i weighted least-connections), e viene usato con il router LVS per una assegnazione omogenea delle diverse capacità ad un hardware.
I pesi sono in rapporto tra loro. Per esempio se un real server ha un peso di 1 e un altro server ha un peso di 5, il server con un peso pari a 5 otterrà 5 collegamenti per ogni connessione ricevuta dall'altro server. Il valore predefinito per un real server è 1.
Anche se l'aggiunta di peso alle varie configurazioni hardware in un pool di real server, può assistere ad un bilanciamento più efficiente del carico in un cluster, esso può causare squilibri temporanei quando un real server viene introdotto nel pool e un server virtuale è stato programmato all'uso di un tipo di collegamento weighted least-connections. Per esempio, se in presenza di tre server (A, B e C), server A e B hanno un peso pari a 1, server C invece, ha un peso 2. Se il server C viene interrotto per qualsiasi motivo, i server A e B distribuiscono in modo omogeneo il carico. Tuttavia quando il server C viene riattivato, il router LVS riconosce un numero di collegamenti pari a zero, così facendo tutte le richieste in ingresso verranno indirizzate sul server, inondandolo di richieste, fino a quando lo stesso non raggiunge un livello pari a quello di A e B.
Per impedire il verificarsi di questo fenomeno gli amministratori potranno utilizzare un server virtuale come server quiesce, il quale, quando abilitato, permette al server C nell'esempio sopra riportato di non essere rimosso dalla tabella del server virtuale. Al contrario, il peso verrà impostato su , disabilitandolo. Quando il real server C sarà nuovamente reso disponibile, esso verrà abilitato con il proprio peso originale.