Didacticiel - Gestion des disques Azure avec l’interface de ligne de commande Azure

S’applique à : ✔️ Machines virtuelles Linux ✔️ Groupes identiques flexibles

Les machines virtuelles utilisent des disques pour stocker leur système d’exploitation, leurs applications et leurs données. Lorsque vous créez une machine virtuelle, il est important de choisir une taille de disque et une configuration adaptées à la charge de travail prévue. Ce tutoriel vous montre comment déployer et gérer des disques de machine virtuelle. Vous en apprendrez davantage sur les points suivants :

  • Disques de système d’exploitation et disques temporaires
  • Disques de données
  • Disques Standard et Premium
  • Performances des disques
  • Attachement et préparation des disques de données
  • Captures instantanées de disque

Disques Azure par défaut

Lorsqu’une machine virtuelle Azure est créée, deux disques sont automatiquement attachés à celle-ci.

Disque de système d’exploitation : la taille des disques de système d’exploitation peut atteindre 2 To ; ces disques hébergent le système d’exploitation des machines virtuelles. Le disque de système d’exploitation est nommé /dev/sda par défaut. La configuration de la mise en cache de disque de système d’exploitation est optimisée pour les performances du système d’exploitation. En raison de cette configuration, le disque de système d’exploitation ne doit pas être utilisé pour les applications ou les données. Pour héberger ce type de contenu, utilisez plutôt des disques de données, qui sont décrits plus loin dans ce tutoriel.

Disque temporaire : les disques temporaires utilisent un disque SSD qui se trouve sur le même hôte Azure que la machine virtuelle. Les disques temporaires sont extrêmement performants et peuvent être utilisés pour des opérations telles que le traitement de données temporaires. Toutefois, si la machine virtuelle est déplacée vers un nouvel hôte, toutes les données stockées sur un disque temporaire sont supprimées. La taille du disque temporaire est déterminée par la taille de la machine virtuelle. Les disques temporaires sont nommés /dev/sdb et ont un point de montage /mnt.

Disques de données Azure

Des disques de données supplémentaires peuvent être ajoutés pour installer des applications et stocker des données. Les disques de données doivent être utilisés dans les cas où un stockage des données durable et réactif est souhaité. La taille de la machine virtuelle détermine le nombre de disques de données pouvant être attachés à cette machine virtuelle.

Type de disque de machine virtuelle

Azure propose deux types de disque.

Disques Standard : ils s’appuient sur des disques durs et offrent un stockage économique qui n’en est pas moins performant. Les disques Standard constituent la solution idéale pour une charge de travail de développement et de test économique.

Disques Premium : ils reposent sur un disque SSD à faible latence et hautes performances. Ils conviennent parfaitement aux machines virtuelles exécutant une charge de travail en production. Les tailles VM qui ont un S dans le nom de la taille prennent généralement en charge le stockage Premium. Par exemple, les machines virtuelles Azure des séries DS, DSv2, GS et FS prennent en charge le stockage Premium. Lorsque vous sélectionnez une taille de disque, la valeur est arrondie au type suivant. Par exemple, si la taille du disque est supérieure à 64 Go, mais inférieure à 128 Go, le type de disque est P10.


Tailles de disque SSD Premium P1 P2 P3 P4 P6 P10 P15 P20 P30 P40 P50 P60 P70 P80
Taille du disque (Gio) 4 8 16 32 64 128 256 512 1 024 2 048 4 096 8 192 16 384 32 767
IOPS approvisionnés de base par disque 120 120 120 120 240 500 1 100 2 300 5 000 7 500 7 500 16 000 18 000 20 000
**IOPS approvisionnés étendus par disque N/A N/A N/A N/A N/A N/A N/A N/A 8,000 16 000 20 000 20 000 20 000 20 000
Débit approvisionné de base par disque 25 Mo/s 25 Mo/s 25 Mo/s 25 Mo/s 50 Mo/s 100 Mo/s 125 Mo/s 150 Mo/s 200 Mo/s 250 Mo/s 250 Mo/s 500 Mo/s 750 Mo/s 900 Mo/s
**Débit provisionné développé par disque N/A N/A N/A N/A N/A N/A N/A N/A 300 Mo/s 600 Mo/s 900 Mo/s 900 Mo/s 900 Mo/s 900 Mo/s
Nb max. d’iOPS de rafale par disque 3 500 3 500 3 500 3 500 3 500 3 500 3 500 3 500 30 000* 30 000* 30 000* 30 000* 30 000* 30 000*
Débit max. de rafale par disque 170 Mo/s 170 Mo/s 170 Mo/s 170 Mo/s 170 Mo/s 170 Mo/s 170 Mo/s 170 Mo/s 1 000 Mo/s* 1 000 Mo/s* 1 000 Mo/s* 1 000 Mo/s* 1 000 Mo/s* 1 000 Mo/s*
Durée maximale de rafale 30 min 30 min 30 min 30 min 30 min 30 min 30 min 30 min Illimité* Illimité* Illimité* Illimité* Illimité* Illimité*
Éligible pour la réservation Non Non Non Non Non Non Non Non Oui, jusqu’à un an Oui, jusqu’à un an Oui, jusqu’à un an Oui, jusqu’à un an Oui, jusqu’à un an Oui, jusqu’à un an

