• Aucun résultat trouvé

La haute disponibilité

N/A
N/A
Protected

Academic year: 2022

Partager "La haute disponibilité"

Copied!
21
0
0

Texte intégral

(1)

Chapitre 3

La haute disponibilité

3.1 Définition du cluster de serveurs . . . 112

3.2 La mise en cluster des applications . . . 114

3.3 Les composants du cluster de serveurs . . . 115

3.4 Les objets du cluster de serveurs . . . 119

3.5 Planification du cluster de serveurs . . . 125

3.6 Implémenter un cluster de serveurs . . . 126

3.7 Le basculement du cluster de serveurs . . . 128

3.8 En résumé . . . 129

(2)
(3)

U

n serveur est destiné à rendre un ou des services aux utilisateurs de l’entreprise. La messagerie, la gestion financière, l’hébergement de sites web ou de fichiers, etc., autant de services cruciaux pour l’entreprise. Et plus ces services sont cruciaux, plus les administrateurs souhaitent que le service soit disponible 24 heures sur 24, 7 jours sur 7.

Pour cela, le service doit se prémunir des pannes applicatives comme des pannes matérielles et des interruptions de service (comme l’application des patchs de sécurité).

On dit alors que le service doit être hautement disponible.

Depuis Windows NT 4.0, il existe une solution qui permet d’implémenter la haute disponibilité pour une application. Cette solution s’appelle "le cluster de serveurs". Nous avons choisi de développer cette solution de haute disponibilité (il y en a d’autres) dans sa version Windows Server 2003. Pour tout vous dire, il faudrait un livre entier pour bien expliquer et détailler le fonctionnement d’un cluster. Ici, nous avons fait le pari d’insister sur les principes et concepts du cluster pour que vous compreniez exactement tous les détails et les aboutissants. De ce fait, la technicité ne sera pas vraiment un problème car vous aurez compris le fonctionnement global.

Un cluster de serveurs est un groupe de systèmes informatiques indépendants, appelés

"nœuds", qui exécutent Windows Server 2003 Enterprise Edition ou Windows Server 2003 Datacenter Edition. Ces systèmes fonctionnent ensemble comme s’il s’agissait d’un seul système pour garantir que des applications et des ressources critiques restent disponibles pour les clients. Les nœuds d’un cluster restent en communication constante lors de l’échange de messages périodiques, appelés "pulsations". Si l’un des nœuds du cluster devient indisponible en raison d’une panne ou d’une opération de maintenance, un autre nœud prend immédiatement le relais pour fournir le service approprié (ce processus est appelé "basculement").

Les clusters de serveurs peuvent regrouper jusqu’à huit nœuds. De plus, un cluster ne peut pas être composé de nœuds exécutant à la fois Windows Server 2003 Enterprise Edition et Windows Server 2003 Datacenter Edition dans la mesure où différents systèmes d’exploitation risquent d’exécuter des versions incompatibles du cluster de service. Dans les clusters de serveurs qui comportent plus de deux nœuds, tous les nœuds doivent exécuter soit Windows Server 2003 Enterprise Edition, soit Windows Server 2003 Datacenter Edition.

Les clusters de serveurs peuvent être paramétrés selon l’une des trois configurations de modèle de cluster :

j Les clusters de serveurs à nœud unique peuvent être configurés avec ou sans périphériques externes de stockage de cluster. Pour les clusters à nœud unique sans périphérique de stockage de cluster externe, le disque local est configuré en tant que périphérique de stockage de cluster.

j Les clusters de serveurs à périphériquequorumunique comportent deux nœuds ou plus et sont configurés de sorte que chaque nœud est rattaché à un ou à plusieurs périphériques de stockage de cluster. Les données de configuration du cluster sont stockées sur un périphérique de stockage de cluster unique.

j Les clusters de serveurs à jeu de nœud majoritaire comportent deux nœuds ou plus, mais ces derniers peuvent être rattachés ou non à un ou à plusieurs périphériques de

La haute disponibilité

3.Lahautedisponibilité

(4)

stockage de cluster. Les données de configuration de cluster sont stockées sur plusieurs disques du cluster et le service de cluster vérifie la cohérence de ces données entre les différents disques.

Il est important de bien comprendre les avantages et les limitations des différents modèles de cluster avant de configurer votre cluster de serveurs. Par exemple, un cluster à jeu de nœud majoritaire peut tolérer moins de défaillances simultanées de nœuds qu’un cluster à périphériquequorumunique.

Vous pouvez utiliser un périphérique Fibre Channel ou SCSI partagé dans le cadre du stockage sur des clusters de serveurs. Il est conseillé d’utiliser un périphérique Fibre Channel pour le stockage de cluster dans les clusters de serveurs ayant plus de deux nœuds.

Les clusters de serveurs permettent aux utilisateurs et aux administrateurs d’accéder aux nœuds et de les gérer, non comme des ordinateurs distincts, mais comme un seul système.

3.1. Définition du cluster de serveurs

Un cluster de serveurs est un groupe de systèmes informatiques indépendants, appelés

"nœuds", qui fonctionnent ensemble comme s’il s’agissait d’un seul système pour garantir que des applications et des ressources critiques restent disponibles pour les clients. Ces nœuds doivent exécuter Windows Server 2003 Enterprise Edition ou Windows Server 2003 Datacenter Edition. Les clusters de serveurs permettent aux utilisateurs et aux administrateurs d’accéder aux nœuds et de les gérer, non comme des ordinateurs distincts, mais comme un seul système.

