Exercice - Déployer des machines virtuelles en cluster à l’aide de disques partagés Azure

Effectué

Le directeur technique de votre entreprise doit fournir une preuve de concept pour l’utilisation des disques partagés Azure pour déployer une application en cluster dans des machines virtuelles Azure (VM). Vous avez été invité à tester des scénarios en cluster avec des machines virtuelles Linux et Windows.

Notes

La première fois que vous activez un bac à sable et que vous acceptez les conditions d’utilisation, votre compte Microsoft est associé à un nouvel annuaire Azure appelé Microsoft Learn Sandbox (Bac à sable Microsoft Learn). Vous êtes également ajouté à l’abonnement spécial Concierge.

Notes

Vous pouvez utiliser Azure PowerShell ou Azure CLI pour gérer des machines virtuelles Windows et Linux sur Azure. Ici, à des fins de formation, si vous choisissez l’option Windows, vous utiliserez Azure PowerShell. Si vous choisissez Linux, vous utiliserez Azure CLI.

Remarque

Cet exercice est facultatif. Si vous souhaitez effectuer cet exercice, vous devrez créer un abonnement Azure avant de commencer. Si vous n’avez pas de compte Azure ou si vous ne souhaitez pas en créer un pour l’instant, vous pouvez lire les instructions pour comprendre les informations qui sont présentées.

Déployer des machines virtuelles Linux à l’aide de disques partagés Azure

Pour fournir une preuve de concept, déployez deux machines virtuelles Linux qui exécutent le système d’exploitation Ubuntu Server. Vous allez également tester les commandes de réservation persistante (PR) SCSI sur le disque partagé Azure.

Dans cet exercice, vous explorez le déploiement de disques partagés Azure et effectuez les tâches suivantes :

  • Créer un disque partagé Azure.
  • Créer un groupe à haute disponibilité.
  • Déployer deux machines virtuelles qui exécutent le système d’exploitation Ubuntu Server, puis attacher un disque partagé aux deux machines virtuelles.
  • Tester les commandes PR SCSI.

Créer un disque partagé Azure

Utilisez Azure Cloud Shell avec l’interface Azure CLI pour créer un disque partagé Azure.

az disk create -g <rgn>[sandbox resource group name]</rgn> -n mySharedDisk --size-gb 1024 --sku Premium_LRS --max-shares 2

Créer un groupe à haute disponibilité

Exécutez la commande suivante pour créer un groupe à haute disponibilité :

az vm availability-set create \
  --resource-group <rgn>[sandbox resource group name]</rgn> \
  --name myAvailabilitySet \
  --platform-fault-domain-count 2 \
  --platform-update-domain-count 2

Créez deux machines virtuelles qui exécutent Ubuntu Server

Si vous êtes toujours dans Cloud Shell, exécutez les commandes suivantes pour créer deux machines virtuelles qui exécutent le système d’exploitation Ubuntu :

for i in `seq 1 2`; 
do
   az vm create --resource-group <rgn>[sandbox resource group name]</rgn> --name myVM$i --availability-set myAvailabilitySet --size Standard_DS1_v2 --vnet-name myVnet --subnet mySubnet --image Ubuntu2204 --admin-username azureuser --generate-ssh-keys
done

Attacher un disque partagé Azure sur les deux machines virtuelles

Quand vous êtes toujours dans Cloud Shell, attachez le disque partagé Azure aux deux machines virtuelles à l’aide des commandes suivantes :

diskId=$(az disk show -g <rgn>[sandbox resource group name]</rgn> -n mySharedDisk --query 'id' -o tsv)

# attach the shared disk to the first VM.
az vm disk attach -g <rgn>[sandbox resource group name]</rgn> --vm-name myVM1 --name $diskId

# attach the shared disk to the second VM.
az vm disk attach -g <rgn>[sandbox resource group name]</rgn> --vm-name myVM2 --name $diskId

Une fois cette tâche terminée, le disque partagé est attaché à deux machines virtuelles en même temps.

