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

S’applique à : ✔️ Machines virtuelles Linux ✔️ Ensembles à échelle flexible

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
  • Types de disques et options de performances
  • 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 du système d’exploitation : le disque du système d’exploitation héberge le système d’exploitation de machine virtuelle et peut atteindre jusqu’à 4 095 gibioctets (Gio), bien que de nombreux systèmes d’exploitation soient partitionnés avec des enregistrements de démarrage principaux (MBR) par défaut. Un MBR limite la taille utilisable à 2 To. Si vous avez besoin de plus de 2 Tio, créez et attachez des disques de données et utilisez-les pour le stockage des données. Les noms d’appareils varient selon la génération de machines virtuelles et le type de contrôleur de disque. Par conséquent, ne reposez pas sur un chemin fixe tel que /dev/sda. La mise en cache des disques du système d’exploitation est optimisée pour les performances du système d’exploitation. Par conséquent, ne stockez pas les données d’application sur le disque du système d’exploitation. Utilisez des disques de données pour le stockage d’applications et de données.

Disque temporaire - Le stockage temporaire utilise le stockage local sur le même hôte Azure que la machine virtuelle. Selon la taille et la génération de la machine virtuelle, ce stockage peut apparaître en tant que disque temporaire ou disque NVMe local. Il offre de hautes performances, mais n’est pas persistant. Si la machine virtuelle est déplacée vers un nouvel hôte, les données sur le stockage temporaire sont supprimées. La taille disponible dépend de la taille de la machine virtuelle.

disques de données

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 disques managés offrent cinq types de disques :

En général, utilisez ssd Premium v2 ou SSD Premium pour les charges de travail de production, SSD Standard pour les charges de travail de développement/test et moins sensibles aux performances et disques Ultra pour les charges de travail de données gourmandes en E/S. Les disques Ultra et SSD Premium v2 sont des options de disque de données uniquement et ne peuvent pas être utilisés comme disques de système d’exploitation. Pour obtenir des limites détaillées, la disponibilité des régions et les conseils de dimensionnement, consultez Azure types de disques managés.

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 Try it dans le coin supérieur droit d’un bloc de code. Vous pouvez également lancer Cloud Shell dans un onglet de navigateur distinct à https://shell.azure.com. Sélectionnez Copy pour copier un bloc de code, collez-le dans Cloud Shell, puis appuyez sur Entrée pour l’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 nommé azureuser et génère des clés SSH si elles n’existent pas déjà. L’argument --data-disk-sizes-gb spécifie des disques de données supplémentaires pour créer et attacher. Pour créer et attacher plusieurs disques, utilisez une liste délimitée par l’espace des tailles 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 sur la partition en utilisant la commande mkfs. Utilisez partprobe pour que le système d'exploitation soit informé du changement.

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, ce 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"

Remarque

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

Lorsque vous prenez un instantané de disque, Azure crée une copie en lecture seule et ponctuelle 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, vous pouvez restaurer une machine virtuelle à l’aide d’un instantané. Lorsqu’une machine virtuelle a plusieurs disques, un instantané est pris de chaque disque indépendamment. Pour effectuer des sauvegardes cohérentes avec les applications, envisagez d’arrêter la machine virtuelle avant de prendre des captures instantanées de disque. Vous pouvez également utiliser Sauvegarde Azure, qui prend en charge les sauvegardes automatisées pendant l’exécution de la machine virtuelle.

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 \
   --resource-group 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
  • Types de disques et options de performances
  • 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.