Chaque nœud peut être rattaché à un ou à plusieurs périphériques de stockage de cluster. Vous pouvez utiliser un périphérique Fibre Channel, iSCSI ou SCSI partagé dans le cadre du stockage sur des clusters de serveurs. Pour les clusters de serveurs ayant plus de deux nœuds, il est conseillé d’utiliser du matériel Fibre Channel sur le bus de stockage partagé.

Tableau 3.1 : Configurations de mise en cluster possibles en fonction de la version du système d’exploitation

Système d’exploitation Nombre de nœuds Périphérique de stockage de cluster autorisé

Windows Server 2003 Enterprise Edition ou Windows Server 2003 Datacenter Edition

2, 3, 4, 5, 6, 7 ou 8 iSCSI, SCSI, Fibre Channel (conseillé pour les clusters ayant plus de deux nœuds)

Édition 64 bits de Windows Server 2003 Enterprise Edition ou Windows Server 2003 Datacenter Edition

2, 3, 4, 5, 6, 7 ou 8 Fibre Channel 3.Lahaute disponibilité

(5)

Un cluster de serveurs exécute plusieurs logiciels qui se rangent en deux catégories : le logiciel qui fait fonctionner le cluster (logiciel de cluster) et le logiciel que vous utilisez pour administrer le cluster (logiciel administratif). Par défaut, tous les fichiers des logiciels de clusters et d’administration sont automatiquement installés sur votre ordinateur lorsque vous installez un système d’exploitation quelconque de la famille Windows Server 2003.

Parce qu’un dessin vaut mieux qu’un long discours, voici un schéma d’architecture d’un cluster de serveurs qui va vous aider à comprendre comment cela fonctionne :

C’est le schéma d’architecture de référence, n’hésitez pas à revenir dessus lorsque vous aborderez la suite des concepts.

Le logiciel de cluster

Le logiciel de cluster permet aux nœuds d’un cluster d’échanger des messages spécifiques qui déclenchent le transfert de la maîtrise des ressources aux moments adéquats. Le logiciel de cluster se compose de deux éléments principaux : le moniteur de Figure 3.1: Schéma d’architecture du cluster de serveurs

Définition du cluster de serveurs

3.Lahautedisponibilité

(6)

ressource et le service de cluster. Le moniteur de ressource facilite les communications entre le service de cluster et les ressources d’application. Exécuté sur chaque nœud du cluster, le service de cluster contrôle l’activité du cluster, les communications entre les nœuds du cluster et le comportement du cluster en cas de panne. Lorsqu’un nœud ou une application du cluster subit une défaillance, le service de cluster réagit en redémarrant l’application concernée ou en répartissant entre les autres nœuds du cluster le travail effectué jusqu’ici par le système défaillant.

Le logiciel administratif

Les administrateurs emploient des applications de gestion de cluster pour configurer, contrôler et surveiller les clusters. Windows Server 2003 fournit pour cela l’Administrateur de cluster. Il est possible d’installer l’Administrateur de cluster sur tout ordinateur exécutant Windows NT 4.0, Service Pack 3 ou postérieur, qu’il s’agisse ou non d’un nœud du cluster. Par défaut, une copie de l’Administrateur de cluster est automatiquement installée sur votre ordinateur lorsque vous installez Windows Server 2003. Vous pouvez aussi créer, configurer et administrer les clusters à l’aide de cluster.exe.

Les administrateurs organisent les ressources de cluster en unités fonctionnelles, appelées "groupes", et affectent ces groupes aux nœuds individuels. Si un nœud tombe en panne, le service de cluster transfère les groupes que ce nœud hébergeait vers les autres nœuds du cluster. Ce processus de transfert est appelé "basculement". Le processus inverse, la restauration automatique, a lieu lorsque le nœud défaillant reprend son activité et que les groupes qui avaient été basculés vers les autres nœuds sont rapatriés sur leur nœud d’origine.

3.2. La mise en cluster des applications

Windows Server 2003 utilise les clusters pour assurer une prise en charge des applications de haute disponibilité. Les applications qui s’exécutent dans un cluster de serveurs se rangent en quatre catégories.

j Les applications ne prenant pas en charge les clusters : les applications de ce type n’ont aucune interaction avec le cluster de serveurs, mais peuvent basculer. La détection des défaillances est limitée. Le service de cluster protège surtout ces applications des défaillances matérielles.

j Les applications prenant en charge les clusters : ces types d’application sont caractérisés par une détection des défaillances supérieure. Le service de cluster peut protéger ces applications contre les défaillances matérielles, mais aussi logicielles.

j Les applications de gestion de cluster : les applications de ce type, dont font partie l’Administrateur de cluster etCluster.exe, permettent aux administrateurs de gérer et de configurer des clusters.

3.Lahaute disponibilité

(7)

j Les types de ressources personnalisés : ces types de ressources offrent une gestion et une structure de cluster personnalisée pour des applications, des services et des périphériques.

3.3. Les composants du cluster de serveurs

Windows Server 2003 utilise les composants de cluster de serveurs pour créer des clusters de serveurs caractérisés par leur haute disponibilité, leur gestion simple et leur évolutivité améliorée. Ces composants gèrent ensemble les objets clusters.

Le schéma suivant présente les relations qui existent d’une part entre les composants de cluster et les trois types d’application et, d’autre part, entre les composants de cluster à l’intérieur d’un nœud de cluster :

Voyons la description des principaux composants…

Figure 3.2: Vue synthétique des composants du cluster de serveurs ainsi que leurs liens

Les composants du cluster de serveurs

3.Lahautedisponibilité

(8)

Le service de cluster

