Configuration de CBR (Content Based Routing)

Avant d'effectuer les opérations décrites dans le présent chapitre, voir Planification de CBR (Content Based Routing). Ce chapitre décrit comment créer une configuration de base pour le composant CBR de Load Balancer.

Présentation générale des tâches de configuration

Avant de suivre les étapes de configuration détaillées dans ce tableau, assurez-vous que le poste CBR et tous les postes serveurs sont connectés au réseau, que leurs adresses IP sont valides et qu'ils peuvent communiquer entre eux par ping.

Remarque :
Le composant Content Based Routing (CBR) n'est pas disponible sur les plateformes qui exécutent la machine virtuelle Java 64 bits, à l'exception de HP-UX ia64. Sous HP-UX ia64, le composant CBR exécute une application de 32 bits. Vous pouvez utiliser la méthode de réacheminement CBR du composant Load Balancer's Dispatcher afin de fournir un routage basé sur le contenu sans l'utilisation de Caching Proxy. Pour plus de détails, voir Fonction CBR de Dispatcher (méthode d'acheminement cbr).
Tableau 4. Tâches de configuration pour le composant CBR
Tâche Description Informations connexes
Configurer le poste CBR Conditions requises Configuration du poste CBR
Configuration des machines pour équilibrer la charge. Définition de la configuration de l'équilibrage de charge. Etape 7. Définition des serveurs avec équilibrage de charge

Méthodes de configuration

Quatre méthodes permettent de créer une configuration de base du composant CBR de Load Balancer :

Pour utiliser le composant CBR, Caching Proxy doit être installé.

Remarque :
Caching Proxy est un service qui, par défaut, démarre automatiquement après l'installation. Vous devez l'arrêter avant de lancer la fonction serveur CBR (cbrserver) et modifier le service Caching Proxy pour le démarrer manuellement et non automatiquement.

Ligne de commande

C'est la méthode de configuration de CBR la plus directe. Les valeurs des paramètres de commandes doivent être saisies à l'aide de caractères anglais. Les seules exceptions s'appliquent aux noms d'hôte (utilisés dans les commandes cluster et server) et aux noms de fichiers.

Pour démarrer CBR à partir de la ligne de commande, procédez aux opérations ci-dessous.

Vous pouvez entrer une version abrégée des paramètres de contrôle cbrcontrol. Il suffit d'entrer les lettres spécifiques des paramètres. Par exemple, pour obtenir l'aide correspondant à la commande file save, vous pouvez entrer cbrcontrol he f au lieu de cbrcontrol help file.

Pour démarrer l'interface de ligne de commande, entrez cbrcontrol pour ouvrir une invite cbrcontrol.

Pour fermer l'interface de ligne de commande, entrez exit ou quit.

Remarques :
  1. Sous Windows, le service dsserver du composant Dispatcher démarre automatiquement. Si vous utilisez uniquement CBR et non le composant Dispatcher, vous pouvez empêcher dsserver de démarrer automatiquement de la manière suivante :
    1. Dans la fenêtre Services, cliquez à l'aide du bouton droit de la souris sur IBM® Dispatcher.
    2. Sélectionnez Propriétés.
    3. Dans la zone Type de démarrage, sélectionnez Manuel.
    4. Cliquez sur OK et fermez la fenêtre Services.
  2. Lorsque vous configurez CBR (Content Based Routing) à partir de l'invite du système d'exploitation et non à partir de l'invite cbrcontrol>>, prenez soin d'utiliser les caractères suivants :

    Le shell du système d'exploitation peut interpréter ces caractères comme des caractères spéciaux et les convertir en texte de remplacement avant leur évaluation par cbrcontrol.

    Les caractères spéciaux de la liste précédente sont facultatifs dans la commande cbrcontrol rule add. Ils sont employés lors de l'indication d'un motif pour une règle de contenu. Par exemple, la commande suivante ne peut être valide qu'avec l'invite cbrcontrol>>.

    rule add 10.1.203.4:80:cbr_prod_rule_ek type content
      pattern uri=/nipoek/*

    Pour que cette commande fonctionne à partir de l'invite du système d'exploitation, placez le motif entre guillemets (" ") comme suit :

    cbrcontrol rule add 10.1.203.4:80:cbr_prod_rule_ek type content
      pattern "uri=/nipoek/*"

    Si vous omettez les guillemets, le motif peut être tronqué lors de la sauvegarde de la règle dans CBR. Les guillemets ne sont pas pris en charge avec l'invite cbrcontrol>>.

Scripts

Vous pouvez entrer les commandes de configuration CBR dans un fichier script de configuration pour les exécuter simultanément.

Remarque :
Pour exécuter rapidement le contenu d'un fichier script (par exemple, mon_script), utilisez l'une des commandes suivantes :

Pour sauvegarder la configuration en cours dans un fichier script (par exemple, savescript), exécutez la commande suivante :

cbrcontrol file save savescript

Cette commande enregistre le fichier script de configuration dans le répertoire suivant :

Interface graphique

Pour des instructions générales et un exemple de l'interface graphique, voir la figure 38.

Pour démarrer l'interface graphique, procédez comme suit :

  1. Vérifiez que cbrserver fonctionne. En tant que superutilisateur ou administrateur, entrez la commande cbrserver à partir d'une invite.
  2. Exécutez l'une des actions suivantes, selon votre système d'exploitation :
  3. Démarrez Caching Proxy. (A partir de l'interface graphique, vous devez d'abord vous connecter à l'hôte et lancer l'exécuteur pour le composant CBR avant de démarrer Caching Proxy.) Effectuez l'une des actions suivantes :

Pour pouvoir configurer le composant CBR à partir de l'interface graphique, vous devez d'abord sélectionner Content Based Routing dans l'arborescence. Vous pouvez lancer le gestionnaire une fois que vous vous êtes connecté à un hôte. Vous pouvez également créer des clusters contenant des ports et des serveurs, puis lancer des conseillers pour le gestionnaire.

Vous pouvez utiliser l'interface graphique pour toute opération exécutée habituellement par la commande cbrcontrol. Par exemple, pour définir un cluster à l'aide de la ligne de commande, entrez la commande cbrcontrol cluster add cluster. Pour définir un cluster à partir de l'interface graphique, cliquez à l'aide du bouton droit de la souris sur Exécuteur, puis dans le menu en incrustation, sélectionnez Ajout d'un cluster. Entrez l'adresse du cluster dans la fenêtre en incrustation, puis cliquez sur OK.

Les fichiers de configuration CBR existants peuvent être chargés à l'aide des options Chargement de la nouvelle configuration (pour remplacer intégralement la configuration en cours) et Ajout à la configuration en cours (pour mettre à jour la configuration en cours) du menu en incrustation Hôte. Vous devez sauvegarder régulièrement votre configuration CBR dans un fichier, en utilisant l'option Sauvegarder le fichier de configuration en... du menu en incrustation Hôte. Le menu Fichier situé en haut de l'interface graphique permet de sauvegarder les connexions à l'hôte en cours dans un fichier ou de restaurer les connexions dans des fichiers existants sur tous les composants Load Balancer.

Vous pouvez accéder à l'Aide en cliquant sur le point d'interrogation situé dans l'angle supérieur droit de la fenêtre Load Balancer.

Pour exécuter une commande à partir de l'interface graphique : mettez le noeud Hôte en surbrillance dans l'arborescence de l'interface graphique, puis sélectionnez Envoyer la commande... dans le menu en incrustation Hôte. Dans la zone d'entrée de commande, entrez la commande à exécuter, par exemple executor report. Les résultats et l'historique des commandes exécutées lors de la session courante s'affichent dans la fenêtre ouverte.

Pour plus de détails sur l'utilisation de l'interface graphique, voir Annexe A. Interface graphique utilisateur : Instructions générales.

Assistant de configuration

Si vous utilisez l'assistant de configuration, procédez comme suit :

  1. Démarrez cbrserver : entrez la commande cbrserver à partir de l'invite en tant que superutilisateur ou administrateur.
  2. Démarrez la fonction Assistant de CBR.

    Pour ce faire, démarrez l'assistant à partir de l'invite en entrant cbrwizard. Ou alors, sélectionnez l'assistant de configuration dans le menu des composants CBR proposé par l'interface graphique.

  3. Démarrez Caching Proxy pour équilibrer la charge du trafic HTTP ou HTTPS (SSL).

    Pour les systèmes AIX, HP-UX, Linux ou Solaris : Pour lancer Caching Proxy, entrez ibmproxy

    Pour les systèmes Windows : Pour lancer Caching Proxy, accédez au panneau Services : Démarrer > Panneau de configuration > Outils d'administration > Services

Cet assistant vous guide, pas à pas, pendant la création d'une configuration de base du composant CBR. Il vous demande des renseignements sur votre réseau et vous guide pendant l'installation d'un cluster permettant à CBR d'équilibrer la charge du trafic d'un groupe de serveurs.

Configuration du poste CBR

La configuration de la machine CBR ne peut être effectuée que par le superutilisateur root (pour les systèmes AIX, HP-UX, Linux ou Solaris) ou l'administrateur (pour les systèmes Windows).

Vous aurez besoin d'une adresse IP pour chaque cluster de serveurs configuré. Une adresse de cluster est une adresse associée à un nom de système hôte (par exemple www.société_X.com). Cette adresse IP est utilisée par un client pour se connecter aux serveurs du cluster en question. Cette adresse se trouve dans la requête URL du client. Toutes les requêtes envoyées à la même adresse de cluster font l'objet d'un équilibrage de charge par CBR.

Pour les systèmes Solaris uniquement : Pour pouvoir utiliser le composant CBR, vous devez modifier les valeurs système par défaut attribuées aux communications IPC (Inter-process Communication). Vous devez augmenter la taille maximale du segment de mémoire partagée et le nombre d'identificateurs de sémaphores. Pour configurer la prise en charge de CBR, ajoutez les instructions suivantes dans le fichier /etc/system, puis réamorcez le système :

set shmsys:shminfo_shmmax=0x02000000
set semsys:seminfo_semmap=750
set semsys:seminfo_semmni=30
set semsys:seminfo_semmns=750
set semsys:seminfo_semmnu=30
set semsys:seminfo_semume=30

Si vous n'attribuez pas au segment de mémoire partagée les valeurs ci-dessus, la commande cbrcontrol executor start échouera.

Etape 1. Configuration de Caching Proxy pour utiliser CBR

Pour utiliser le composant CBR, Caching Proxy doit être installé.

Remarque :
Caching Proxy est un service qui, par défaut, démarre automatiquement après l'installation. Vous devez l'arrêter avant de lancer la fonction serveur CBR et modifier le service Caching Proxy pour le démarrer manuellement et non automatiquement.

Apportez les modifications ci-dessous au fichier de configuration Caching Proxy (ibmproxy.conf) :

Vérifiez que la directive d'URL entrante CacheByIncomingUrl a la valeur "off" (valeur par défaut).

Dans la section des règles de mappage du fichier de configuration, ajoutez pour chaque cluster une règle de mappage du type suivant :

Proxy    /*  http://cluster.domain.com/*    cluster.domain.com
Remarque :
CBR définit le protocole, le serveur et le port cible ultérieurement.

Quatre entrées doivent être modifiées pour le plug-in CBR :

Chaque entrée doit figurer sur une ligne. Le fichier ibmproxy.conf comporte plusieurs instances de "ServerInit" (une par plug-in). Les entrées relatives au plug-in CBR doivent être modifiées et ne doivent comporter aucun commentaire.

Les ajouts spécifiques au fichier de configuration de chaque système d'exploitation sont répertoriés ci-dessous :

Tableau 5. Ajouts nécessaires au fichier de configuration CBR par le système d'exploitation
Système d'exploitation Ajouts au fichier de configuration CBR
Systèmes AIX, HP-UX, Linux et Solaris
ServerInit  /opt/ibm/edge/lb/servers/lib/liblbcbr.so:ndServerInit 

PostAuth  /opt/ibm/edge/lb/servers/lib/liblbcbr.so:ndPostAuth 

PostExit  /opt/ibm/edge/lb/servers/lib/liblbcbr.so:ndPostExit 

ServerTerm  /opt/ibm/edge/lb/servers/lib/liblbcbr.so:ndServerTerm
Systèmes Windows
ServerInit  <root_install>ibm\edge\lb\servers\lib\liblbcbr.dll:ndServerInit 

PostAuth  <root_install>ibm\edge\lb\servers\lib\liblbcbr.dll:ndPostAuth 

PostExit  <root_install>ibm\edge\lb\servers\lib\liblbcbr.dll:ndPostExit 

ServerTerm  <root_install>ibm\edge\lb\servers\lib\liblbcbr.dll:ndServerTerm

Etape 2. Démarrage de la fonction serveur

Pour démarrer la fonction serveur CBR, entrez cbrserver sur la ligne de commande.

Un fichier de configuration par défaut (default.cfg) est chargé automatiquement lors du démarrage de cbrserver. Si vous sauvegardez la configuration CBR dans default.cfg, toutes les données enregistrées dans ce fichier sont automatiquement chargées au prochain démarrage de cbrserver.

Etape 3. Démarrage de la fonction exécuteur

Pour démarrer la fonction exécuteur, entrez la commande cbrcontrol executor start. Notez que vous pouvez également modifier divers paramètres de l'exécuteur à cette occasion. Voir dscontrol executor — Contrôle de l'exécuteur.

Etape 4. Définition et configuration des options du cluster

CBR équilibrera les requêtes envoyées au cluster entre les serveurs correspondants configurés sur les ports de ce cluster.

Le cluster est le nom symbolique situé sur la portion hôte de l'URL et qui doit correspondre au nom utilisé dans l'instruction Proxy du fichier ibmproxy.conf.

Les clusters définis dans CBR doivent correspondre à la demande entrante. Un cluster doit être défini à l'aide du nom d'hôte ou de l'adresse IP contenue dans la demande entrante. Par exemple, si la demande est entrée sous forme d'adresse IP, le cluster doit être défini en tant que cette adresse IP. Si plusieurs noms d'hôte se résolvent en une seule adresse IP (et que les demandes peuvent arriver avec l'un de ces noms d'hôte), tous les noms d'hôte doivent être définis en tant que clusters.

Pour définir un cluster, tapez la commande suivante :

cbrcontrol cluster add cluster

Pour définir les options de cluster, tapez la commande suivante :

cbrcontrol cluster set valeur d'option de cluster

Pour plus d'informations, voir Guide des commandes Dispatcher et CBR.

Etape 5. Affectation d'un alias à la carte d’interface réseau (facultatif)

Si vous exécutez Caching Proxy dans une configuration de proxy inverse, lors de l'équilibrage de charge pour plusieurs sites Web, vous devez ajouter l'adresse de cluster de chaque site Web au moins à l'une des cartes d'interface réseau du système Load Balancer. Sinon, vous pouvez ignorer cette étape.

Pour les systèmes AIX, HP-UX, Linux ou Solaris : Pour ajouter l'adresse de cluster à l'interface réseau, servez-vous de la commande ifconfig. Utilisez la commande adaptée au système d'exploitation (voir tableau 6).

Tableau 6. Commandes pour l'affectation d'un alias à la carte d'interface réseau
AIX ifconfig nom_interface alias adresse_cluster netmask masque_réseau
HP-UX ifconfig nom_interface adresse_cluster netmask masque_réseau up
Linux ifconfig nom_interface adresse_cluster netmask masque_réseau up
Solaris 9 et Solaris 10 ifconfig nom_interface addif adresse_cluster netmask masque_réseau up
Remarque :
Pour les systèmes Linux et HP-UX, nom_interface doit comporter un numéro unique à chaque adresse de cluster ajoutée. Par exemple : eth0:1, eth0:2, etc.

Sous Windows 2003 : Pour ajouter l'adresse de cluster à l'interface réseau, procédez comme suit :

  1. Cliquez sur Démarrer > Panneau de configuration > Connexions réseau > Connexion au réseau local
  2. Cliquez sur Propriétés.
  3. Sélectionnez Protocole Internet (TCP/IP), puis cliquez sur Propriétés.
  4. Sélectionnez Utiliser l'adresse IP suivante, puis cliquez sur Avancé.
  5. Cliquez sur Ajouter, puis entrez l'adresse IP et le masque de sous-réseau du cluster.

Etape 6. Définition des ports et de leurs options

Le numéro de port est le port à partir duquel les applications serveur sont à l'écoute. Pour le composant CBR avec Caching Proxy exécutant le trafic HTTP, il s'agit en général du port 80.

Pour définir le port du cluster défini à l'étape précédente, entrez la commande suivante :

cbrcontrol port add cluster:port 

Pour définir les options de port, entrez la commande suivante :

cbrcontrol port set cluster:valeur d'option port

Pour plus d'informations, voir Guide des commandes Dispatcher et CBR.

Etape 7. Définition des serveurs avec équilibrage de charge

Les serveurs sont les postes qui exécutent les applications dont vous souhaitez équilibrer la charge. Le serveur est l'adresse à nom symbolique ou notation décimale de la machine serveur. Pour définir un serveur dans le cluster et le port, tapez la commande suivante :

cbrcontrol server add cluster:port:serveur

Vous devez définir un ou plusieurs serveurs par port sur un cluster pour pouvoir procéder à l'équilibrage des charges.

Etape 8. Ajout de règles à la configuration

Il s'agit de l'étape clé de la configuration CBR avec Caching Proxy. Une règle définit la manière dont une requête URL sera reconnue et envoyée à l'un des ensembles de serveurs appropriés. Le type de règle spéciale utilisé par CBR est appelé règle de contenu. Pour définir une règle de contenu, tapez la commande suivante :

cbrcontrol rule add cluster:port:règle type content pattern motif

La valeur pattern est l'expression régulière qui est comparée à l'URL de chaque requête client. Pour plus d'informations sur la configuration de la structure, voir Annexe B. Syntaxe des règles de contenu (modèle).

Certains autres types de règles définis dans Dispatcher peuvent également être utilisés dans CBR. Pour plus d'informations, voir Configuration de l'équilibrage de charge basé sur des règles.

Etape 9. Ajout de serveurs à vos règles

Lorsqu'une règle correspond à une requête client, l'ensemble de serveurs de la règle est interrogé pour déterminer le meilleur serveur. L'ensemble de serveurs de la règle est un sous-ensemble de serveurs définis dans le port. pour ajouter des serveurs à un ensemble de serveurs de la règle, émettez la commande suivante :

cbrcontrol rule useserver cluster:port:serveur de règles

Etape 10. Démarrage de la fonction gestionnaire (facultatif)

La fonction gestionnaire permet d'améliorer l'équilibrage de charge. Pour démarrer le gestionnaire, tapez la commande suivante :

cbrcontrol manager start

Etape 11. Démarrage de la fonction conseiller (facultatif)

Les conseillers transmettent au gestionnaire des informations complémentaires sur la capacité à répondre aux demandes des serveurs ayant fait l'objet d'un équilibrage de charge. Chaque conseiller est spécifique à un protocole. Par exemple, tapez la commande suivante pour lancer le conseiller HTTP :

cbrcontrol advisor start http port

Etape 12. Définition du niveau d'importance des informations requis pour le cluster

Si vous démarrez des conseillers, vous pouvez modifier le niveau d'importance donné aux informations des conseillers entrant dans les décisions d'équilibrage de la charge. Pour définir le niveau d'importance des informations pour le cluster, entrez la commande cbrcontrol cluster set cluster NiveauImportance. Pour plus d'informations, voir Proportion de l'importance accordée aux données d'état.

Etape 13. Démarrage de Caching Proxy

Dans le nouvel environnement, démarrez Caching Proxy :

Exemple de configuration CBR

Pour configurer CBR, procédez aux opérations ci-dessous.

  1. Démarrez CBR : entrez la commande cbrserver.
  2. Démarrez l'interface de ligne de commande : émettez la commande cbrcontrol.
  3. L'invite cbrcontrol s'affiche. Emettez les commandes suivantes : (cluster(c),port(p),rule(r),server(s))
  4. Démarrez Caching Proxy : entrez la commande ibmproxy. Sous Windows, démarrez Caching Proxy à partir du panneau Services.
  5. Supprimez toutes les configurations de proxy à partir du navigateur.
  6. Chargez http://c/ dans votre navigateur, où "'c" est le cluster que vous avez précédemment configuré.