Exécuter un clustering de basculement Windows Server

Vous pouvez créer un cluster de basculement à l'aide de Windows Server sur Google Cloud Platform (GCP). Plusieurs serveurs collaborent afin de fournir une haute disponibilité (HD) à vos applications Windows. Si un nœud de cluster est défaillant, un autre nœud peut prendre en charge l'exécution du logiciel. Vous pouvez configurer le basculement pour qu'il se produise automatiquement (ce qui correspond à la configuration habituelle) ou vous pouvez le déclencher manuellement.

Ce tutoriel part du principe que vous connaissez la fonctionnalité de clustering de basculement, Active Directory (AD) et l'administration de Windows Server.

Pour un bref aperçu de la mise en réseau dans GCP, consultez l'article GCP pour les experts en centre de données : Mise en réseau.

Architecture

Ce tutoriel vous explique comment créer un exemple de cluster de basculement sur Compute Engine. L'exemple de système contient les trois serveurs suivants :

  • Une instance de VM Compute Engine principale exécutant Windows Server 2016.
  • Une seconde instance configurée pour correspondre à l'instance principale.
  • Un serveur de noms de domaine (DNS) AD qui :

    • fournit un domaine Windows ;
    • résout des noms d'hôte sur des adresses IP ;
    • héberge le témoin de partage de fichiers agissant comme un troisième "vote" pour atteindre le quorum requis pour le cluster.

Vous devez créer le DNS AD uniquement pour activer cet exemple. Dans un système de production, vous pouvez héberger le témoin de partage de fichiers à un autre endroit. Vous n'avez pas besoin de système AD distinct uniquement pour prendre en charge votre cluster de basculement. Consultez la section Étapes suivantes pour obtenir des liens vers des articles relatifs à l'utilisation d'AD dans GCP.

Le graphique suivant décrit l'architecture que vous allez déployer en suivant ce tutoriel.

Graphique représentant l'architecture de deux VM Compute Engine dans un cluster de basculement

Comprendre le routage réseau

Si le cluster bascule, les requêtes doivent être envoyées au nouveau nœud actif. La technologie de clustering gère normalement le routage en utilisant le protocole de résolution d'adresse (ARP), qui associe les adresses IP aux adresses MAC. Dans GCP, le cloud privé virtuel (VPC) utilise un réseau défini par logiciel qui ne fournit pas d'adresses MAC. Cela signifie que les modifications diffusées à l'aide de l'ARP n'affectent pas du tout le routage. Pour que le routage fonctionne, le cluster nécessite une aide logicielle émanant de l'équilibreur de charge interne.

En général, l'équilibrage de charge interne répartit le trafic réseau entrant sur plusieurs instances backend internes à votre VPC, afin de partager la charge entre elles. Pour le clustering de basculement, nous vous recommandons d'utiliser l'équilibrage de charge interne pour router tout le trafic vers une seule instance : le nœud de cluster actuellement actif. Voici comment l'équilibrage de charge interne détecte le nœud approprié :

  • Chaque instance de VM exécute une instance de l'agent Compute Engine compatible avec la fonctionnalité de clustering de basculement Windows. L'agent assure le suivi des adresses IP pour l'instance de VM.
  • L'interface de l'équilibreur de charge fournit l'adresse IP pour le trafic entrant vers l'application.
  • Le backend de l'équilibreur de charge réalise une vérification de l'état. Le processus de vérification de l'état pingue l'agent de façon périodique sur chaque nœud du cluster, en utilisant l'adresse IP fixe de l'instance de VM via un port particulier. Le port par défaut est 59998.
  • La vérification de l'état inclut l'adresse IP de l'application en tant que charge utile dans la requête.
  • L'agent compare l'adresse IP dans la requête à la liste des adresses IP de la VM hôte. Si l'agent trouve une correspondance, il renvoie une valeur de 1. Sinon, il renvoie une valeur de 0.
  • Si la vérification de l'état d'une VM aboutit, l'équilibreur de charge la marque comme étant saine. À tout moment, une seule VM peut voir la vérification de son état aboutir. En effet, une seule VM possède l'adresse IP de la charge de travail.

Que se passe-t-il pendant un basculement ?

Lorsqu'un basculement se produit dans le cluster, les modifications suivantes sont appliquées :

  • La fonctionnalité de clustering de basculement Windows modifie le statut du nœud actif pour indiquer qu'il est défaillant.
  • Cette même fonctionnalité déplace ensuite toutes les ressources et tous les rôles de cluster du nœud défaillant vers le nœud le plus approprié, tel que défini par le quorum. Cette action inclut le déplacement des adresses IP associées.
  • Le clustering de basculement diffuse les paquets ARP pour indiquer aux routeurs réseau matériels que les adresses IP ont été déplacées. Dans ce scénario, le réseau GCP ignore ces paquets.
  • Une fois le déplacement effectué, l'agent Compute Engine de la VM associée au nœud défaillant renvoie une valeur de 0 au lieu de 1 à la vérification de l'état de la VM. La réponse est modifiée car la VM n'héberge plus l'adresse IP indiquée dans la requête.
  • L'agent Compute Engine de la VM associée au nouveau nœud actif modifie également sa réponse à la vérification de l'état, en renvoyant une valeur de 1 au lieu de 0.
  • L'équilibreur de charge interne interrompt le routage du trafic vers le nœud défaillant et le dirige vers le nœud nouvellement actif.

Pour aller plus loin

Maintenant que vous avez examiné certains concepts, voici quelques détails à noter concernant le graphique représentant l'architecture :

  • L'agent Compute Engine de la VM nommée wsfc-2 renvoie à la vérification de l'état une valeur de 1, indiquant qu'il s'agit du nœud de cluster actif. Pour la VM nommée wsfc-1, la valeur renvoyée est 0.
  • L'équilibreur de charge redirige les requêtes vers la VM wsfc-2, comme l'indique la flèche.
  • L'équilibreur de charge et la VM wsfc-2 disposent tous deux de l'adresse IP 10.0.0.9. Pour l'équilibreur de charge, il s'agit de l'adresse IP frontend spécifiée. Pour la VM, il s'agit de l'adresse IP de l'application. Le cluster de basculement définit cette adresse IP sur le nœud actuellement actif.
  • Le cluster de basculement et la VM wsfc-2 disposent tous deux de l'adresse IP 10.0.0.8. La VM dispose de cette adresse IP, car elle héberge actuellement les ressources du cluster.