Le service de cluster gère toutes les activités spécifiques au cluster. Le service de cluster est installé en même temps que le système d’exploitation. Dans un cluster, chaque nœud exécute une instance du service de cluster. Le service de cluster remplit les fonctions suivantes :

j Il gère les objets clusters et leur configuration.

j Il gère la stratégie de redémarrage local.

j Il coordonne son activité avec celle de ses autres instances exécutées dans le cluster.

j Il gère la notification des événements.

j Il facilite les communications entre les autres composants logiciels.

j Il réalise les basculements de groupe.

Les moniteurs de ressource

Un moniteur de ressource est un composant de cluster qui joue un rôle d’intermédiaire entre le service de cluster et une DLL de ressource. Lorsque le service de cluster soumet une requête portant sur une ressource, le moniteur de ressource transfère cette requête à la DLL de ressource appropriée. Quand une DLL de ressource doit renvoyer un rapport d’état ou notifier le service de cluster d’un événement, le moniteur de ressource permet de faire parvenir ces informations à leur destination. Couches de communication passives, les moniteurs de ressource ne prennent pas l’initiative des opérations.

Le moniteur de ressource s’exécute dans un processus distinct de celui du service de cluster pour les raisons suivantes : protéger le service de cluster contre les défaillances de ressources et permettre au moniteur de ressource de prendre des mesures si le service de cluster tombe en panne. Le moniteur de ressource détecte la défaillance du service de cluster et répond en déconnectant toutes les ressources et tous les groupes du nœud concerné.

Chaque nœud de cluster exécute un ou plusieurs moniteurs de ressource. Par défaut, le service de cluster ne démarre qu’un seul moniteur de ressource pour interagir avec toutes les ressources hébergées par le nœud. Toutefois, ce comportement par défaut peut être modifié par un administrateur utilisant soit l’Administrateur de cluster, soit une autre application de gestion de cluster. Affectez leur propre moniteur de ressource aux DLL de ressource susceptibles de poser problème, afin d’empêcher leur défaillance éventuelle d’entraîner celle d’autres ressources et d’autres moniteurs de ressource.

Les bibliothèques de liaison dynamique (DLL) de ressource

Les DLL de ressource contiennent des instructions qui gèrent les ressources de cluster dont les types varient. Le rôle le plus important de la DLL de ressource est de détecter les défaillances des applications.

3.Lahaute disponibilité

(9)

Lorsque le service de cluster envoie une requête à une ressource, sa requête est transmise au moniteur de ressource. Le moniteur de ressource, à son tour, appelle une fonction de point d’entrée dans la DLL de ressource responsable de la ressource.

Windows Server 2003 définit plusieurs types de ressources et fournit des DLL de ressource pour les gérer. Toutefois, un cluster de serveurs n’est pas limité aux types de ressources fournis par le système d’exploitation. Les développeurs peuvent créer leurs propres DLL de ressource pour remplacer ou développer les DLL fournies par le système d’exploitation. Les DLL de ressource personnalisées contiennent des informations détaillées sur les ressources qu’elles gèrent et permettent aux moniteurs de ressource de déterminer l’état des ressources (actives ou non).

Administrateur de cluster

Les administrateurs emploient des applications de gestion de cluster pour configurer, contrôler et surveiller les clusters. L’Administrateur de cluster est une de ces applications et est conçu à cette fin. Sur les ordinateurs qui ne sont pas des nœuds de cluster, par exemple Windows XP Professionnel, vous installez l’Administrateur de cluster à l’aide des outils d’administration Windows Server 2003.

L’Administrateur de cluster vous permet de créer le cluster, joindre des nœuds au cluster, gérer des objets clusters, d’établir des groupes, de déclencher le basculement, de gérer la maintenance et de surveiller l’activité de cluster à travers une interface graphique pratique. Les développeurs qui fournissent leurs propres types de ressources peuvent écrire une extension permettant à l’Administrateur de cluster de gérer leurs types personnalisés.

La base de données de cluster

Le Registre de cluster est stocké dans la base de données de cluster sur chaque nœud.

Par défaut, la base de données de cluster pour un cluster de serveurs à périphérique quorum unique se trouve dans C:\Windows\Cluster\CLUSDB. Pour un cluster de serveurs avec jeu de nœud majoritaire, la base de données de clusters se trouve dans C:\Windows\Cluster\MNS.%ResourceGUID%$\%ResourceGUID%$\MSCS. Une copie du Registre de cluster est aussi stockée dans le fichier CHKxxx.TMP sur le disque quorum. Le journal quorum assure la cohérence entre les deux versions du Registre de cluster. La base de données de cluster réside dans le Registre de Windows Server 2003 sur chaque nœud de cluster. Elle renferme des informations sur tous les éléments physiques et logiques d’un cluster, en particulier sur les objets clusters, leurs propriétés et les données de configuration.

Les mécanismes suivants permettent au service de cluster de chaque nœud de tenir à jour une image cohérente de la base de données de cluster.

j Mises à jour globales: le service de cluster réplique les modifications de la base de données de cluster uniformément à travers tous les nœuds. Les modifications

Les composants du cluster de serveurs

3.Lahautedisponibilité

(10)

apportées à la base de données de cluster sont automatiquement répliquées sur tous les nœuds, toutes les 4 heures si l’un des événements suivants se produit : soit une ressource est mise en ligne, soit une ressource est déconnectée, soit le moniteur de ressource détecte une modification dans l’une des clés de Registre.

j Contrôles périodiques: le service de cluster sur le nœud qui possède la ressource quorum enregistre régulièrement une copie de la base de données du cluster pour assurer la cohérence.