*S’applique uniquement aux disques avec la fonction de bursting à la demande activée.
** S’applique uniquement aux disques sur lesquels Performance plus (préversion) est activé.

Lorsque vous configurez un disque de stockage Premium, contrairement au stockage standard, la capacité, les E/S par seconde et le débit de ce disque sont assurés. Par exemple, si vous créez un disque P50, Azure configure une capacité de stockage de 4 095 Go, 7 500 E/S par seconde et un débit de 250 Mo/s pour ce disque. Votre application peut utiliser tout ou partie de la capacité et des performances. Les disques SSD Premium sont conçus pour fournir des latences faibles de quelques millisecondes ainsi que l’IOPS et le débit cibles décrits dans le précédent tableau 99,9 % du temps.

Bien que le tableau ci-dessus identifie le nombre max. d’E/S par seconde par disque, un niveau de performances plus élevé est possible en entrelaçant plusieurs disques de données. Par exemple, 64 disques de données peuvent être attachés à la machine virtuelle Standard_GS5. Si chacun de ces disques est de type P30, vous pouvez atteindre un nombre maximum d’E/S par seconde de 80 000. Pour plus d’informations sur le nombre maximal d’E/S par seconde par machine virtuelle, consultez Types et tailles des machines virtuelles.

Lancement d’Azure Cloud Shell

Azure Cloud Shell est un interpréteur de commandes interactif et gratuit que vous pouvez utiliser pour exécuter les étapes de cet article. Il contient des outils Azure courants préinstallés et configurés pour être utilisés avec votre compte.

Pour ouvrir Cloud Shell, sélectionnez Essayer en haut à droite d’un bloc de code. Vous pouvez aussi lancer Cloud Shell dans un onglet distinct du navigateur en accédant à https://shell.azure.com/powershell. Sélectionnez Copier pour copier les blocs de code, collez-les dans Cloud Shell, puis appuyez sur Entrée pour les exécuter.

Créer et attacher des disques

Des disques de données peuvent être créés et attachés lors de la création d’une machine virtuelle, mais ils peuvent également être créés et attachés à une machine virtuelle existante.

Attacher le disque lors de la création d’une machine virtuelle

Créez un groupe de ressources avec la commande az group create.

az group create --name myResourceGroupDisk --location eastus

Créez une machine virtuelle avec la commande az vm create. L’exemple suivant crée une machine virtuelle nommée myVM, ajoute un compte d’utilisateur appelé azureuser et génère des clés SSH si elles n’existent pas. L’argument --datadisk-sizes-gb est utilisé pour spécifier qu’un disque supplémentaire doit être créé et attaché à la machine virtuelle. Pour créer et attacher plusieurs disques, utilisez une liste séparée par des espaces des valeurs de taille de disque. Dans l’exemple suivant, une machine virtuelle est créée avec deux disques de données, tous deux de 128 Go. La taille des disques étant de 128 Go, ces disques sont configurés en tant que disques P10, qui fournissent 500 E/S par seconde maximum par disque.

az vm create \
  --resource-group myResourceGroupDisk \
  --name myVM \
  --image Ubuntu2204 \
  --size Standard_DS2_v2 \
  --admin-username azureuser \
  --generate-ssh-keys \
  --data-disk-sizes-gb 128 128

Attacher un disque à une machine virtuelle existante

Pour créer et attacher un nouveau disque à une machine virtuelle existante, utilisez la commande az vm disk attach. L’exemple suivant crée un disque Premium de 128 Go et l’attache à la machine virtuelle créée à l’étape précédente.

az vm disk attach \
    --resource-group myResourceGroupDisk \
    --vm-name myVM \
    --name myDataDisk \
    --size-gb 128 \
    --sku Premium_LRS \
    --new

Préparer les disques de données

Une fois qu’un disque a été attaché à la machine virtuelle, le système d’exploitation doit être configuré pour utiliser le disque. L’exemple suivant montre comment configurer manuellement un disque. Ce processus peut également être automatisé à l’aide de cloud-init, qui est présenté dans un prochain didacticiel.

Créez une connexion SSH avec la machine virtuelle. Remplacez l’exemple d’adresse IP par l’adresse IP publique de la machine virtuelle.

ssh azureuser@10.101.10.10

Partitionnez le disque avec parted.

sudo parted /dev/sdc --script mklabel gpt mkpart xfspart xfs 0% 100%

Écrivez un système de fichiers dans la partition avec la commande mkfs. Utilisez partprobe pour que le système d’exploitation prenne en compte la modification.

sudo mkfs.xfs /dev/sdc1
sudo partprobe /dev/sdc1

Montez le nouveau disque afin qu’il soit accessible dans le système d’exploitation.

sudo mkdir /datadrive && sudo mount /dev/sdc1 /datadrive

Le disque est désormais accessible via le point de montage /datadrive, qui peut être vérifié en exécutant la commande df -h.

df -h | grep -i "sd"