Conseils pour suivre ce tutoriel

Ce tutoriel comporte de nombreuses étapes. Vous serez parfois invité à suivre les étapes décrites dans des documents externes, tels que la documentation Microsoft. Vous trouverez dans ce tutoriel des notes détaillant la réalisation de ces étapes externes.

Ce tutoriel utilise Cloud Shell depuis la console Google Cloud Platform. Bien qu'il soit possible d'utiliser l'interface utilisateur de la console GCP ou le SDK Cloud pour configurer le clustering de basculement, ce tutoriel utilise principalement Cloud Shell pour vous simplifier la tâche. Cette approche vous permettra de le terminer plus rapidement. Certaines étapes nécessiteront, lorsque cela sera plus pertinent, l'utilisation de la console GCP au lieu de Cloud Shell.

Cloud Shell

Il est recommandé de prendre des instantanés de vos disques persistants Compute Engine tout au long du processus. Si un problème survient, vous pourrez ainsi utiliser un instantané pour éviter de tout recommencer depuis le début. Dans ce tutoriel, des suggestions s'afficheront pour vous indiquer les bons moments pour prendre des instantanés.

Si vous découvrez que certaines étapes ne fonctionnent pas comme prévu, vous trouverez peut-être des instructions pour résoudre le problème dans la section que vous parcourez. Si aucune instruction n'est disponible, reportez-vous à la section Dépannage.

Objectifs

  • Créer un réseau.
  • Installer Windows Server 2016 sur deux VM Compute Engine.
  • Installer et configurer Active Directory sur une troisième instance dans Windows Server.
  • Configurer le cluster de basculement, y compris un témoin de partage de fichiers pour le quorum et un rôle pour la charge de travail.
  • Configurer l'équilibreur de charge interne.
  • Tester l'opération de basculement pour vérifier que le cluster fonctionne.

Coûts

Ce tutoriel utilise des images Compute Engine qui incluent des licences Windows Server. Ainsi, le coût d'exécution de ce tutoriel peut s'avérer important si vous laissez les machines virtuelles en cours d'exécution. Il est recommandé d'arrêter les machines virtuelles lorsque vous ne les utilisez pas.

Consultez le Simulateur de coût pour obtenir une estimation des coûts liés à la réalisation de ce tutoriel.

Avant de commencer

  1. Connectez-vous à votre compte Google.

    Si vous n'en possédez pas déjà un, vous devez en créer un.

  2. Sélectionnez ou créez un projet Google Cloud Platform.

    Accéder à la page "Gérer les ressources"

  3. Assurez-vous que la facturation est activée pour votre projet Google Cloud Platform.

    Découvrir comment activer la facturation

  4. Activez Compute Enginel'API requise.

    Activer l'API.

  5. Démarrez une instance dans Cloud Shell.
    OUVRIR CLOUD SHELL

Créer le réseau