Tester le PR SCSI à l’aide des outils « sg3-utils »

  1. Si vous êtes toujours dans Cloud Shell, connectez-vous à la première machine virtuelle à l’aide du protocole SSH (Secure Shell).

  2. Utilisez les commandes suivantes pour récupérer les adresses IP de VM1 :

    myPublicIP1=$(az network public-ip show --resource-group <rgn>[sandbox resource group name]</rgn> --name myVM1PublicIP --query 'ipAddress' --output tsv)
    
  3. Connecter à la première machine virtuelle via SSH :

    ssh azureuser@$myPublicIP1
    
  4. À l’invite Êtes-vous sûr de vouloir continuer la connexion ? (oui/non), entrez oui, puis sélectionnez Entrée.

  5. Pour installer sg3-utils, exécutez les commandes suivantes :

    sudo apt-get update
    sudo apt-get install -y sg3-utils
    
  6. Pour lire la réservation actuelle, exécutez la commande suivante :

    sudo sg_persist /dev/sdc -s
    

    Cette commande identifie les réservations en cours qui existent pour le disque partagé. Étant donné qu’il s’agit de la première fois que vous l’exécutez, il ne doit y avoir aucune nouvelle réservation.

    Screenshot of disk status without V M registration.

  7. Exécutez la commande suivante pour inscrire la nouvelle clé de réservation 1234 sur myVM1 :

    sudo sg_persist --register --device /dev/sdc --param-rk=0 --param-sark=1234 --out
    

    Cette commande fournit l’inscription SCSI_PR, qui garantit que VM1 peut lire ou écrire sur le nouveau disque partagé.

  8. Lisez les clés sur VM1 :

    sudo sg_persist /dev/sdc -s
    

    La commande doit afficher une réservation sur le disque partagé pour VM1.

    Screenshot of disk status with V M 1 registration.

  9. Fermez la session SSH :

    exit
    
  10. Connectez-vous à la deuxième machine virtuelle avec SSH en utilisant la commande suivante :

    myPublicIP2=$(az network public-ip show --resource-group <rgn>[sandbox resource group name]</rgn> --name myVM2PublicIP --query 'ipAddress' --output tsv)
    
    ssh azureuser@$myPublicIP2
    
  11. À l’invite Êtes-vous sûr de vouloir continuer la connexion ? (oui/non), entrez oui, puis sélectionnez Entrée.

  12. Pour installer sg3-utils, exécutez les commandes suivantes :

    # Install sg3-utils
    sudo apt-get update
    sudo apt-get install -y sg3-utils
    
    # Register the key 1235 on VM2. This command will provide SCSI_PR registration for VM2, so it can read or write on the shared disk.
    sudo sg_persist --register --device /dev/sdc --param-rk=0 --param-sark=1235 --out
    
    # Read back the keys for the shared disk. Now it should show 2 reservation to the shared disk for both VM1 and VM2.
    sudo sg_persist /dev/sdc -s
    

    Disk status with VM1 and VM2 registrations.

  13. Fermez la session SSH :

    exit
    
  14. Connecter à myVM1 à l’aide de SSH :

    ssh azureuser@$myPublicIP1
    
  15. Exécutez les commandes suivantes :

    # Reserve the device with exclusive write permission. This command will ensure that VM1 has exclusive write to the disk, while any write from VM2 will not succeed.
    sudo sg_persist --reserve --device /dev/sdc --param-rk=1234 --prout-type=1 --out
    
    # Check the reservation on the device.
    sudo sg_persist /dev/sdc -s
    

    Screenshot of disk status with V M 1 reservation.

  16. Fermez la session SSH :

    exit
    
  17. Connecter à myVM2 à l’aide de SSH :

    ssh azureuser@$myPublicIP2
    
  18. Exécutez les commandes suivantes :

    # Preempt the DEVICE from **myVM2**. This command will take over the exclusive write operation from VM1. Now VM2 has write access to the disk.
    sudo sg_persist --preempt --device /dev/sdc --param-rk=1235 --param-sark=1234 --prout-type=5 --out
    
    # Report capabilities. Verify that reservation exist for VM2 with key 1235.
    sudo sg_persist /dev/sdc -c
    

    Screenshot of disk status with V M 2 reservation.

    # Unregister from **myVM2**. This command release access to the shared disk.
    sudo sg_persist --out --register --param-rk=1235 --param-sark=0 --device /dev/sdc
    
    # Report capabilities.
    sudo sg_persist /dev/sdc -s
    
  19. Fermez la session SSH :

    exit
    

