9.5. Persistance et balises pare-feu

Dans certaines situations, il est souhaitable qu'un client puisse se reconnecter au même serveur réel de façon répétée, plutôt qu'un algorithme de répartition de charge LVS n'envoie cette requête vers le serveur le plus disponible. Les Web Forms à écrans multiples, les cookies, SSL et les connexions FTP sont tous des exemples de telles situations. Dans ces cas-là, il se peut qu'un client ne puisse fonctionner correctement que si les transactions sont traitées par le même serveur, car ce dernier peut par là-même conserver le contexte approprié. LVS fournit deux caractéristiques différentes pour traiter de telles situations : la persistance et les balises pare-feu (firewall marks).

9.5.1. Persistance

Lorsque cette fonctionnalité est activée, la persistance agit comme une horloge. Lorsqu'un client se connecte à un service, LVS mémorise la dernière connexion pour une certaine durée. Si la même adresse IP cliente se connecte à nouveau pendant cette durée, elle sera dirigée vers le même serveur auquel elle s'était précédemment connectée — par là-même, évitant les mécanismes de répartition de charge. Lorsqu'une connexion est établie après cette durée, elle est traitée normalement selon les règles de l'ordonnancement en place.

La persistance permet également à un administrateur de spécifier le masque de sous-réseau à utiliser lors du test de l'adresse IP cliente, fournissant ainsi un outil pour contrôler quelles adresses ont un niveau de persistance supérieur et offrant, par là-même, un moyen de grouper les connexions dans ce sous-réseau.

Le regroupement de connexions destinées à des ports différents peut être important pour des protocoles qui utilisent plus d'un port pour communiquer, comme c'est le cas de FTP. Néanmoins, la persistance n'est pas la manière la plus efficace de traiter le problème du regroupement de connexions destinées à des ports différents. Dans de telles situations, il vaut mieux utiliser les balises pare-feu (firewall marks).

9.5.2. Balises pare-feu

Les balises pare-feu (firewall marks) représentent un moyen simple et efficace de regrouper des ports utilisés pour un protocole ou un groupe de protocoles similaires. Par exemple, si un cluster LVS fait tourner un site e-commerce, des balises pare-feu peuvent être utilisées pour lier les connexions HTTP au port 80 et réserver les connexions HTTPS au port 443. En assignant la même balise pare-feu au serveur virtuel pour chaque protocole, les informations sur l'état de la transaction peuvent être maintenues parce que le routeur LVS transmettra toutes les requêtes vers le même serveur réel, après l'ouverture d'une connexion.

En raison de son efficacité et de sa simplicité d'utilisation, les administrateurs de clusters LVS devraient, lors du regroupement des connexions, utiliser autant que possible des balises pare-feu plutôt que la persistance. Ceci étant, les administrateurs devraient toujours ajouter la persistance aux serveurs virtuels en plus des balises pare-feu, pour garantir la connexion des clients au même serveur, pour une durée adéquate.