Votre cluster nécessite un réseau personnalisé. Utilisez le système VPC pour créer un réseau et sous-réseau personnalisés en exécutant des commandes gcloud dans Cloud Shell.

  1. Créez le réseau à l'aide de la commande suivante :

    gcloud compute networks create wsfcnet --subnet-mode custom
    

    Le nom du réseau que vous avez créé est wsfcnet.

  2. Créez un sous-réseau à l'aide de la commande suivante, en remplaçant [YOUR_REGION] par une région GCP à proximité :

    gcloud compute networks subnets create wsfcnetsub1 --network wsfcnet --region [YOUR_REGION] --range 10.0.0.0/16`
    

    Le nom du sous-réseau que vous avez créé est wsfcnetsub1.

Vous remarquerez que la plage d'adressage CIDR pour les adresses IP dans ce sous-réseau est 10.0.0.0/16. Il s'agit d'un exemple de plage utilisée dans le cadre de ce tutoriel. Dans les systèmes de production, vous devrez collaborer avec vos administrateurs réseau pour attribuer les plages d'adresses IP adaptées à vos systèmes.

Créer des règles de pare-feu

Par défaut, votre réseau est fermé au trafic externe. Vous devez ouvrir des ports dans le pare-feu pour activer les connexions à distance aux serveurs. Utilisez les commandes gcloud dans Cloud Shell pour créer ces règles.

  1. Pour ce tutoriel, ouvrez les ports 22 et 3389 sur le réseau principal pour activer les connexions SSH et RDP. Dans la commande suivante, remplacez [YOUR_IPv4_ADDRESS] par l'adresse IP de l'ordinateur utilisé pour vous connecter aux instances de votre VM. Dans un système de production, vous pouvez fournir une plage d'adresses IP ou une série d'adresses.

    gcloud compute firewall-rules create allow-ssh --network wsfcnet --allow tcp:22,tcp:3389 --source-ranges [YOUR_IPv4_ADDRESS]`
    
  2. Sur le sous-réseau, autorisez tous les protocoles sur tous les ports pour permettre aux serveurs de communiquer entre eux. Dans un système de production, vous devrez envisager de n'ouvrir que certains ports, selon vos besoins.

    gcloud compute firewall-rules create allow-all-subnet --network wsfcnet --allow all --source-ranges 10.0.0.0/16`
    

    Notez que la valeur de source-ranges correspond à la plage d'adressage CIDR que vous avez utilisée pour créer le sous-réseau.

  3. Affichez vos règles de pare-feu à l'aide de la commande suivante :

    gcloud compute firewall-rules list
    

    Un résultat semblable aux lignes suivantes doit s'afficher :

    NAME              NETWORK  DIRECTION  PRIORITY  ALLOW            DENY
    allow-all-subnet  wsfcnet  INGRESS    1000      all
    allow-ssh         wsfcnet  INGRESS    1000      tcp:22,tcp:3389

Activer le clustering de basculement dans Compute Engine

Ajoutez les métadonnées personnalisées pour activer le clustering de basculement dans l'agent Compute Engine. Par souci de simplicité, ce tutoriel utilise des métadonnées à l'échelle du projet, qui appliquent ces attributs à toutes les VM de ce projet. Vous pouvez aussi ajouter des métadonnées individuelles pour chaque VM ou créer un fichier de configuration sur chaque VM, comme décrit dans la documentation de Compute Engine. Ce tutoriel repose sur le comportement par défaut de wsfc-addrs et wsfc-agent-port. Vous n'avez pas besoin de définir ces valeurs.

gcloud compute project-info add-metadata --metadata enable-wsfc=true

Créer les serveurs

Créez ensuite les trois serveurs. Utilisez la commande gcloud dans Cloud Shell.

Créer le premier serveur de nœud de cluster

Créez une instance Compute Engine. Pour la configurer, procédez comme suit :

  • Nommez l'instance wsfc-1.
  • Définissez l'indicateur --zone sur une zone à proximité. Remplacez [YOUR_ZONE] par une zone appropriée proche de vous, telle que us-central1-a.
  • Définissez l'indicateur --machine-type sur n1-standard-2..
  • Définissez l'indicateur --image-project sur windows-cloud.
  • Définissez l'indicateur --image-family sur windows-2016.
  • Définissez l'indicateur --scopes sur https://www.googleapis.com/auth/compute.
  • Définissez l'indicateur --can-ip-forward pour activer le transfert IP.
  • Définissez l'indicateur --private-network-ip sur 10.0.0.4.
  • Définissez le réseau sur wsfcnet et le sous-réseau sur wsfcnetsub1.

Exécutez la commande suivante en remplaçant [YOUR_ZONE] par le nom de votre zone :

gcloud compute instances create wsfc-1 --zone [YOUR_ZONE] --machine-type n1-standard-2 --image-project windows-cloud --image-family windows-2016 --scopes https://www.googleapis.com/auth/compute --can-ip-forward --private-network-ip 10.0.0.4 --network wsfcnet --subnet wsfcnetsub1

Créer le deuxième serveur de nœud de cluster

Pour le deuxième serveur, suivez les mêmes étapes que précédemment, sauf pour les éléments suivants :

  • Définissez le nom de l'instance sur wsfc-2.
  • Définissez l'indicateur --private-network-ip sur 10.0.0.5.

Exécutez la commande suivante en remplaçant [YOUR_ZONE] par le nom de votre zone :

gcloud compute instances create wsfc-2 --zone [YOUR_ZONE] --machine-type n1-standard-2 --image-project windows-cloud --image-family windows-2016 --scopes https://www.googleapis.com/auth/compute --can-ip-forward --private-network-ip 10.0.0.5 --network wsfcnet --subnet wsfcnetsub1

Créer le troisième serveur pour Active Directory

Pour le contrôleur de domaine, suivez les mêmes étapes que précédemment, sauf pour les éléments suivants :

  • Définissez le nom de l'instance sur wsfc-dc.
  • Définissez l'indicateur --private-network-ip sur 10.0.0.6.

Exécutez la commande suivante en remplaçant [YOUR_ZONE] par le nom de votre zone :

gcloud compute instances create wsfc-dc --zone [YOUR_ZONE] --machine-type n1-standard-2 --image-project windows-cloud --image-family windows-2016 --scopes https://www.googleapis.com/auth/compute --can-ip-forward --private-network-ip 10.0.0.6 --network wsfcnet --subnet wsfcnetsub1

Afficher vos instances

Vous pouvez afficher les détails des instances que vous avez créées, en exécutant la commande suivante :

gcloud compute instances list

Un résultat semblable aux lignes suivantes s'affichera :

NAME     ZONE        MACHINE_TYPE      PREEMPTIBLE  INTERNAL_IP  EXTERNAL_IP     STATUS
wsfc-1   us-central1-a  n1-standard-2               10.0.0.4     35.203.131.133  RUNNING
wsfc-2   us-central1-a  n1-standard-2               10.0.0.5     35.203.130.194  RUNNING
wsfc-dc  us-central1-a  n1-standard-2               10.0.0.6     35.197.27.2     RUNNING

Créer le groupe d'instances Compute Engine

En créant un groupe d'instances contenant les nœuds du cluster, vous pourrez également créer l'équilibreur de charge interne requis. Vous créerez l'équilibreur de charge dans une prochaine section. N'ajoutez pas le contrôleur de domaine wsfc-dc au groupe d'instances.

Exécutez la commande suivante en remplaçant [YOUR_ZONE] par le nom de votre zone :

gcloud compute instance-groups unmanaged create wsfc-group --zone=[YOUR_ZONE]
gcloud compute instance-groups unmanaged add-instances wsfc-group --instances wsfc-1,wsfc-2 --zone [YOUR_ZONE]

Se connecter via le protocole RDP

La documentation de Compute Engine fournit de plus amples informations sur la procédure de connexion à vos instances de VM Windows via le protocole RDP. Au choix, vous pouvez :

Chaque fois que ce tutoriel vous demande de vous connecter à une instance Windows, utilisez votre connexion RDP préférée.

Configurer la mise en réseau Windows

Obtenez l'adresse IP de la passerelle GCP. Dans Cloud Shell, exécutez la commande suivante en remplaçant [YOUR_REGION] par le nom de votre région :

gcloud compute networks subnets describe wsfcnetsub1 --region [YOUR_REGION]

Le résultat inclut l'adresse IP de la passerelle, semblable à la ligne suivante :

gatewayAddress: 10.0.0.1

À présent, utilisez le protocole RDP pour vous connecter à wsfc-1, wsfc-2 et wsfc-dc, puis répétez les étapes suivantes pour chaque instance :

  1. Dans le volet de gauche du Gestionnaire de serveur, sélectionnez Serveur local.
  2. Dans le volet Propriétés, sous Ethernet, cliquez sur Attribuée par le serveur DHCP.
  3. Faites un clic droit sur Ethernet, puis sélectionnez Propriétés.
  4. Double-cliquez sur Protocole Internet Version 4 (TCP/IPv4).
  5. Sélectionnez Utiliser l'adresse IP suivante.
  6. Saisissez l'adresse IP que vous avez attribuée à la VM au moment de sa création.

    • Pour wsfc-1, saisissez "10.0.0.4".
    • Pour wsfc-2, saisissez "10.0.0.5".
    • Pour wsfc-dc, saisissez "10.0.0.6".
  7. Pour Masque de sous-réseau, saisissez "255.255.0.0".

  8. Pour Passerelle par défaut, saisissez l'adresse IP de la passerelle associée à wsfcnetsub1. Vous trouverez cette adresse IP au début de cette section.

  9. Pour wsfc-1 et wsfc-2, cliquez sur Utiliser l'adresse de serveur DNS suivante. Notez que la VM wsfc-dc correspond au contrôleur de domaine. Vous devez donc laisser le champ Passerelle par défaut vide pour cette VM.

  10. Pour Serveur DNS préféré, saisissez "10.0.0.6".

  11. Fermez toutes les boîtes de dialogue.

    Vous perdez alors la connexion RDP, car ces modifications réinitialisent la carte réseau virtuelle de l'instance de VM.

  12. Fermez la session RDP, puis reconnectez-vous à l'instance. Si l'une des boîtes de dialogue de l'étape précédente est toujours ouverte, fermez-la.

  13. Dans la section relative aux propriétés du serveur local, vérifiez que le paramètre Ethernet correspond à l'adresse IP du serveur local (10.0.0.4, 10.0.0.5 ou 10.0.0.6). Si ce n'est pas le cas, ouvrez à nouveau la boîte de dialogue Protocole Internet Version 4 (TCP/IPv4), puis modifiez le paramètre.

Nous vous proposons à présent de prendre des instantanés de wsfc-1 et wsfc-2.

Configurer Active Directory

Configurez à présent le contrôleur de domaine.

  1. Utilisez le protocole RDP pour vous connecter au serveur nommé wsfc-dc.
  2. Définissez un mot de passe pour le compte administrateur local.
  3. Activez le compte administrateur local.
  4. Pour configurer le contrôleur de domaine, suivez la procédure décrite dans les instructions Microsoft, dont le lien est indiqué après les remarques supplémentaires ci-dessous. Vous pouvez utiliser les valeurs par défaut pour la plupart des paramètres.

    • Cochez la case pour le rôle "Serveur DNS". Cette étape n'est pas spécifiée dans les instructions.
    • Cochez la case Redémarrer automatiquement le serveur de destination, si nécessaire.
    • Définissez le serveur de fichiers comme contrôleur de domaine.
    • Lors de l'étape Ajouter une nouvelle forêt, nommez votre domaine "WSFC.TEST".
    • Définissez le nom de domaine NetBIOS sur "WSFC" (valeur par défaut).

    Instructions Microsoft

Nous vous proposons à présent de prendre un instantané de wsfc-dc.

Créer le compte utilisateur du domaine

Le redémarrage de wsfc-dc peut prendre un certain temps. Avant de relier des serveurs au domaine, utilisez le protocole RDP pour vous connecter à wsfc-dc, afin de vérifier que le contrôleur de domaine est bien en cours d'exécution.

Vous devez créer un profil d'utilisateur du domaine disposant de droits d'administrateur pour les serveurs de cluster. Procédez comme suit :

  1. Dans le contrôleur de domaine (wsfc-dc), cliquez sur Démarrer, puis saisissez dsa pour rechercher et ouvrir l'application "Utilisateurs et ordinateurs Active Directory".
  2. Cliquez avec le bouton droit sur WSFC.TEST, placez votre souris sur Nouveau, puis cliquez sur Utilisateur.
  3. Dans les champs Nom complet et Nom d'ouverture de session de l'utilisateur, saisissez "clusteruser".
  4. Cliquez sur Suivant.
  5. Saisissez un mot de passe pour l'utilisateur et confirmez-le. Sélectionnez les options souhaitées relatives au mot de passe dans la boîte de dialogue. Par exemple, vous pouvez choisir que le mot de passe défini n'expire jamais.
  6. Confirmez les paramètres, puis cliquez sur Terminer.
  7. Attribuez à clusteruser le rôle d'administrateur dans wsfc-dc. Pour ce faire, procédez comme suit :

    • Dans wsfc-dc, accédez à l'application "Utilisateurs et ordinateurs Active Directory".
    • Cliquez avec le bouton droit sur clusteruser, cliquez sur Ajouter à un groupe, saisissez Administrateurs, puis cliquez sur OK.

Ce tutoriel utilise le compte WSFC.TEST\clusteruser comme administrateur à chaque endroit où ce type de compte est nécessaire. Dans un système de production, suivez vos mesures de sécurité habituelles relatives à l'attribution des comptes et des autorisations. Pour en savoir plus, consultez l'article Overview of Active Directory accounts needed by a failover cluster.

Relier les serveurs au domaine

Ajoutez les deux serveurs de nœud de cluster au domaine WSFC.TEST. Pour ce faire, réalisez les étapes suivantes pour chaque serveur de nœud de cluster (wsfc-1 et wsfc-2) :

  1. Dans Gestionnaire de serveur > Serveur local, cliquez sur GROUPE DE TRAVAIL dans le volet Propriétés.
  2. Cliquez sur Modifier.
  3. Sélectionnez Domaine, puis saisissez "WSFC.TEST".
  4. Cliquez sur OK.
  5. Indiquez les identifiants nécessaires pour relier WSFC.TEST\clusteruser au domaine.
  6. Cliquez sur OK.
  7. Fermez les boîtes de dialogue, puis suivez les instructions qui s'affichent pour redémarrer le serveur.
  8. Attribuez à clusteruser le rôle d'administrateur dans wsfc-1 et wsfc-2.

    • Double-cliquez sur Gestion de l'ordinateur > Utilisateurs et groupes locaux  > Groupes > Administrateurs, puis cliquez sur Ajouter.
    • Saisissez "clusteruser", puis cliquez sur Vérifier les noms.
    • Cliquez sur OK.

Nous vous proposons à présent de prendre des instantanés des trois VM.

Configurer le clustering de basculement

Pour créer et configurer le cluster de basculement, procédez comme suit :

  1. Utilisez le protocole RDP pour vous connecter à wsfc-1 et wsfc-2.
  2. Suivez la procédure décrite dans les instructions Microsoft, dont le lien est indiqué après les remarques supplémentaires ci-dessous :

    • Installez la fonctionnalité de clustering de basculement sur wsfc-1 et wsfc-2. N'installez pas cette fonctionnalité sur wsfc-dc.
    • Exécutez l'application "Gestionnaire du cluster de basculement" en tant qu'utilisateur de domaine WSFC.TEST\clusteruser. Sinon, vous pourriez rencontrer des problèmes d'autorisation. Il est recommandé de toujours exécuter "Gestionnaire du cluster de basculement" de cette façon, ou de vous connecter à un serveur en tant que clusteruser pour être sûr de disposer des autorisations nécessaires.
    • Ajoutez wsfc-1 et wsfc-2 au cluster en tant que nœuds.
    • Pour valider la configuration, procédez comme suit :

      • Sur la page Options de test, sélectionnez Exécuter uniquement les tests que je sélectionne , puis cliquez sur Suivant.
      • Sur la page Sélection des tests, effacez le contenu de l'option Stockage. En effet, cette option échoue au moment de s'exécuter sur Compute Engine, de la même façon que sur des serveurs physiques autonomes.

        Voici des problèmes courants que vous pouvez rencontrer lors de la validation de cluster :

        • Une seule interface réseau entre les instances dupliquées : vous pouvez ignorer cette erreur, car elle ne s'applique pas à une configuration basée sur le cloud.
        • Les mises à jour Windows sont différentes sur les deux instances dupliquées : si vous avez configuré vos instances Windows pour autoriser les mises à jour automatiques, les mises à jour de l'un des nœuds peuvent avoir été appliquées, alors que celles de l'autre n'ont pas encore été téléchargées. Vous devez conserver la même configuration pour les serveurs.
        • Redémarrage en attente : vous avez apporté des modifications à l'un des serveurs. Pour les appliquer, le redémarrage du serveur concerné est donc nécessaire. N'ignorez pas cette erreur.
        • Les serveurs n'ont pas tous le même rôle de domaine : vous pouvez ignorer cette erreur.
        • Les serveurs ne se situent pas tous dans la même unité organisationnelle (UO) : ce tutoriel n'utilise pas du tout d'unité organisationnelle. Cependant, dans un système de production, vous devrez envisager de placer votre cluster dans sa propre unité organisationnelle. Les instructions Microsoft décrivent les bonnes pratiques à adopter dans ce contexte.
        • Des pilotes non signés ont été trouvés : vous pouvez ignorer cette erreur.
    • Sur la page Résumé, vous pouvez sélectionner Créer le cluster maintenant en utilisant les nœuds validés pour poursuivre la création du cluster. Ainsi, vous n'aurez pas à fermer et ouvrir à nouveau l'assistant de configuration.

    • Dans l'assistant "Création d'un cluster", sur la page Point d'accès, nommez votre cluster "testcluster".

    • Dans le champ Adresse, saisissez "10.0.0.8".

    INSTRUCTIONS MICROSOFT

Attribuer le rôle d'administrateur du cluster

En attribuant à un compte de domaine le rôle d'administrateur du cluster, vous pouvez réaliser plusieurs actions sur le cluster à partir d'outils tels que Windows PowerShell. Pour attribuer au compte de domaine clusteruser le rôle d'administrateur de cluster, procédez comme suit :

  1. Sur le nœud de cluster qui héberge ses ressources, dans l'application "Gestionnaire du cluster de basculement", sélectionnez votre cluster dans le volet gauche, puis cliquez sur Propriétés dans le volet droit.
  2. Sélectionnez l'onglet Autorisations du cluster.
  3. Cliquez sur Ajouter, puis ajoutez clusteruser.
  4. Après avoir sélectionné clusteruser dans la liste Noms de groupes ou d'utilisateurs, sélectionnez Contrôle total dans le volet Autorisations.
  5. Cliquez sur Appliquer, puis sur OK.

Nous vous proposons à présent de prendre des instantanés.

Créer le témoin de partage de fichiers

Vous avez à présent un cluster de basculement à deux nœuds, mais celui-ci utilise un mécanisme de vote pour choisir le nœud qui doit être actif. Pour atteindre le quorum fixé, vous pouvez ajouter un témoin de partage de fichiers.

Ce tutoriel ajoute simplement un dossier partagé au serveur du contrôleur de domaine. Si ce serveur passait en mode hors connexion au moment où l'un des nœuds du cluster redémarre, l'ensemble du cluster pourrait cesser de fonctionner, car le serveur restant ne peut pas voter seul. Pour ce tutoriel, les fonctionnalités de l'infrastructure de GCP, telles que la migration à chaud et le redémarrage automatique, sont considérées comme suffisamment fiables pour maintenir le dossier partagé actif.

Si vous souhaitez créer un témoin de partage de fichiers avec une haute disponibilité plus importante, vous disposez des options suivantes :

  • Utilisez un cluster des serveurs Windows pour partager les fichiers à l'aide des espaces de stockage direct. Cette fonctionnalité de Windows Server 2016 propose un partage à disponibilité élevée pour le témoin du quorum. Par exemple, vous pouvez créer un cluster pour votre contrôleur de domaine Active Directory afin de fournir des services de domaine à disponibilité élevée et le témoin de partage de fichiers en même temps.
  • Utilisez une solution de serveur de fichiers telle que Avere vFXT.

Pour créer le partage de fichiers pour le témoin, procédez comme suit :

  1. Connectez-vous à wsfc-dc. Ce serveur héberge le partage de fichiers.
  2. Dans l'explorateur de fichiers, accédez au lecteur C.
  3. Dans la barre de titre, cliquez sur le bouton Nouveau dossier.
  4. Nommez le nouveau dossier "shares" (partages).
  5. Double-cliquez sur le dossier shares pour l'ouvrir.
  6. Ajoutez un nouveau dossier et nommez-le "clusterwitness-testcluster".

Configurer le partage pour le témoin de partage de fichiers

Vous devez définir des autorisations sur le dossier du témoin de partage de fichiers pour permettre au cluster de l'utiliser.

  1. Dans l'explorateur de fichiers, cliquez avec le bouton droit sur le dossier clusterwitness-testcluster, puis sélectionnez Propriétés.
  2. Sous l'onglet Partage, cliquez sur Partage avancé.
  3. Cochez la case Partager ce dossier.
  4. Cliquez sur Autorisations, puis sur Ajouter.
  5. Cliquez sur Types d'objet, sélectionnez Ordinateurs, puis cliquez sur OK.
  6. Ajouter le compte d'ordinateur testcluster$.
  7. Attribuez les autorisations Contrôle total à testcluster$.
  8. Cliquez sur Appliquer, puis fermez toutes les boîtes de dialogue.

Ajouter le témoin de partage de fichiers au cluster de basculement

Configurez à présent le cluster de basculement pour utiliser le témoin de partage de fichiers en tant que vote du quorum. Pour ce faire, procédez comme suit :

  1. Sur l'ordinateur qui héberge les ressources du cluster (wsfc-1), ouvrez l'application "Gestionnaire du cluster de basculement".
  2. Dans le volet de gauche, cliquez avec le bouton droit sur le nom du cluster (testcluster.WSFC.TEST), passez votre souris sur Autres actions, puis cliquez sur Configurer les paramètres de quorum du cluster.
  3. Suivez la procédure de l'assistant en cliquant sur le bouton Suivant à chaque étape.
  4. Pour l'option de configuration du quorum, choisissez Sélectionner le témoin de quorum.
  5. Sélectionnez Configurer un témoin de partage de fichiers.
  6. Dans le champ Chemin du partage de fichiers, saisissez le chemin d'accès au dossier partagé, tel que "\10.0.0.6\clusterwitness-testcluster". Dans cet exemple, 10.0.0.6 est l'adresse IP de la VM wsfc-dc.
  7. Confirmez les paramètres, puis cliquez sur Terminer.

Tester le cluster de basculement

Votre cluster de basculement Windows Server devrait maintenant fonctionner. Vous pouvez tester le cluster manuellement, en déplaçant ses ressources entre vos instances. Vous n'avez pas encore fini la procédure, mais le moment est bien choisi pour vérifier que tout ce que vous avez réalisé jusqu'à présent fonctionne correctement.

  1. Sur wsfc-1, notez le nom du Serveur hôte actuel dans l'application "Gestionnaire du cluster de basculement".
  2. Exécutez Windows PowerShell en tant que clusteruser.
  3. Dans PowerShell, exécutez la commande suivante pour modifier le serveur hôte actuel :

    Move-ClusterGroup -Name "Cluster Group"
    

Vous devriez voir la modification du nom du serveur hôte actuel apparaître pour l'autre VM.

Si ce n'est pas le cas, relisez les précédentes étapes pour voir si vous n'avez pas oublié quelque chose. Le problème le plus fréquemment rencontré est une règle de pare-feu manquante qui bloque l'accès au réseau. Pour en savoir plus sur les différents problèmes à vérifier, consultez la section Dépannage.

Si la modification du nom apparaît, vous pouvez alors passer à la configuration de l'équilibreur de charge interne, nécessaire pour acheminer le trafic réseau vers le serveur hôte actuel du cluster.

Nous vous proposons à présent de prendre des instantanés.

Ajouter un rôle

Dans la fonctionnalité de clustering de basculement Windows, les rôles hébergent des charges de travail en cluster. Vous pouvez utiliser un rôle pour indiquer l'adresse IP utilisée par votre application dans le cluster. Dans le cadre de ce tutoriel, vous devrez ajouter un rôle pour la charge de travail de test, à savoir le serveur Web IIS (Internet Information Services). Procédez comme suit :

  1. Dans l'application "Gestionnaire du cluster de basculement", dans le volet Actions, sélectionnez Configurer un rôle.
  2. Sur la page "Sélectionner un rôle", sélectionnez Autre serveur.
  3. Sur la page Point d'accès client, saisissez le nom "IIS".
  4. Définissez l'adresse sur "10.0.0.9".
  5. Ignorez les étapes Sélectionner le stockage et Sélectionner les types de ressources.
  6. Confirmez les paramètres, puis cliquez sur Terminer.

Cette boîte de dialogue de confirmation affiche les paramètres du rôle.

Créer l'équilibreur de charge interne

À présent, vous allez créer et configurer l'équilibreur de charge interne, nécessaire pour acheminer le trafic réseau vers le nœud hôte actif du cluster. Vous allez utiliser la console GCP, car l'interface utilisateur vous offre un bon aperçu de l'organisation de l'équilibrage de charge interne.

  1. Dans la console GCP, accédez à la page Équilibrage de charge.

    OUVRIR LA PAGE "ÉQUILIBRAGE DE CHARGE"

  2. Cliquez sur Créer un équilibreur de charge.

  3. Sur la carte Équilibrage de charge TCP, cliquez sur Démarrer la configuration.

  4. Sélectionnez Seulement entre les VM, puis cliquez sur Continuer.

  5. Dans le champ Nom, saisissez "wsfc-lb".

Ne cliquez pas encore sur Créer.

Configurer le backend

Rappelez-vous que l'équilibreur de charge interne de GCP utilise, de façon périodique, une fonctionnalité de vérification de l'état pour déterminer le nœud actif. Le processus de vérification de l'état pingue l'agent hôte du cluster Compute Engine en cours d'exécution sur le nœud de cluster actif. La charge utile de la vérification de l'état correspond à l'adresse IP de l'application, représentée par le rôle en cluster. L'agent renvoie une valeur de 1 si le nœud est actif, ou de 0 s'il est inactif.

  1. Cliquez sur Configuration du backend.
  2. Sélectionnez votre région actuelle.
  3. Sous Réseau, sélectionnez wsfcnet.
  4. Sous Groupe d'instances, sélectionnez wsfc-group.
  5. Créez une vérification de l'état.

    • Dans le champ Nom, saisissez "wsfc-hc".
    • Pour Protocole, conservez le paramètre TCP par défaut, puis remplacez le contenu du champ Port par "59998" pour les réponses de l'agent hôte du cluster.
    • Dans le champ Requête, saisissez "10.0.0.9".
    • Dans le champ Réponse, saisissez "1".
    • Dans le champ "Intervalle entre deux tests", saisissez "2".
    • Dans le champ Délai avant expiration, saisissez "1".
    • Cliquez sur Enregistrer et continuer.

Configurer l'interface

La configuration de l'interface crée une règle de transfert qui définit la manière dont l'équilibreur de charge gère les requêtes entrantes. Pour simplifier ce tutoriel, vous allez tester le système en exécutant des requêtes entre les VM du sous-réseau.

Dans votre système de production, vous souhaiterez probablement ouvrir le système au trafic externe, tel que le trafic Internet. Pour ce faire, vous pourrez créer un hôte bastion qui accepte le trafic externe et le transmet à votre réseau interne. L'utilisation d'un hôte bastion n'est pas traitée dans ce tutoriel.

  1. Dans le volet central, cliquez sur Configuration de l'interface.
  2. Dans le champ Nom, saisissez "wsfc-lb-fe".
  3. Sélectionnez votre sous-réseau (wsfcnetsub1).
  4. Sous IP, sélectionnez Éphémère (personnalisée).
  5. Saisissez "10.0.0.9", soit la même adresse IP que vous avez définie pour le rôle.
  6. Dans le champ Ports, saisissez "80".
  7. Cliquez sur OK.

Vérifier et finaliser

  1. Dans le volet central, cliquez sur Vérification et finalisation pour afficher un résumé des paramètres de l'équilibreur de charge interne. Le résumé s'affiche dans le volet de droite.
  2. Cliquez sur Créer. La création de l'équilibreur de charge peut prendre quelques instants.

    La console GCP affiche les paramètres finaux de l'équilibrage de charge interne.

Créer des règles de pare-feu pour la vérification de l'état

Vous avez peut-être remarqué avoir été informé par la console GCP de la nécessité pour le système de vérification de l'état d'avoir une règle de pare-feu, afin de permettre aux vérifications d'état d'atteindre leurs objectifs. Dans cette section, vous allez définir cette règle de pare-feu.

  1. Retournez dans Cloud Shell depuis la console GCP.

    OUVRIR CLOUD SHELL

  2. Exécutez la commande suivante pour créer la règle de pare-feu :

    gcloud compute firewall-rules create allow-health-check --network wsfcnet --source-ranges 130.211.0.0/22,35.191.0.0/16 --allow tcp:59998`
    