j Ressource quorum: le service de cluster vérifie que le journal de récupération de la ressource quorum contient les informations les plus récentes sur la base de données de cluster. Toutes les modifications effectuées entre les points de vérification sont journalisées dans le disque quorum si le service de cluster ne peut le répliquer entre les nœuds. Le rôle principal de la ressource quorum consiste à assurer la cohérence du cluster.

Les pilotes réseau et de disque

Chaque nœud d’un cluster exécute une instance du pilote réseau de clusterClusnet.sys.

Le pilote réseau de cluster remplit les fonctions suivantes :

j Il fournit une communication hautement disponible entre clusters en surveillant et en exploitant tous les chemins réseau entre les nœuds.

j Il route les messages pour le trafic entre clusters.

j Il détecte les pannes de communication. Le pilote réseau de cluster de chaque nœud échange des messages périodiques, appelés "pulsations", avec le pilote réseau de cluster exécuté sur les autres nœuds actifs. Si un nœud ne répond pas à un message de pulsation, le pilote réseau de cluster du nœud qui détecte la panne notifie le service de cluster de la défaillance de l’interface réseau correspondante. Si toutes les autres interfaces réseau entre les clusters tombent en panne pour ce nœud, le service de cluster lance le basculement du nœud. Il est à remarquer que l’absence de réponse par un nœud à un message de pulsation peut être causée par la défaillance d’un nœud, de l’interface réseau ou du réseau.

Chaque nœud d’un cluster exécute une instance du pilote de disque de clusterClusdisk.

sys. Le pilote de disque de cluster remplit les fonctions suivantes :

j Il conserve la possession exclusive des disques de cluster. Seul le nœud qui possède la ressource Disque physique peut accéder au disque. Tous les autres nœuds ne peuvent accéder à ce disque.

j Il effectue des réservations sur les disques pour qu’ils ne soient pas accessibles à d’autres nœuds. Si un nœud possède un disque particulier et que ce disque est en ligne, les réservations effectuées par Clusdisk empêchent les autres nœuds d’accéder à ce disque. Pour les disques déconnectés,Clusdiskempêche l’accès au disque en bloquant les entrées/sorties sur le système local.

3.Lahaute disponibilité

(11)

3.4. Les objets du cluster de serveurs

L’architecture et les concepts du cluster de serveurs sont assez pointus. Continuons à détailler le vocabulaire associé aux clusters avec les objets.

Les objets clusters sont les unités physiques et logiques gérées par le service de cluster.

Chaque objet est associé :

j à une ou à plusieurs propriétés (ou attributs) qui définissent l’objet et son comportement dans le cluster ;

j à un ensemble de codes de contrôle de cluster permettant de manipuler les propriétés de l’objet ;

j à un ensemble de fonctions de gestion d’objet permettant de gérer l’objet à travers le service de cluster.

Les réseaux de clusters de serveurs

Par rapport à un cluster, un réseau (parfois appelé "interconnexion") peut jouer l’un des rôles suivants :

j Un réseau privé transporte les communications internes des clusters. Le service de cluster authentifie toutes les communications internes, mais les administrateurs particulièrement soucieux de garantir la sécurité peuvent restreindre les communications internes aux réseaux sécurisés physiquement.

j Un réseau public assure aux systèmes clients un accès à des services d’application du cluster. Des ressourcesAdresse IPsont créées sur les réseaux qui offrent à des clients un accès à des services de cluster.

j Un réseau mixte (public et privé) transporte les communications internes des clusters et connecte des systèmes clients aux services d’application de cluster.

j Un réseau non activé pour une utilisation par le cluster (c’est-à-dire ni public ni privé) transporte le trafic non lié à des opérations de cluster.

Assurez-vous que le réseau privé se trouve en haut de la listePriorité réseaupour la communication de nœud à nœud dans le cluster.

Le service de cluster utilise pour les communications internes tous les réseaux mixtes et privés disponibles. Pour protéger le cluster contre le risque d’une défaillance réseau, configurez plusieurs réseaux comme privés ou mixtes. En effet, si un seul réseau de ce type est disponible et qu’il tombe en panne, les nœuds du cluster cessent de communiquer entre eux. Lorsque deux nœuds ne peuvent pas communiquer, ils sont dits partitionnés. Lorsque deux nœuds sont partitionnés, le service de cluster s’arrête automatiquement sur l’un d’eux pour garantir la cohérence des données d’application et la configuration du cluster. Cela peut conduire à l’indisponibilité de toutes les ressources de cluster.

Les objets du cluster de serveurs

3.Lahautedisponibilité

(12)

Par exemple, si chaque nœud ne possède qu’une seule carte réseau et que le câble réseau de l’un des nœuds subit une défaillance, chaque nœud (parce qu’il ne peut pas communiquer avec l’autre) essaie de prendre le contrôle de la ressource quorum. Rien ne garantit que le nœud, dont la connexion réseau fonctionne encore, obtiendra le contrôle de la ressource quorum. Si le nœud dont le câble réseau est en panne prend le contrôle de la ressource quorum, le cluster tout entier devient inaccessible pour les clients réseau.

Cependant, si chaque nœud a au moins deux réseaux et qu’ils sont tous les deux configurés pour une communication interne (par exemple, les deux sont des réseaux mixtes), le service de cluster peut tolérer les défaillances réseau. Dans ce cas de figure, le service de cluster peut détecter la panne d’une carte réseau public et faire basculer toutes les ressources qui en dépendent (via son adresse IP) vers un nœud où ce réseau est disponible. Cela se produit car le réseau privé continue à fonctionner correctement.