Déployer des machines virtuelles Windows à l’aide de disques partagés Azure

Pour mieux illustrer la fonctionnalité de disque partagé Azure, déployez deux machines virtuelles Windows exécutant le système d’exploitation Windows Server. Vous allez également tester les commandes de réservation persistante (PR) SCSI sur le disque partagé Azure.

Dans cet exercice, vous explorez le déploiement de disques partagés Azure et effectuez les tâches suivantes :

  • Créer un disque partagé Azure.
  • Créer un groupe à haute disponibilité.
  • Déployer deux machines virtuelles exécutant le système d’exploitation Windows Server et configurez les services en cluster.
  • Tester les commandes PR SCSI.

Créer un disque partagé Azure

  1. Dans Cloud Shell, vous pouvez passer d’Azure CLI à Azure PowerShell en exécutant la commande suivante :

    # Switch to PowerShell
    pwsh
    
    # Create Azure Shared disk
    $dataDiskConfig=New-AzDiskConfig -Location "EastUs" -DiskSizeGB 1024 -AccountType Premium_LRS -CreateOption Empty -MaxSharesCount 2
    $dataDisk=New-AzDisk -ResourceGroupName <rgn>[sandbox resource group name]</rgn> -DiskName "mySharedDisk1" -Disk $dataDiskConfig
    

Créer un groupe à haute disponibilité

  1. Exécutez la commande suivante pour créer un groupe à haute disponibilité :

    # Create a managed availability set by using New-AzAvailabilitySet with the -sku aligned parameter.
    New-AzAvailabilitySet `
      -Location "EastUS" `
      -Name "myAvailabilitySet1" `
      -ResourceGroupName <rgn>[sandbox resource group name]</rgn> `
      -Sku aligned `
      -PlatformFaultDomainCount 2 `
      -PlatformUpdateDomainCount 2
    

Créer deux machines virtuelles qui exécutent Windows Server

  1. Toujours dans Cloud Shell, exécutez les commandes suivantes pour définir un objet d’informations d’identification pour la journalisation sur les machines virtuelles :

    $cred = Get-Credential
    
  2. Utilisez les informations d’identification suivantes :

    • Utilisateur : Student
    • Mot de passe : Pa55w.rd1234
  3. Créer deux machines virtuelles qui exécutent le système d’exploitation Windows :

    for ($i=3; $i-le4; $i++)
    {
        New-AzVm `
          -ResourceGroupName <rgn>[sandbox resource group name]</rgn> `
          -Name "myVM$i" `
          -Location eastus `
          -VirtualNetworkName "myVnet1" `
          -SubnetName "mySubnet" `
          -ImageName "MicrosoftWindowsServer:WindowsServer:2019-Datacenter:latest" `
          -SecurityGroupName "myNetworkSecurityGroup1" `
          -PublicIpAddressName "myPublicIpAddress$i" `
          -AvailabilitySetName "myAvailabilitySet1" `
          -Credential $cred
    }
    

