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 à l’aide de 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, vous créez une machine virtuelle avec deux disques de données de 128 Gio chacun. Étant donné que les disques font 128 Gio, vous les configurez tous les deux comme des disques P10, offrant un maximum de 500 IOPS 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 Gio et l’attache à la machine virtuelle créée à la dernière étape.

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

Préparer un disque de données dans Linux

Après avoir attaché un disque à la machine virtuelle, configurez le système d’exploitation pour utiliser le disque. Les exemples suivants configurent manuellement le premier disque de données 128 Gio attaché lors de la création de la machine virtuelle. Le contrôleur de disque de la machine virtuelle détermine comment Linux expose le disque. Vous pouvez également automatiser ce processus à l’aide de cloud-init, qui est abordé dans un didacticiel ultérieur.

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

Vérifiez que vous avez identifié le disque de données correct avant de le mettre en forme. La mise en forme du disque incorrect entraîne une perte de données.

Sur une machine virtuelle avec un contrôleur SCSI, utilisez cette option lsblk pour identifier le disque de données. Les exemples suivants utilisent /dev/sdc. Remplacez sdc par le nom de l’appareil de votre disque de données.

lsblk -o NAME,HCTL,SIZE,MOUNTPOINT | grep -i "sd"

Partitionnez le disque avec parted, puis utilisez partprobe pour rendre le système d’exploitation conscient de la nouvelle table de partition.

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

Écrivez un système de fichiers sur la partition en utilisant la commande mkfs.

sudo mkfs.xfs /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       128G   52M  128G   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. Sur une machine virtuelle avec un contrôleur SCSI, la partition peut apparaître sous la forme /dev/sdc1. Sur une machine virtuelle avec un contrôleur NVMe, il peut apparaître sous la forme /dev/nvme0n2p1.

/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é

Avant de supprimer la machine virtuelle, utilisez az vm show pour stocker les ID de ressources de tous ses disques de données dans la dataDiskIds variable.

dataDiskIds=$(az vm show \
   --resource-group myResourceGroupDisk \
   --name myVM \
   --query "storageProfile.dataDisks[].managedDisk.id" \
   --output tsv)

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 les disques de données à nouveau

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

Utilisez az vm disk attach avec chaque ID de ressource pour rattacher tous les disques de données.

for dataDiskId in $dataDiskIds; do
   az vm disk attach \
      --resource-group myResourceGroupDisk \
      --vm-name myVM \
      --name "$dataDiskId"
done

É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.