Par contre, si une carte du réseau privé est défaillante, le service de cluster peut utiliser le réseau public pour ses communications internes. C’est possible car le réseau public est mixte et donc permet aussi bien le trafic interne que client.

Il faut savoir qu’un sous-réseau unique doit exister sur chaque réseau du cluster.

Le service de cluster n’utilise pas de réseaux publics uniquement pour les communications internes, même si le seul réseau disponible est public. Considérons par exemple un cluster où le réseau A est configuré comme privé et le réseau B comme public, et supposons que le réseau A subisse une défaillance. Le service de cluster n’utilise pas le réseau B parce qu’il est public uniquement. Ainsi, les nœuds cessent de communiquer et le cluster se partitionne.

Les interfaces réseau

Une interface réseau est une carte réseau qui connecte un ordinateur à un réseau. Le service de cluster effectue le suivi de toutes les interfaces réseau présentes dans un cluster de serveurs. Cela vous permet d’afficher l’état de toutes les interfaces réseau du cluster à partir d’une application de gestion de cluster comme l’Administrateur de cluster. Windows Server 2003 détecte automatiquement l’ajout et le retrait d’interfaces réseau.

Les nœuds

Un nœud de cluster de serveurs est un système où sont installés Windows Server 2003 Enterprise Edition ou Windows Server 2003 Datacenter Edition et le service de cluster.

Par définition, un nœud est toujours membre d’un cluster de serveurs.

Les nœuds présentent les caractéristiques suivantes :

j Chaque nœud est connecté à un ou à plusieurs périphériques de stockage de cluster.

Chaque périphérique de stockage de cluster comporte un ou plusieurs disques. Les 3.Lahaute disponibilité

(13)

disques stockent toutes les données de configuration et de ressource du cluster. À un instant donné, un seul nœud peut être propriétaire d’un disque, mais la propriété peut être transférée d’un nœud à l’autre. Il en résulte que chaque nœud a accès à toutes les données de configuration du cluster.

j Dans un cluster, chaque nœud communique avec les autres via un ou plusieurs réseaux indépendants physiquement, appelés "interconnexions". Des cartes réseau, également appelées "interfaces réseau", connectent les nœuds aux réseaux.

j Chaque nœud du cluster peut détecter un autre système qui se joint au cluster ou le quitte.

j Chaque nœud du cluster peut détecter les ressources exécutées localement et les ressources exécutées sur les autres nœuds du cluster.

j Tous les nœuds du cluster sont regroupés sous un nom commun, le nom du cluster, qui est employé pour accéder au cluster et le gérer.

Le mode de participation d’un nœud au fonctionnement d’un cluster de serveurs est décrit par les états suivants :

Tableau 3.2 : Liste des états et leur signification dans la participation des nœuds au fonctionnement du cluster

État Signification

Bas Le nœud ne participe pas activement aux opérations de cluster.

Jonction en cours Le nœud est sur le point de devenir un participant actif dans les opérations de cluster.

Suspendu Le nœud participe activement aux opérations de cluster, mais ne peut prendre possession des groupes de ressources et ne peut mettre des ressources en ligne.

Haut Le nœud participe activement à toutes les opérations de cluster.

Inconnu Impossible de déterminer l’état.

Un nœud actif peut héberger des groupes de cluster. Lors de l’exécution de l’Administrateur de cluster pour la première fois sur un nœud du serveur, l’administrateur peut indiquer si ce nœud forme son propre cluster ou se joint à un cluster existant. Lorsqu’un nœud est activé, le service de cluster déjà installé sur ce nœud recherche les autres nœuds actifs sur les réseaux activés pour les communications internes de cluster.

Si aucun cluster n’existe déjà, le nœud essaie de former son propre cluster en prenant le contrôle de la ressource quorum. S’il obtient le contrôle de la ressource quorum, le nœud forme son propre cluster et utilise les journaux de récupération de la ressource quorum pour mettre à jour sa base de données de cluster. Le service de cluster tient à jour une copie cohérente de la base de données de cluster sur tous les nœuds actifs.

Les objets du cluster de serveurs

3.Lahautedisponibilité

(14)

Un nœud peut se joindre à un cluster existant s’il est possible de communiquer avec un nœud de ce cluster. S’il découvre un nœud actif d’un cluster existant, le nœud isolé essaie de se joindre au cluster de ce nœud. S’il y parvient, son nom est ensuite validé par le service de cluster, qui vérifie également la compatibilité des versions. Si le processus de validation réussit, le nœud se rattache au cluster. Le nœud met à jour sa copie de la base de données de cluster en fonction de celle des autres nœuds actifs.

Les types de ressources

Les ressources de cluster sont classées par type. Windows Server 2003 définit plusieurs types de ressources et fournit les DLL de ressource permettant de les gérer. Il est recommandé aux développeurs de créer d’autres types de ressources, afin de répondre aux besoins spécifiques de leurs applications et services prenant en charge les clusters.

En créant un type de ressource, les développeurs peuvent améliorer leur contrôle sur la gestion de leur application ou de leur service par le service de cluster.

Les groupes

Un groupe est une collection de ressources de cluster présentant les caractéristiques suivantes :

j Les groupes définissent les unités de basculement. En d’autres termes, quand une ressource d’un groupe subit une défaillance et doit être déplacée vers un autre nœud, toutes les ressources du groupe sont transférées vers l’autre nœud.