Ouvrir le pare-feu Windows

À présent, créez une règle de pare-feu Windows sur chaque nœud de cluster (wsfc-1 et wsfc-2). Autorisez au minimum toutes les connexions TCP entrantes via le port 59998 pour les adresses IP 130.211.0.0/22 et 35.191.0.0/16.

Valider l'équilibreur de charge

Une fois votre équilibreur de charge interne en cours d'exécution, vous pouvez inspecter son état pour vérifier qu'il peut trouver une instance saine, puis tester à nouveau le basculement.

  1. Revenez à la page Équilibrage de charge dans la console GCP.

    OUVRIR LA PAGE "ÉQUILIBRAGE DE CHARGE"

  2. Cliquez sur le nom de l'équilibreur de charge (wsfc-lb).

    Dans la section Backend du résumé, le groupe d'instances devrait s'afficher.

    Dans la colonne Instances saines, vous devriez voir s'afficher 1 / 2.

    Ce résultat est conforme aux attentes. Un seul de vos deux nœuds de cluster est actif à tout moment dans le cluster de basculement, la vérification de l'état de l'équilibreur de charge ne fonctionne donc que pour ce nœud.

    Si le résultat qui s'affiche dans la colonne Instances saines est différent, passez tout de même à l'étape suivante. Parfois, vous devez effectuer au moins une action de basculement pour que l'équilibreur de charge trouve l'adresse IP.

  3. Pour réaliser le basculement, dans l'application "Gestionnaire du cluster de basculement", cliquez avec le bouton droit sur le rôle IIS, puis cliquez sur Déplacer > Meilleur nœud possible. Cette action déplace le rôle vers le nouveau nœud affiché dans le champ Owner Node (Nœud propriétaire) :

    Champ du nœud propriétaire affiché dans l'application "Gestionnaire du cluster de basculement"

  4. Patientez jusqu'à ce que le champ Status (État) indique Running (En cours d'exécution).

  5. Revenez à la page Équilibrage de charge, cliquez sur Actualiser, puis vérifiez que la colonne Healthy (Instances saines) affiche toujours 1 / 2.

    L'état de l'équilibreur de charge affiche 1 instance saine sur 2.