Attacher un disque partagé Azure aux deux machines virtuelles

  1. Utilisez la commande suivante pour attacher le disque partagé Azure à la première machine virtuelle :

    $vm3 = Get-AzVM -Name "myvm3" -ResourceGroupName <rgn>[sandbox resource group name]</rgn>
    $vm3 = Add-AzVMDataDisk -VM $vm3 -CreateOption Attach -ManagedDiskId $dataDisk.Id -Lun 0
    
    Update-AzVM -VM $vm3 –ResourceGroupName <rgn>[sandbox resource group name]</rgn>
    
  2. Attachez le disque partagé Azure à la deuxième machine virtuelle :

    $vm4 = Get-AzVM -Name "myvm4" -ResourceGroupName <rgn>[sandbox resource group name]</rgn>
    $vm4 = Add-AzVMDataDisk -VM $vm4 -CreateOption Attach -ManagedDiskId $dataDisk.Id -Lun 0
    
    Update-AzVM -VM $vm4 –ResourceGroupName <rgn>[sandbox resource group name]</rgn>
    

Installer le service de clustering de basculement Windows sur myVM3

  1. Accédez au Portail Azure et vérifiez que vous êtes bien dans l’abonnement de bac à sable.

  2. Dans le champ Rechercher des ressources, des services et des documents (G +/), entrez machines virtuelles, puis sélectionnez machines virtuelles.

  3. Sélectionnez la machine virtuelle myVM3 dans la barre d’outils, sélectionnez Connecter, puis RDP.

  4. Sélectionnez Télécharger le fichier RDP, puis connectez-vous à l’aide des informations d’identification suivantes :

    • Nom d’utilisateur : Student
    • Mot de passe : Pa55w.rd1234
  5. Dans le menu Outils du Gestionnaire de serveur, sélectionnez Gestion de l’ordinateur.

  6. Dans la console de gestion de Gestion de l’ordinateur (local), sélectionnez Gestion des disques.

  7. Dans la fenêtre Initialiser le disque, vérifiez que le Disque 2 est sélectionné, puis sélectionnez OK.

  8. Cliquez avec le bouton droit ou sélectionnez l’étiquette noire sur le Disque 2, puis sélectionnez Nouveau volume simple. Acceptez les valeurs par défaut pour créer un volume simple.

  9. Ouvrez la console Gestion de l'ordinateur.

  10. Dans le Gestionnaire de serveur, sélectionnez Ajouter des rôles et fonctionnalités. L’Assistant Ajout de rôles et de fonctionnalités s’ouvre.

  11. Dans la page Avant de commencer de l’assistant Ajouter de rôles et de fonctionnalités, cliquez sur Suivant.

  12. Dans la page Sélectionner le type d’installation, sélectionnez Installation basée sur un rôle ou une fonctionnalité, puis cliquez sur Suivant.

  13. Dans la page Sélection du serveur, cliquez sur Suivant.

  14. Dans la page Sélectionner des rôles serveurs, sélectionnez Suivant.

  15. Dans la page Sélectionner des fonctionnalités, cochez la case à cocher Clustering de basculement.

  16. Vérifiez que la case à cocher Inclure les outils de gestion (le cas échéant) est activée. Sélectionnez Ajouter des fonctionnalités, puis sélectionnez Suivant.

  17. Dans la page Confirmer, sélectionnez la case à cocher Redémarrer automatiquement le serveur de destination, si nécessaire, puis cochez Oui. Sélectionnez Installer pour installer le rôle de clustering de basculement.

Notes

Une fois la fonctionnalité de cluster de basculement installée, la machine virtuelle myVM3 redémarre automatiquement.