j Un groupe a toujours un propriétaire, et un seul nœud peut en être propriétaire à un instant donné. De même, une ressource est toujours la propriété d’un seul groupe.

Ces relations garantissent que tous les membres d’un groupe résident sur le même nœud.

Les groupes permettent d’associer des ressources pour former des unités logiques de plus grande taille. Normalement, un groupe est composé de ressources apparentées ou dépendantes, par exemple des applications et les périphériques, et les données qui leur sont associées. En fait, les groupes définissent les limites de dépendances des ressources : les ressources ne peuvent pas dépendre de ressources appartenant à d’autres groupes. Dans la mesure où les ressources de niveau d’application dépendent du stockage, les groupes sont, en majorité, configurés autour des ressources de catégorie de stockage. Voici une règle simple : si une ressource utilise des ressources de stockage partagé, elle appartient au même groupe que cette ressource de stockage.

Toutefois, il est également possible de former des groupes avec des ressources sans liens, ni dépendances entre elles, afin d’équilibrer la charge ou de faciliter l’administration.

Chaque groupe conserve une liste des nœuds qui peuvent l’héberger, classés dans l’ordre de leurs priorités. La liste des nœuds favoris est élaborée à partir de deux sources :

3.Lahaute disponibilité

(15)

j Le service de cluster produit une liste de nœuds favoris pour un groupe à partir de la liste de propriétaires possibles qui est conservée par les ressources de ce groupe.

j Les administrateurs peuvent ajouter des nœuds à cette liste à l’aide d’une application de gestion de cluster comme l’Administrateur de cluster.

Pour tirer pleinement parti de la puissance de traitement d’un cluster, les administrateurs doivent établir au moins autant de groupes qu’il y a de nœuds dans le cluster et répartir ces groupes de manière égale au sein du cluster.

Les ressources de cluster de serveurs

Une ressource de cluster est un composant physique ou logique présentant les caractéristiques suivantes :

j Il peut être mis en ligne ou déconnecté.

j Il peut être géré dans un cluster de serveurs.

j Il ne peut être hébergé (possédé) que par un nœud à la fois.

Pour gérer les ressources, le service de cluster communique avec une DLL de ressource via un moniteur de ressource. Lorsque le service de cluster soumet une requête portant sur une ressource, le moniteur de ressource appelle la fonction de point d’entrée appropriée dans la DLL de la ressource, afin de vérifier et de contrôler l’état de la ressource.

Une ressource dépendante est une ressource qui a besoin d’une autre ressource pour fonctionner. Par exemple, un nom réseau doit être associé à une adresse IP. Pour cette raison, une ressource Nom réseau est dépendante d’une ressource Adresse IP. Les ressources dépendantes sont mises en ligne après les ressources dont elles dépendent et sont déconnectées avant elles. Une ressource peut dépendre d’une ou de plusieurs autres ressources. Les dépendances de ressources déterminent également les liaisons.

Par exemple, les clients seront liés à l’adresse IP dont dépend une ressource Nom réseau.

Lors de la création de dépendances de ressources, prenez en compte les informations suivantes : certaines dépendances sont strictement nécessaires alors que d’autres ne le sont pas. Pourtant, il serait logique qu’elles le soient. Par exemple, un partage de fichiers qui n’est pas une racine DFS n’a pas de dépendances nécessaires, mais, si la ressource Disque qui contient le partage de fichiers est défaillante, le partage de fichier n’est plus accessible aux utilisateurs. Il est donc logique que le partage de fichiers soit dépendant de la ressource Disque.

Une ressource peut également spécifier la liste des nœuds sur lesquels elle peut fonctionner. Lorsqu’ils organisent les ressources en groupes, les administrateurs doivent tenir compte de leurs nœuds éventuels et de leurs dépendances.

Les objets du cluster de serveurs

3.Lahautedisponibilité

(16)

La ressource quorum

La ressource quorum est fréquemment citée dans les différentes explications car c’est une ressource critique pour la mise en œuvre d’un cluster.

Dans tout cluster, il existe une ressource appelée "ressource quorum". Cette ressource conserve les données de configuration nécessaires à la récupération du cluster. Ces données, sous la forme de journaux de récupération, contiennent des informations détaillées sur toutes les modifications apportées à la base de données de cluster. Grâce à cette ressource, le stockage des données de configuration et d’état du cluster est indépendant des nœuds.

La base de données de cluster est partie intégrante de la formation d’un cluster de serveurs. Lorsqu’un nœud se joint à un cluster ou forme un cluster, le service de cluster doit mettre à jour la copie privée de la base de données de cluster que détient ce nœud.

Lorsqu’un nœud se joint à un cluster existant, le service de cluster peut extraire les données des autres nœuds actifs. Toutefois, quand un nœud forme un cluster, aucun autre nœud n’est disponible. Le service de cluster utilise les journaux de récupération de la ressource quorum pour mettre à jour la base de données de cluster du nœud. Afin d’assurer l’unité du cluster, Windows Server 2003 emploie la ressource quorum pour garantir qu’un seul ensemble de nœuds actifs et communicants est autorisé à fonctionner comme cluster. Un nœud ne peut former un cluster que s’il parvient à obtenir le contrôle de la ressource quorum. Un nœud ne peut se joindre à un cluster ou rester dans un cluster existant que s’il peut communiquer avec le nœud qui contrôle la ressource quorum.

Pour illustrer l’importance de la ressource quorum, considérons les situations suivantes dans un cluster simple composé de deux nœuds :