Conseil : Vous pouvez utiliser l'outil gcloud pour vérifier quelle instance est saine, en exécutant la commande suivante et en remplaçant [REGION] par votre région :

gcloud compute backend-services get-health wsfc-lb --region=[REGION]

Le résultat doit être semblable aux lignes suivantes :

backend: https://www.googleapis.com/compute/v1/projects/[PROJECT_NAME]/zones/us-west1-a/instanceGroups/wsfc-group
status:
  healthStatus:
  - healthState: UNHEALTHY
    instance: https://www.googleapis.com/compute/v1/projects/[PROJECT_NAME]/zones/us-west1-a/instances/wsfc-1
    ipAddress: 10.0.0.4
    port: 80
  - healthState: HEALTHY
    instance: https://www.googleapis.com/compute/v1/projects/[PROJECT_NAME]/zones/us-west1-a/instances/wsfc-2
    ipAddress: 10.0.0.5
    port: 80
  kind: compute#backendServiceGroupHealth

Installer votre application

Maintenant que vous avez un cluster, vous pouvez configurer votre application sur chaque nœud, pour qu'elle s'exécute dans un environnement en cluster.

Dans le cadre de ce tutoriel, vous devrez configurer un élément prouvant que le cluster fonctionne réellement avec l'équilibreur de charge interne. Configurez IIS sur chaque VM pour publier une page Web simple.

