Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
S’applique à : ✔️ Machines virtuelles Linux ✔️ Groupes identiques flexibles
Cet article traite du développement des disques de système d’exploitation et des disques de données pour une machine virtuelle Linux. Vous pouvez ajouter des disques de données pour fournir davantage d’espace de stockage, et vous pouvez également développer un disque de données existant. La taille du disque dur virtuel par défaut pour le système d’exploitation est généralement de 30 Go sur une machine virtuelle Linux dans Azure. Cet article décrit l’extension de disques de système d’exploitation ou de disques de données. Vous ne pouvez pas développer la taille des volumes en bandes.
Ce disque du système d’exploitation a une capacité maximale de 4 095 Gio. Cependant, de nombreux systèmes d’exploitation sont partitionnés avec un enregistrement de démarrage principal (MBR) par défaut. Le MBR limite la taille utilisable à 2 Tio. Si vous avez besoin de plus de 2 Tio, envisagez d’attacher des disques de données pour le stockage de données. Si vous devez stocker des données sur le disque du système d’exploitation et exiger un espace supplémentaire, convertissez-les en table de partition GUID (GPT).
Avertissement
Assurez-vous toujours que votre système de fichiers est dans un état sain et que votre type de table de partition de disque (GPT ou MBR) peut prendre en charge la nouvelle taille. Sauvegardez vos données avant d’effectuer des opérations d’extension de disque. Pour plus d’informations, consultez le démarrage rapide de Sauvegarde Azure.
Identifier un objet de disque de données Azure au sein du système d’exploitation
Lorsque vous développez un disque de données comportant plusieurs disques de données sur la machine virtuelle, il peut être difficile de lier les numéros d’unité logique Azure aux appareils Linux. Si le disque du système d’exploitation a besoin d’une extension, il est clairement étiqueté dans le portail Azure comme disque du système d’exploitation.
Commencez par identifier la relation entre l’utilisation du disque, le point de montage et l’appareil, avec la commande df
.
df -Th
Filesystem Type Size Used Avail Use% Mounted on
/dev/sda1 xfs 97G 1.8G 95G 2% /
<truncated>
/dev/sdd1 ext4 32G 30G 727M 98% /opt/db/data
/dev/sde1 ext4 32G 49M 30G 1% /opt/db/log
Ici, vous pouvez voir, par exemple, que le /opt/db/data
système de fichiers est presque plein et se trouve sur la /dev/sdd1
partition. La sortie de df
indique le chemin d’accès de l’appareil, que le disque soit monté par le chemin d’accès de l’appareil ou par l’UUID (préféré) dans le fstab. Notez la colonne Type, qui indique le format du système de fichiers. Le format est important plus tard.
Localisez maintenant l’unité logique qui correspond à /dev/sdd
en examinant le contenu de /dev/disk/azure/scsi1
. La sortie de la commande suivante ls
indique que l’appareil connu sous le nom /dev/sdd
de système d’exploitation Linux se trouve LUN1
lorsque vous regardez dans le portail Azure.
sudo ls -alF /dev/disk/azure/scsi1/
total 0
drwxr-xr-x. 2 root root 140 Sep 9 21:54 ./
drwxr-xr-x. 4 root root 80 Sep 9 21:48 ../
lrwxrwxrwx. 1 root root 12 Sep 9 21:48 lun0 -> ../../../sdc
lrwxrwxrwx. 1 root root 12 Sep 9 21:48 lun1 -> ../../../sdd
lrwxrwxrwx. 1 root root 13 Sep 9 21:48 lun1-part1 -> ../../../sdd1
lrwxrwxrwx. 1 root root 12 Sep 9 21:54 lun2 -> ../../../sde
lrwxrwxrwx. 1 root root 13 Sep 9 21:54 lun2-part1 -> ../../../sde1
Étendre un disque managé Azure
Étendre sans temps d’arrêt
Vous pouvez étendre vos disques managés sans libérer votre machine virtuelle. Le paramètre de cache hôte de votre disque ne change pas si vous pouvez ou non développer un disque de données sans libérer votre machine virtuelle.
Cette fonctionnalité présente les limitations suivantes.
Important
Cette limitation ne s’applique pas aux disques Ssd Premium v2 ou Ultra.
Si un disque HDD standard, SSD Standard ou Ssd Premium est de 4 Tio ou moins, libérez votre machine virtuelle et détachez le disque avant de l’étendre au-delà de 4 Tio. Si l’un de ces types de disque est déjà supérieur à 4 Tio, vous pouvez l’étendre sans libérer la machine virtuelle ni détacher le disque.
- Est pris en charge uniquement pour les disques de données.
- N’est pas pris en charge pour les disques partagés.
- Doit être installé et utiliser l’une des options suivantes :
- La plus récente interface de ligne de commande Azure.
- Dernier module Azure PowerShell.
- Le portail Azure.
- Modèle Azure Resource Manager avec une version d’API qui est
2021-04-01
ou ultérieure.
- N’est pas disponible sur certaines machines virtuelles classiques. Utilisez ce script pour obtenir la liste des produits de machine virtuelle classiques qui prennent en charge l’expansion sans temps d’arrêt.
Étendre avec des disques Ultra et des SSD Premium v2
Le développement de disques Ultra et de disques SSD Premium v2 sans temps d’arrêt présente les limitations supplémentaires suivantes :
- Vous ne pouvez pas développer un disque pendant qu’une copie en arrière-plan des données se produit également sur ce disque. Par exemple, lorsqu’un disque est en cours de remplissage à partir d’instantanés.
- Vous pouvez développer des machines virtuelles à l’aide de contrôleurs NVMe avec des disques Ultra ou des disques SSD Premium v2 sans temps d’arrêt avec cette préversion publique. Étant donné que cette version est une préversion publique, vous devez l’utiliser uniquement pour tester la fonctionnalité de développement sans temps d’arrêt. Ne développez pas les machines virtuelles en production.
Dans les régions suivantes, vous pouvez développer des machines virtuelles qui utilisent des contrôleurs NVMe avec des disques Ultra ou des disques SSD Premium v2 sans temps d’arrêt. Utilisez le portail Azure, Azure CLI ou le module Azure PowerShell :
- Asie du Sud-Est
- Brésil Sud
- Centre du Canada
- Allemagne Centre-Ouest
- Inde centrale (actuellement non prise en charge sur les machines virtuelles V6)
Dans les régions suivantes, vous pouvez développer des machines virtuelles qui utilisent des contrôleurs NVMe avec des disques Ultra ou des disques SSD Premium v2 sans temps d’arrêt. Utilisez uniquement Azure CLI ou un module Azure PowerShell. Vous ne pouvez pas utiliser le portail Azure :
- Asie de l’Est
- USA Centre-Ouest (actuellement non pris en charge sur les machines virtuelles V6)
Prévoyez jusqu’à dix minutes pour que la taille correcte se reflète dans les machines virtuelles Windows et Linux. Pour les machines virtuelles Linux, vous devez effectuer une fonction de relance d’analyse Linux. Pour une machine virtuelle Windows qui n’a pas de charge de travail, vous devez effectuer une nouvelle analyse Windows. Vous pouvez réanalyser immédiatement, mais si le délai est inférieur à 10 minutes, vous devrez peut-être réanalyser à nouveau pour afficher la taille correcte.
Agrandir un disque Azure managé
Vérifiez que vous avez installé la dernière version d’Azure CLI et que vous êtes connecté à un compte Azure avec la commande az login.
Cet article nécessite une machine virtuelle existante dans Azure avec au moins un disque de données attaché et préparé. Si vous n’avez pas encore de machine virtuelle à utiliser, consultez Créer et préparer une machine virtuelle avec des disques de données.
Dans les exemples suivants, remplacez les noms de paramètres d’espace réservé comme myResourceGroup et myVM par vos propres valeurs.
Important
Si votre disque répond aux exigences de Expand sans temps d’arrêt, vous pouvez ignorer les étapes 1 et 3.
La réduction d’un disque existant n’est pas prise en charge et peut entraîner une perte de données.
Après avoir étendu les disques, étendez le volume dans le système d’exploitation pour tirer parti de l'espace disque supplémentaire.
Il est impossible d’effectuer des opérations sur les disques durs virtuels avec la machine virtuelle en cours d’exécution. Libérez la machine virtuelle avec la commande az vm deallocate. L’exemple suivant libère la machine virtuelle nommée myVM dans le groupe de ressources nommé myResourceGroup :
az vm deallocate --resource-group myResourceGroup --name myVM
La machine virtuelle doit être libérée pour développer le disque dur virtuel. L’arrêt de la machine virtuelle avec
az vm stop
ne libère pas les ressources de calcul. Pour publier les ressources de calcul, utilisezaz vm deallocate
.Affichez la liste des disques managés dans un groupe de ressources avec la commande az disk list. L’exemple suivant montre une liste de disques managés dans le groupe de ressources nommé myResourceGroup :
az disk list \ --resource-group myResourceGroup \ --query '[*].{Name:name,size:diskSizeGB,Tier:sku.tier}' \ --output table
Développez le disque requis avec la commande az disk update. L’exemple ci-après étend la taille du disque managé nommé myDataDisk à 200 Go :
az disk update \ --resource-group myResourceGroup \ --name myDataDisk \ --size-gb 200
Lorsque vous étendez un disque managé, la taille mise à jour est arrondie à la taille de disque managé la plus proche.
Démarrez votre machine virtuelle avec az vm start. L’exemple suivant démarre la machine virtuelle nommée myVM dans le groupe de ressources nommé myResourceGroup :
az vm start --resource-group myResourceGroup --name myVM
Étendre une partition de disque et un système de fichiers
Vous pouvez utiliser de nombreux outils pour effectuer le redimensionnement de partition. Les outils détaillés dans le reste de cet article sont les mêmes que certains processus automatisés utilisent, tels que cloud-init. Comme décrit ici, l’outil growpart
avec le gdisk
package fournit une compatibilité universelle avec les disques GPT, car les versions antérieures de certains outils comme fdisk
n’ont pas pris en charge GPT.
Détecter une taille de disque modifiée
Si vous avez utilisé la procédure mentionnée précédemment pour développer un disque de données sans temps d’arrêt, la taille du disque signalée ne change pas tant que l’appareil n’est pas rescanné. La nouvelle analyse se produit normalement uniquement pendant le processus de démarrage. Pour appeler cette nouvelle analyse à la demande, utilisez la procédure suivante. Lorsque vous utilisez les méthodes de cet article, notez que dans cet exemple, le disque de données est actuellement /dev/sda
et a été redimensionné de 256 Gio à 512 Gio.
Identifier la taille actuellement reconnue sur la première ligne de sortie à partir de
fdisk -l /dev/sda
:sudo fdisk -l /dev/sda
Disk /dev/sda: 256 GiB, 274877906944 bytes, 536870912 sectors Disk model: Virtual Disk Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 4096 bytes I/O size (minimum/optimal): 4096 bytes / 4096 bytes Disklabel type: dos Disk identifier: 0x43d10aad Device Boot Start End Sectors Size Id Type /dev/sda1 2048 536870878 536868831 256G 83 Linux
Insérez un caractère
1
dans le fichier de réanalyse de cet appareil. Notez la référence àsda
dans l’exemple. L’identificateur de disque change si un autre appareil disque est redimensionné.echo 1 | sudo tee /sys/class/block/sda/device/rescan
Vérifiez que la nouvelle taille de disque est désormais reconnue.
sudo fdisk -l /dev/sda
Disk /dev/sda: 512 GiB, 549755813888 bytes, 1073741824 sectors Disk model: Virtual Disk Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 4096 bytes I/O size (minimum/optimal): 4096 bytes / 4096 bytes Disklabel type: dos Disk identifier: 0x43d10aad Device Boot Start End Sectors Size Id Type /dev/sda1 2048 536870878 536868831 256G 83 Linux
Le reste de cet article utilise le disque du système d’exploitation pour obtenir des exemples de procédure afin d’augmenter la taille d’un volume au niveau du système d’exploitation. Si le disque développé est un disque de données, utilisez les instructions précédentes pour identifier l’appareil de disque de données. Suivez ces instructions en tant que recommandations. Remplacez l’appareil de disque de données (par exemple, /dev/sda
), les numéros de partition, les noms de volumes, les points de montage et les formats de système de fichiers, le cas échéant.
Considérez toutes les instructions de système d’exploitation Linux comme génériques et qu’elle peut s’appliquer à n’importe quelle distribution, mais elle correspond généralement aux conventions de l’éditeur de la Place de marché nommée. Consultez la documentation Red Hat pour connaître les exigences du package sur toute distribution basée sur Red Hat ou qui prétend la compatibilité red Hat.
Augmenter la taille du disque du système d’exploitation
Les instructions suivantes s’appliquent aux distributions Linux approuvées.
Avant de continuer, effectuez une copie complète de sauvegarde de votre machine virtuelle ou, au minimum, prenez un instantané de votre disque de système d’exploitation.
Sur Ubuntu 16.x et versions ultérieures, la partition racine du disque du système d’exploitation et des systèmes de fichiers est automatiquement développée pour utiliser tous les espaces contigus libres sur le disque racine par cloud-init. Une petite quantité d’espace libre doit être disponible pour l’opération de redimensionnement. Dans ce cas, la séquence doit :
- Augmentez la taille du disque du système d’exploitation comme décrit précédemment.
- Redémarrez la machine virtuelle, puis accédez à la machine virtuelle à l’aide du compte d’utilisateur racine .
- Vérifiez que le disque du système d’exploitation affiche désormais une taille de système de fichiers accrue.
Comme indiqué dans l’exemple suivant, le disque du système d’exploitation a été redimensionné à 100 Go depuis le portail. Le /dev/sda1
système de fichiers monté sur /
affiche désormais 97 Go.
df -Th
Filesystem Type Size Used Avail Use% Mounted on
udev devtmpfs 314M 0 314M 0% /dev
tmpfs tmpfs 65M 2.3M 63M 4% /run
/dev/sda1 ext4 97G 1.8G 95G 2% /
tmpfs tmpfs 324M 0 324M 0% /dev/shm
tmpfs tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs tmpfs 324M 0 324M 0% /sys/fs/cgroup
/dev/sda15 vfat 105M 3.6M 101M 4% /boot/efi
/dev/sdb1 ext4 20G 44M 19G 1% /mnt
tmpfs tmpfs 65M 0 65M 0% /run/user/1000
user@ubuntu:~#
Étendre sans temps d’arrêt de la prise en charge de la référence SKU de machine virtuelle classique
Si vous utilisez une référence SKU de machine virtuelle classique, elle peut ne pas prendre en charge le développement de disques sans temps d’arrêt.
Utilisez le script PowerShell suivant pour déterminer les références SKU de machine virtuelle disponibles :
Connect-AzAccount
$subscriptionId="yourSubID"
$location="desiredRegion"
Set-AzContext -Subscription $subscriptionId
$vmSizes=Get-AzComputeResourceSku -Location $location | where{$_.ResourceType -eq 'virtualMachines'}
foreach($vmSize in $vmSizes){
foreach($capability in $vmSize.Capabilities)
{
if(($capability.Name -eq "EphemeralOSDiskSupported" -and $capability.Value -eq "True") -or ($capability.Name -eq "PremiumIO" -and $capability.Value -eq "True") -or ($capability.Name -eq "HyperVGenerations" -and $capability.Value -match "V2"))
{
$vmSize.Name
}
}
}