j Le nœud 1 tombe en panne. Le nœud 2 continue à fonctionner et enregistre des modifications dans la base de données de cluster. Mais avant que le nœud 1 ne puisse être redémarré, le nœud 2 tombe en panne. Lorsqu’il redevient actif, le nœud 1 doit mettre à jour sa copie privée de la base de données de cluster en fonction des modifications effectuées par le nœud 2. Le service de cluster utilise les journaux de récupération de la ressource quorum pour effectuer la mise à jour.

j Les réseaux assurant les communications entre les nœuds 1 et 2 tombent en panne.

Chaque nœud suppose que l’autre nœud est tombé en panne et essaie de continuer à fonctionner en tant que cluster. S’ils pouvaient y parvenir tous les deux, il en résulterait deux clusters distincts utilisant le même nom de cluster et entrant en concurrence pour les mêmes ressources. Windows Server 2003 utilise l’appartenance des ressources quorum pour éviter ce problème et conserver l’unité du cluster. Dans ce scénario, le nœud qui acquiert le contrôle de la ressource quorum est autorisé à former un cluster, tandis que l’autre bascule ses ressources et devient inactif.

La ressource quorum peut être n’importe quelle ressource présentant les attributs suivants :

3.Lahaute disponibilité

(17)

j La ressource doit permettre à un seul nœud de prendre son contrôle physiquement et de protéger ce contrôle.

j La ressource doit fournir un stockage physique accessible à chaque nœud du cluster.

j La ressource doit utiliser le système de fichiers NTFS.

Avec le système d’exploitation sont fournies deux ressources qui peuvent agir comme une ressource quorum pour les clusters à plusieurs nœuds. Il s’agit de :

j la ressourceDisque physique; j la ressourceJeu de nœud majoritaire.

Pour les clusters à nœud unique, la ressourceQuorum localse comporte comme une ressource quorum.

3.5. Planification du cluster de serveurs

Les clusters peuvent être classés en trois modèles de configuration dans l’ordre de leur complexité. Chaque modèle de cluster utilise un type de ressource quorum différent.

Nous allons décrire chaque modèle et donner des exemples de types d’applications adaptées à chacun. Les trois modèles sont les suivants :

Tableau 3.3 : Modèles de cluster de serveurs en vue d’une planification adéquate au besoin Modèle de cluster Déploiements

courants

Où les données de configuration de cluster sont-elles conservées ?

Cluster à nœud unique Plateformes de développement et de test

La ressource quorum conserve la copie définitive des données de configuration de cluster sur un périphérique de stockage de cluster ou localement sur le nœud unique.

Utilise un type de ressourceQuorum local.

Cluster à un périphérique quorum unique

Applications à disponibilité élevée sur un périphérique de stockage de cluster

La ressource quorum conserve la copie définitive des données de configuration de cluster sur le périphérique de stockage de cluster unique connecté à tous les nœuds.

Utilise un type de ressourceDisque physique (ou autre type de ressource de catégorie stockage).

Cluster à jeu de nœud majoritaire

Clusters de serveurs dispersés

géographiquement

Chaque nœud conserve sa propre copie des données de configuration du cluster. La ressource quorum garantit le maintien de la cohérence des données de configuration du cluster sur les nœuds. Utilise un type de ressourceJeu de nœud majoritaire.

Planification du cluster de serveurs

3.Lahautedisponibilité

(18)

Un cluster à jeu de nœud majoritaire fonctionne de manière idéale dans les scénarios ciblés et contrôlés, dans le cadre d’une solution de cluster proposée par votre fabricant de matériel par exemple, sous forme d’offre tout en un. Le cluster de serveurs à périphérique quorum unique, modèle de cluster standard disponible depuis Windows NT 4.0, continuera à répondre à la plupart de vos besoins en matière de déploiement de clusters.

3.6. Implémenter un cluster de serveurs

Après une indispensable description des composants du cluster de serveurs, vous voici face à la mise en œuvre…

Pour créer un cluster, procédez comme suit :

1. Ouvrez le composant Administrateur de cluster. Pour cela, cliquez surDémarrer/

Exécuter et tapezcluadmin, puis validez par[Ä].

2. Dans la boîte de dialogue Ouverture d’une connexion vers un cluster, sous la rubriqueAction, sélectionnezCréer un nouveau cluster, puis cliquez sur OK.

Figure 3.3: Lancement de l’installation d’un cluster par cluadmin.exe 3.Lahaute disponibilité

(19)

3. L’Assistant Nouveau cluster de serveurs apparaît. Cliquez sur Suivant pour continuer. Durant la création d’un cluster (à l’aide du boutonQuorumdans la page Configuration de cluster proposée), vous pourrez sélectionner un type de ressource quorum, c’est-à-dire une ressource Quorum local, Disque physique ou une autre ressource périphérique de catégorie stockage ou une ressource Jeu de nœud majoritaire.

4. Dès que l’Assistant Nouveau cluster de serveurs a terminé, cliquez surTerminer.

Si vous utilisez un périphérique de stockage partagé, il est vital qu’un seul nœud ait accès au disque de cluster lors de la mise sous tension et du démarrage du système d’exploitation, sinon les disques du cluster peuvent être endommagés. Pour empêcher

Figure 3.4: Lancement de l’Assistant Nouveau cluster de serveurs

Figure 3.5: Déroulement de l’Assistant Nouveau cluster de serveurs

Implémenter un cluster de serveurs

3.Lahautedisponibilité

(20)

l’endommagement des disques du cluster, ne laissez qu’un seul nœud de cluster ouvert ou utilisez d’autres techniques (le masquage LUN, la présentation sélective ou la segmentation, par exemple) avant de créer le cluster. Dès que le service de cluster s’exécute correctement sur un nœud, il est possible d’ajouter les autres nœuds et de les configurer simultanément.