Vous ne configurez pas IIS pour la HD (haute disponibilité) dans le cluster. Vous devez créer des instances IIS distinctes qui publient chacune une page Web différente. Après un basculement, le serveur Web publie son propre contenu et non du contenu partagé.

Configurer votre application ou IIS pour la HD sort du champ d'application de ce tutoriel.

Configurer IIS

  1. Sur chaque nœud de cluster, installez IIS.

    • Assurez-vous que l'option Document par défaut est sélectionnée sous Fonctionnalités HTTP communes.
    • Sur la page Confirmation, cochez la case autorisant le redémarrage automatique du serveur de destination.
  2. Vérifiez le fonctionnement de chaque serveur Web.

    1. Utilisez le protocole RDP pour vous connecter à la VM nommée wsfc-dc.
    2. Dans le Gestionnaire de serveur, dans la section Propriétés située en haut de l'écran, désactivez Configuration de sécurité renforcée d'Internet Explorer.
    3. Ouvrez Internet Explorer.
    4. Accédez à l'adresse IP de chaque serveur :

      http://10.0.0.4/
      http://10.0.0.5/
      

Pour chaque cas, la page Accueil, page Web par défaut d'IIS, s'affiche.

Modifier les pages Web par défaut

En modifiant chaque page Web par défaut, vous pourrez facilement identifier le serveur qui publie chaque page.

  1. Utilisez le protocole RDP pour vous connecter à la VM nommée wsfc-1.
  2. Exécutez l'application "Bloc-notes" en tant qu'administrateur.
  3. Ouvrez C:\inetpub\wwwroot\iistart.htm dans "Bloc-notes". N'oubliez pas de sélectionner l'option Tous les fichiers, pour ne pas afficher uniquement les fichiers texte.
  4. Dans l'élément <title>, remplacez le texte par le nom du serveur actuel. Exemple :

        <title>wsfc-1</title>
    
  5. Enregistrez le fichier HTML.

  6. Répétez ces étapes pour wsfc-2, en remplaçant le texte de l'élément <title> par wsfc-2.

