Guide d'administration système d'Oracle® Solaris Cluster

Quitter la vue de l'impression

Mis à jour : Octobre 2015
 
 

Configuration de limites de charge

Vous pouvez activer la distribution automatique de la charge du groupe de ressources sur les noeuds en définissant des limites de charge. Vous pouvez configurer un ensemble des limites de charge pour chaque noeud de cluster. Les facteurs de charge assignés à des groupes de ressources correspondent aux limites de charge définies des noeuds. Le comportement par défaut consiste à distribuer la charge du groupe de ressources de manière équitable sur tous les noeuds disponibles dans la liste des noeuds du groupe de ressources.

Les groupes de ressources sont démarrés sur un noeud de la liste des noeuds du groupe de ressources par le RGM, de manière à ce que les limites de charge du noeud ne soient pas dépassées. Etant donné que les groupes de ressources sont assignés aux noeuds par le gestionnaire de groupes de ressources, les facteurs de charge des groupes de ressources sur chaque noeud sont additionnés afin de calculer la charge totale. La charge totale est ensuite comparée aux limites de la charge de ce noeud.

    Une limite de charge se compose des éléments suivants :

  • Un nom assigné par l'utilisateur.

  • Une valeur de limite dépassable (vous pouvez dépasser temporairement cette valeur).

  • Une valeur de limite fixe (ces limites de charge ne peuvent jamais être dépassées et sont strictement appliquées).

Vous pouvez définir les limites dépassable et fixe dans une seule commande. Si une des limites n'est pas explicitement définie, la valeur par défaut est utilisée. Les limites dépassable et fixe de chaque noeud sont créées et modifiées avec les commandes clnode create-loadlimit, clnode set-loadlimit et clnode delete-loadlimit. Pour plus d'informations, reportez-vous à la page de manuel clnode(1CL).

Vous pouvez assigner une priorité plus élevée à un groupe de ressources. De cette façon, les risques qu'il soit retiré d'un noeud sont réduits. Vous pouvez également définir une propriété preemption_mode pour déterminer si un groupe de ressources peut être devancé par un groupe de ressources à priorité supérieure en cas de surcharge de noeud. Une propriété concentrate_load permet aussi de concentrer la charge du groupe de ressources sur le moins de noeuds possible. La valeur par défaut de la propriété concentrate_load est FALSE.


Remarque -  Vous pouvez configurer des limites de charge sur les noeuds d'un cluster global ou d'un cluster de zones. Vous pouvez utiliser la ligne de commande, l'utilitaire clsetup ou l'interface d'Oracle Solaris Cluster Manager pour configurer des limites de charge. Pour obtenir les instructions de connexion à la GUI, reportez-vous à la section Accès à Oracle Solaris Cluster Manager. La procédure suivante montre comment configurer des limites de charge à l'aide de la ligne de commande.

Configuration de limites de charge sur un noeud

Vous pouvez également utiliser la GUI d'Oracle Solaris Cluster Manager pour créer et configurer une limite de charge sur un noeud du cluster global ou un noeud du cluster de zones. Vous pouvez également utiliser la GUI pour modifier ou supprimer une limite existante de charge de noeud. Pour obtenir les instructions de connexion à la GUI, reportez-vous à la section Accès à Oracle Solaris Cluster Manager.

  1. Prenez un rôle octroyant l'autorisation RBAC de type solaris.cluster.modify sur n'importe quel noeud du cluster global.
  2. Créez et définissez une limite de charge pour les noeuds avec lesquels vous souhaitez utiliser l'équilibrage de charge.
    # clnode create-loadlimit -p limitname=mem_load -Z zc1 -p
    softlimit=11 -p hardlimit=20 node1 node2 node3

    Dans cet exemple, le nom du cluster de zones est zc1. L'exemple de propriété est appelé mem_load et possède une limite dépassable de 11 et une limite fixe de 20. Les limites dépassable et fixe sont des arguments facultatifs, définis par défaut sur une valeur illimitée. Pour plus d'informations, reportez-vous à la page de manuel clnode(1CL).

  3. Assignez des valeurs de facteur de charge à chaque groupe de ressources.
    # clresourcegroup set -p load_factors=mem_load@50,factor2@1 rg1 rg2

    Dans cet exemple, les facteurs de charge sont définis sur les deux groupes de ressources, rg1 et rg2. Les paramètres des facteurs de charge correspondent aux limites de charge définies pour ces noeuds. Vous pouvez également effectuer cette étape au cours de la création du groupe de ressources avec la commande clresourceroup create. Pour plus d'informations, reportez-vous à la page de manuel clresourcegroup(1CL).

  4. Si vous le souhaitez, vous pouvez redistribuer la charge existante (clrg remaster).
    # clresourcegroup remaster rg1 rg2

    Cette commande permet de déplacer des groupes de ressources hors de leur noeud maître actuel, vers d'autres noeuds, afin d'obtenir une répartition uniforme de la charge.

  5. Si vous le souhaitez, vous pouvez accorder une priorité supérieure à certains groupes de ressources.
    # clresourcegroup set -p priority=600 rg1

    La priorité par défaut est 500. Lors de l'assignement des noeuds, les groupes de ressources avec des valeurs de priorité supérieure prévalent sur les groupes de ressources avec une priorité inférieure.

  6. Si vous le souhaitez, vous pouvez définir la propriété Preemption_mode.
    # clresourcegroup set -p Preemption_mode=No_cost rg1

    Pour plus d'informations, reportez-vous à la page de manuelclresourcegroup(1CL) sur les options HAS_COST, NO_COST et NEVER.

  7. Si vous le souhaitez, vous pouvez également définir l'indicateur Concentrate_load.
    # cluster set -p Concentrate_load=TRUE
  8. Si vous le souhaitez, vous pouvez spécifier une affinité entre les groupes de ressources.

    Une affinité positive ou négative forte l'emporte sur la répartition de la charge. Une forte affinité doit toujours être respectée, tout comme une limite de charge fixe. Si vous définissez à la fois des affinités fortes et des limites de charge fixes, certains groupes de ressources devront rester hors ligne s'ils ne répondent pas à ces deux contraintes.

    L'exemple suivant décrit une affinité positive forte entre le groupe de ressources rg1 du cluster de zones zc1 et le groupe de ressources rg2 du cluster de zones zc2.

    # clresourcegroup set -p RG_affinities=++zc2:rg2 zc1:rg1
  9. Vérifiez le statut de tous les noeuds de cluster global et de zones dans le cluster.
    # clnode status -Z all -v

    La sortie inclut touts les paramètres de limite de charge définis sur le noeud.