Lors de la création d’un cluster de serveurs, tous les nœuds du cluster doivent avoir des paramètres locaux par défaut du système identiques. La langue et le pays ou la région qui sont sélectionnés durant l’installation du système d’exploitation sur chaque nœud doivent correspondre.

Lorsque vous créez un cluster, des ressources Disque physique sont créées automatiquement pour les disques de cluster qui utilisent des lettres de lecteur. En revanche, si les disques de cluster utilisent des points de montage, la création de ces ressources n’est pas automatique. Dans ce cas, vous devez créer manuellement des ressources de disque.

Pour créer un cluster, vous devez être membre du groupe Administrateurs sur l’ordinateur local, ou avoir reçu par délégation les autorisations nécessaires. Si l’ordinateur est joint à un domaine, les membres du groupeAdmins du domainepeuvent être en mesure d’effectuer cette procédure. Pour des raisons de sécurité, il est recommandé d’utiliser Exécuter en tant que pour effectuer cette procédure. Vous pouvez annuler et redémarrer le processus d’installation en toute sécurité et à tout moment.

Pour ajouter des nœuds au cluster, procédez comme suit : 1. Ouvrez le composant Administrateur de cluster.

2. Dans la boîte de dialogue Ouverture d’une connexion vers un cluster, sous la rubrique Action, sélectionnezAjouter les nœuds au cluster. Dans la zone Nom de serveur ou de cluster, tapez le nom d’un cluster existant ou sélectionnez un nom sur la liste déroulante, ou encore cliquez sur Parcourir pour rechercher un cluster disponible.

3. Cliquez sur OK pour continuer. L’Assistant Ajout de nœuds apparaît. Cliquez sur Suivantpour continuer. Dès que l’Assistant Ajout de nœuds a terminé, cliquez sur Terminer.

3.7. Le basculement du cluster de serveurs

Dans un cluster de serveurs, si une application individuelle subit une défaillance (sans que le nœud tombe en panne), le service de cluster essaie normalement de redémarrer l’application sur le même nœud. S’il n’y parvient pas, il déplace les ressources de l’application et les redémarre sur un autre nœud du cluster de serveurs. Ce processus est appelé "basculement". L’Administrateur de cluster peut utiliser une console graphique pour définir diverses stratégies de récupération, comme les dépendances entre des 3.Lahaute disponibilité

(21)

applications, s’il faut ou non redémarrer une application sur le même serveur et s’il faut ou non rééquilibrer (ou restaurer) automatiquement les charges lorsqu’un serveur revient en ligne après une panne.

Le service de cluster tente de basculer un groupe dans les circonstances suivantes : j Le nœud qui héberge actuellement le groupe devient inactif pour une raison

quelconque.

j Une des ressources du groupe, configurée pour entraîner le basculement du groupe, subit une défaillance.

j Vous imposez le basculement.

Une tentative de basculement se compose des étapes suivantes :

1. Le service de cluster déconnecte toutes les ressources du groupe dans un ordre déterminé par la hiérarchie des dépendances du groupe : d’abord les ressources dépendantes, ensuite les ressources dont elles dépendent. Par exemple, si une application dépend d’une ressource Disque physique, le service de cluster déconnecte d’abord l’application, ce qui lui permet d’écrire des modifications sur le disque avant que celui-ci ne soit déconnecté. Le service de cluster déconnecte une ressource en appelant, via un moniteur de ressource, la DLL de ressource qui gère cette ressource. Si la ressource ne s’arrête pas automatiquement dans un délai spécifié préalablement, le service de cluster l’arrête de force.

2. Lorsque toutes les ressources sont hors connexion, le service de cluster tente de transférer le groupe vers le nœud qui occupe la position suivante sur la liste des nœuds hôtes favoris du groupe.

3. S’il parvient à déplacer le groupe vers un autre nœud, le service de cluster essaie de mettre toutes les ressources du groupe en ligne. Le basculement est achevé lorsque toutes les ressources du groupe sont en ligne sur le nouveau nœud.

Le service de cluster continue à essayer de basculer un groupe jusqu’à ce qu’il y parvienne ou après avoir effectué dans un laps de temps donné le nombre de tentatives défini préalablement. La stratégie de basculement d’un groupe spécifie le nombre maximal de tentatives de basculement qui peuvent avoir lieu dans un intervalle de temps. S’il atteint cette limite, le service de cluster conclut que le groupe ne peut pas être mis en ligne dans le cluster et met fin à ses tentatives de basculement du groupe.

3.8. En résumé

Le cluster de serveurs est un outil permettant la haute disponibilité d’une application ou d’un service, il permet de se prémunir des pannes applicatives comme des pannes matérielles et des interruptions de service (comme l’application des patchs de sécurité).

D’un concept pointu, son implémentation est tout de même très profitable à l’entreprise qui veut afficher des disponibilités applicatives autour des 99,99 %.

En résumé

3.Lahautedisponibilité

Références

Documents relatifs

Comme pour les deux fichiers suivants, nous créons le fichier " haresources " et nous inscrivons les informations comme ci dessous en indiquant le nom du serveur maitre

pendant 24 minutes, puis marcher

Pour son anniversaire, mon cousin a découpé ses deux gâteaux : il a fait 8 parts dans le. premier, et 13 parts dans

organisé une fête pour leur anniversaire.. Combien ai-je dû

[r]

[r]

comptait 25 passagers, 13 personnes sont. montées

Vérification.