Désormais, lorsque vous affichez une page Web publiée par l'un de ces serveurs, le nom du serveur apparaît en tant que titre dans l'onglet Internet Explorer.

Tester le basculement

  1. Utilisez le protocole RDP pour vous connecter à la VM nommée wsfc-dc.
  2. Ouvrez Internet Explorer.
  3. Accédez à l'adresse IP du rôle d'équilibreur de charge :

    http://10.0.0.9/
    

    La page Accueil s'affiche avec le nom du serveur actuel en tant que titre de l'onglet.

  4. Arrêtez le serveur actuel pour simuler une défaillance. Pour ce faire, dans Cloud Shell, exécutez la commande suivante, en remplaçant [INSTANCE_NAME] par le nom du serveur actuel que vous avez vu à l'étape précédente, tel que wsfc-1 :

    gcloud compute instances stop [INSTANCE_NAME]
    
  5. Basculez sur votre connexion RDP pour wsfc-dc.

    La détection de l'équilibreur de charge et le réacheminement du trafic peuvent prendre quelques instants.

  6. Après environ 30 secondes, actualisez la page dans Internet Explorer.

    Vous devriez à présent voir s'afficher le nom du nouveau nœud actif en tant que titre de l'onglet. Par exemple, si vous avez commencé avec wsfc-1 actif, vous devriez maintenant voir s'afficher wsfc-2 en tant que titre. Si vous ne constatez pas immédiatement la modification ou si une erreur indiquant que la page est introuvable s'affiche, actualisez le navigateur.