La sortie indique le nouveau lecteur monté sur /datadrive.

Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1        29G  2.0G   27G   7% /
/dev/sda15      105M  3.6M  101M   4% /boot/efi
/dev/sdb1        14G   41M   13G   1% /mnt
/dev/sdc1        50G   52M   47G   1% /datadrive

Pour vous assurer que le lecteur est remonté automatiquement après un redémarrage, vous devez l’ajouter au fichier /etc/fstab. Pour ce faire, obtenez l’UUID du disque avec l’utilitaire blkid.

sudo -i blkid

La sortie affiche l’UUID du lecteur, /dev/sdc1 dans cet exemple.

/dev/sdc1: UUID="33333333-3b3b-3c3c-3d3d-3e3e3e3e3e3e" TYPE="xfs"

Notes

si vous ne modifiez pas correctement le fichier /etc/fstab , il se peut que le système ne puisse plus démarrer. En cas de doute, reportez-vous à la documentation de la distribution pour obtenir des informations sur la modification adéquate de ce fichier. Il est par ailleurs vivement recommandé de créer une sauvegarde du fichier /etc/fstab avant de le modifier.

Ouvrez le fichier /etc/fstab dans un éditeur de texte comme suit :

sudo nano /etc/fstab

Ajoutez une ligne semblable à la suivante au fichier /etc/fstab en remplaçant la valeur UUID par la vôtre.

UUID=33333333-3b3b-3c3c-3d3d-3e3e3e3e3e3e   /datadrive  xfs    defaults,nofail   1  2

Une fois que vous avez fini de modifier le fichier, utilisez Ctrl+O pour écrire le fichier et Ctrl+X pour quitter l’éditeur.

Maintenant que le disque a été configuré, fermez la session SSH.

exit

Prendre un instantané d’un disque

Lors d’une capture instantanée du disque, Azure crée une copie en lecture seule à un moment donné du disque. Les captures instantanées de machine virtuelle Azure sont utiles pour enregistrer rapidement l’état d’une machine virtuelle avant d’apporter des modifications à la configuration. En cas de problème ou d’erreur, la machine virtuelle peut être restaurée à l’aide d’un instantané. Lorsqu’une machine virtuelle a plusieurs disques, une capture instantanée de chaque disque est prise. Pour les sauvegardes cohérentes des applications, pensez à arrêter la machine virtuelle avant de prendre des captures instantanées du disque. Vous pouvez également utiliser le service Sauvegarde Azure, qui vous permet d’effectuer des sauvegardes automatisées alors que la machine virtuelle est en cours d’exécution.

Créer une capture instantanée

Avant de créer une capture instantanée, vous avez besoin de l’ID ou du nom du disque. Utilisez az vm show pour afficher l’ID du disque. Dans cet exemple, l’ID du disque est stocké dans une variable pour qu’il puisse être utilisé dans une étape ultérieure.

osdiskid=$(az vm show \
   -g myResourceGroupDisk \
   -n myVM \
   --query "storageProfile.osDisk.managedDisk.id" \
   -o tsv)

Maintenant que vous avez l’ID, utilisez az snapshot create pour créer une capture instantanée du disque.

az snapshot create \
    --resource-group myResourceGroupDisk \
    --source "$osdiskid" \
    --name osDisk-backup

Création d’un disque à partir d’une capture instantanée

Cette capture instantanée peut alors être convertie en disque à l’aide de az disk create, qui peut être utilisé pour recréer la machine virtuelle.

az disk create \
   --resource-group myResourceGroupDisk \
   --name mySnapshotDisk \
   --source osDisk-backup

Restauration de la machine virtuelle à partir de l’instantané

Pour illustrer la récupération de machine virtuelle, supprimez la machine virtuelle existante à l’aide de az vm delete.

az vm delete \
--resource-group myResourceGroupDisk \
--name myVM

Créez une nouvelle machine virtuelle à l’aide du disque d’instantané.

az vm create \
    --resource-group myResourceGroupDisk \
    --name myVM \
    --attach-os-disk mySnapshotDisk \
    --os-type linux

Rattacher un disque de données

Tous les disques de données doivent être rattachés à la machine virtuelle.

Trouvez le nom du disque de données à l’aide de la commande az disk list. Cet exemple place le nom du disque dans une variable nommée datadisk, qui est utilisée dans l’étape suivante.

datadisk=$(az disk list \
   -g myResourceGroupDisk \
   --query "[?contains(name,'myVM')].[id]" \
   -o tsv)

Utilisez la commande az vm disk attach pour attacher le disque.

az vm disk attach \
   –g myResourceGroupDisk \
   --vm-name myVM \
   --name $datadisk

Étapes suivantes

Ce didacticiel vous a apporté des connaissances concernant les disques de machine virtuelle, notamment concernant les points suivants :

  • Disques de système d’exploitation et disques temporaires
  • Disques de données
  • Disques Standard et Premium
  • Performances des disques
  • Attachement et préparation des disques de données
  • Captures instantanées de disque

Passez au didacticiel suivant pour en apprendre davantage sur l’automatisation de la configuration de machine virtuelle.