Installer le service de clustering de basculement Windows sur myVM4

  1. Dans le Portail Azure, dans le champ Rechercher des ressources, des services et des documents (G +/), entrez machines virtuelles, puis sélectionnez machines virtuelles.

  2. Sélectionnez la machine virtuelle myVM4 dans la barre d’outils, sélectionnez Connecter, puis RDP.

  3. Sélectionnez Télécharger le fichier RDP, puis connectez-vous à l’aide des informations d’identification suivantes :

    • Nom d’utilisateur : Student
    • Mot de passe : Pa55w.rd1234
  4. Dans le menu Outils du Gestionnaire de serveur, sélectionnez Gestion de l’ordinateur.

  5. Dans la console de gestion de Gestion de l’ordinateur (local), sélectionnez Gestion des disques.

  6. Dans la fenêtre Initialiser le disque, vérifiez que le Disque 2 est sélectionné, puis sélectionnez OK.

  7. Cliquez avec le bouton droit ou sélectionnez l’étiquette noire sur le Disque 2, puis sélectionnez Nouveau volume simple. Acceptez les valeurs par défaut pour créer un volume simple.

  8. Ouvrez la console Gestion de l'ordinateur.

  9. Dans le Gestionnaire de serveur, sélectionnez Ajouter des rôles et fonctionnalités. L’Assistant Ajout de rôles et de fonctionnalités s’ouvre.

  10. Dans la page Avant de commencer de l’assistant Ajouter de rôles et de fonctionnalités, cliquez sur Suivant.

  11. Dans la page Sélectionner le type d’installation, sélectionnez Installation basée sur un rôle ou une fonctionnalité, puis cliquez sur Suivant.

  12. Dans la page Sélection du serveur, cliquez sur Suivant.

  13. Dans la page Sélectionner des rôles serveurs, sélectionnez Suivant.

  14. Dans la page Sélectionner des fonctionnalités, cochez la case à cocher Clustering de basculement.

  15. Vérifiez que la case à cocher Inclure les outils de gestion (le cas échéant) est activée. Sélectionnez Ajouter des fonctionnalités, puis sélectionnez Suivant.

  16. Dans la page confirmation, activez la case à cocher redémarrer automatiquement le serveur de destination, si nécessaire, puis sélectionnez Oui. Sélectionnez Installer pour installer le rôle Clustering de basculement.

Notes

Une fois la fonctionnalité de cluster de basculement installée, la machine virtuelle myVM4 redémarre automatiquement.

Tester le stockage pour le service de clustering de basculement Windows sur myVM3

  1. Dans le Portail Azure, dans le champ Rechercher des ressources, des services et des documents (G +/), entrez et sélectionnez machines virtuelles.

  2. Sélectionnez la machine virtuelle myVM3 dans la barre d’outils, sélectionnez Connecter, puis RDP.

  3. Sélectionnez Télécharger le fichier RDP, puis connectez-vous à l’aide des informations d’identification suivantes :

    • Nom d’utilisateur : Student
    • Mot de passe : Pa55w.rd1234
  4. Dans Gestionnaire de serveur, dans le menu Outils, sélectionnez Gestionnaire du cluster de basculement.

  5. Dans le Gestionnaire du cluster de basculement, dans le menu Actions, sélectionnez Valider la configuration. L'Assistant validation d'une configuration s’ouvre.

  6. Dans la page Avant de commencer de l’Assistant Validation d’une configuration, cliquez sur Suivant.

  7. Dans la page Sélectionner des serveurs ou un cluster , dans le champ Entrer le nom, entrez myVM3, puis sélectionnez Ajouter.

  8. Dans la page Sélectionner des serveurs ou un cluster, dans le champ Entrer le nom, entrez myVM4, puis sélectionnez Ajouter.

  9. Sélectionnez Suivant pour poursuivre le test de la configuration du cluster.

  10. Dans la page Options de test, sélectionnez Exécuter uniquement les tests que je sélectionne, puis sélectionnez Suivant.

  11. Désactivez tous les autres tests, activez uniquement la case à cocher Stockage, puis sélectionnez Suivant.

  12. Dans la page Confirmation, sélectionnez Suivant.

  13. Vérifiez que tous les tests ont réussi, puis sélectionnez Terminer.

  14. Fermez la connexion RDP.

Remarque

Pour poursuivre la création du cluster, vous devez répondre à des conditions préalables supplémentaires, telles que Microsoft Entra Domain Services (Microsoft Entra Domain Services), et créer une adresse IP statique à utiliser pour l’équilibreur de charge interne.

L’exercice ne concerne pas cette étape.