Félicitations ! Vous disposez à présent d'un cluster de basculement Windows Server 2016 actif qui s'exécute sur GCP.

Dépannage

Voici quelques problèmes fréquemment rencontrés et les solutions proposées que vous pouvez consulter si certaines étapes ne fonctionnent pas.

Blocages du processus de vérification de l'état causés par les règles de pare-feu GCP

Si la vérification de l'état ne fonctionne pas, vérifiez que vous disposez bien d'une règle de pare-feu autorisant le trafic entrant à partir des adresses IP utilisées par le système de vérification de l'état : 130.211.0.0/22 et 35.191.0.0/16.

Blocages du processus de vérification de l'état causés par le pare-feu Windows

Dans le pare-feu Windows, vérifiez que le port 59998 est bien ouvert sur chaque nœud de cluster.

Nœuds en cluster utilisant le protocole DHCP

Il est important que chaque VM du cluster dispose d'une adresse IP statique. Si une VM est configurée pour utiliser le protocole DHCP dans Windows, modifiez les paramètres de réseau dans Windows pour que l'adresse IPv4 corresponde à l'adresse IP de la VM, comme indiquée dans la console GCP. Définissez également l'adresse IP de la passerelle pour qu'elle corresponde à l'adresse de la passerelle du sous-réseau dans le réseau VPC de GCP.

Tags réseau de GCP dans les règles de pare-feu

Si vous utilisez des tags réseau dans vos règles de pare-feu, vérifiez qu'ils sont correctement définis sur chaque instance de VM. Ce tutoriel n'utilise pas de tags. Toutefois, si vous les définissez dans un autre cadre, ils doivent être utilisés de manière cohérente.

Nettoyage

Afin d'éviter que des frais ne soient facturés sur votre compte Google Cloud Platform pour les ressources utilisées dans ce tutoriel, procédez comme suit :

Une fois que vous avez terminé le tutoriel sur le clustering de basculement, vous pouvez nettoyer les ressources que vous avez créées sur Google Cloud Platform, pour éviter qu'elles ne vous soient facturées à l'avenir. Dans les sections suivantes, nous allons voir comment supprimer ou désactiver ces ressources.

Supprimer le projet

Le moyen le plus simple d'empêcher la facturation est de supprimer le projet que vous avez créé dans le cadre de ce tutoriel.

Pour supprimer le projet, procédez comme suit :

  1. Dans la console GCP, accédez à la page "Projets".

    Accéder à la page Projets

  2. Dans la liste des projets, sélectionnez celui que vous souhaitez supprimer, puis cliquez sur Supprimer.
  3. Dans la boîte de dialogue, saisissez l'ID du projet, puis cliquez sur Arrêter pour supprimer le projet.

Supprimer des instances

Pour supprimer une instance Compute Engine, procédez comme suit :

  1. Dans la console GCP, accédez à la page "Instances de VM".

    Accéder à la page Instances de VM

  2. Cochez la case à côté de Il s'agit de l'instance que vous souhaitez supprimer.
  3. Cliquez sur le bouton Supprimer en haut de la page pour supprimer l'instance.

Supprimer les disques persistants

Pour supprimer un disque persistant, procédez comme suit :

  1. Dans la Console GCP, accédez à la page Disques.

    Accéder à la page "Disques"

  2. Cochez la case située à côté du nom du disque à supprimer.

  3. Cliquez sur le bouton Supprimer en haut de la page.

Étapes suivantes

Cette page vous a-t-elle été utile ? Évaluez-la :

Envoyer des commentaires concernant…

Documentation Compute Engine