Édition

Partage via


Utiliser le portail pour attacher un disque de données à une machine virtuelle Linux

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

Cet article vous explique comment attacher des disques nouveaux et existants à une machine virtuelle Linux par le biais du portail Azure. Vous pouvez également attacher un disque de données à une machine virtuelle Windows dans le Portail Azure.

Prérequis

Avant d’attacher des disques à votre machine virtuelle, lisez les conseils suivants :

  • La taille de la machine virtuelle détermine le nombre de disques de données que vous pouvez attacher . Pour en savoir plus, voir la rubrique Tailles de machines virtuelles.

Recherchez la machine virtuelle.

Effectuez les étapes suivantes :

  1. Accédez au Portail Azure pour rechercher la machine virtuelle. Recherchez et sélectionnez Machines virtuelles.

  2. Sélectionnez la machine virtuelle à laquelle vous souhaitez attacher le disque de la liste.

  3. Dans la page Machines virtuelles, sous Paramètres, sélectionnez Disques.

Attacher un nouveau disque

Effectuez les étapes suivantes :

  1. Dans le volet Disques, sous Disques de données, sélectionnez Créer et attacher un disque.

  2. Entrez un nom pour votre disque géré. Examinez les paramètres par défaut et mettez à jour Type de stockage, Taille (Gio) , Chiffrement et Mise en cache de l'hôte, si nécessaire.

    Capture d’écran de la vérification des paramètres de disque.

  3. Lorsque vous avez terminé, sélectionnez Enregistrer en haut de la page pour créer le disque managé et mettre à jour la configuration de la machine virtuelle.

Association d'un disque existant

Effectuez les étapes suivantes :

  1. Dans le volet Disques, sous Disques de données, sélectionnez Attacher des disques existants.

  2. Sélectionnez le menu déroulant Nom du disque, puis un disque dans la liste des disques managés disponibles.

  3. Sélectionnez Enregistrer pour attacher le disque géré existant et mettre à jour la configuration de la machine virtuelle :

Se connecter à la machine virtuelle Linux afin de monter le nouveau disque

Vous devez exécuter SSH dans votre machine virtuelle Azure afin de partitionner, de formater et de monter votre nouveau disque pour que votre machine virtuelle Linux puisse l’utiliser. Pour plus d’informations, consultez l’article Utilisation de SSH avec Linux sur Azure. L’exemple suivant établit une connexion à une machine virtuelle à l’aide de l’adresse IP publique 10.123.123.25 avec le nom d’utilisateur azureuser :

ssh azureuser@10.123.123.25

Recherche du disque

Une fois connecté à votre machine virtuelle, vous devez rechercher le disque. Dans cet exemple, nous utilisons lsblk pour répertorier les disques.

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

The output is similar to the following example:

sda     0:0:0:0      30G
├─sda1             29.9G /
├─sda14               4M
└─sda15             106M /boot/efi
sdb     1:0:1:0      14G
└─sdb1               14G /mnt
sdc     3:0:0:0       4G

In this example, the disk that was added was sdc. It's a LUN 0 and is 4GB.

For a more complex example, here's what multiple data disks look like in the portal:

Screenshot of multiple disks shown in the portal.

In the image, you can see that there are 3 data disks: 4 GB on LUN 0, 16GB at LUN 1, and 32G at LUN 2.

Here's what that might look like using lsblk:

sda     0:0:0:0      30G
├─sda1             29.9G /
├─sda14               4M
└─sda15             106M /boot/efi
sdb     1:0:1:0      14G
└─sdb1               14G /mnt
sdc     3:0:0:0       4G
sdd     3:0:0:1      16G
sde     3:0:0:2      32G

From the output of lsblk you can see that the 4GB disk at LUN 0 is sdc, the 16GB disk at LUN 1 is sdd, and the 32G disk at LUN 2 is sde.

Prepare a new empty disk

Important

If you are using an existing disk that contains data, skip to mounting the disk. The following instructions will delete data on the disk.

If you're attaching a new disk, you need to partition the disk.

The parted utility can be used to partition and to format a data disk.

  • Use the latest version parted that is available for your distro.
  • If the disk size is 2 tebibytes (TiB) or larger, you must use GPT partitioning. If disk size is under 2 TiB, then you can use either MBR or GPT partitioning.

The following example uses parted on /dev/sdc, which is where the first data disk will typically be on most VMs. Replace sdc with the correct option for your disk. We're also formatting it using the XFS filesystem.

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

Use the partprobe utility to make sure the kernel is aware of the new partition and filesystem. Failure to use partprobe can cause the blkid or lslbk commands to not return the UUID for the new filesystem immediately.

Mount the disk

Create a directory to mount the file system using mkdir. The following example creates a directory at /datadrive:

sudo mkdir /datadrive

Use mount to then mount the filesystem. The following example mounts the /dev/sdc1 partition to the /datadrive mount point:

sudo mount /dev/sdc1 /datadrive

To ensure that the drive is remounted automatically after a reboot, it must be added to the /etc/fstab file. It's also highly recommended that the UUID (Universally Unique Identifier) is used in /etc/fstab to refer to the drive rather than just the device name (such as, /dev/sdc1). If the OS detects a disk error during boot, using the UUID avoids the incorrect disk being mounted to a given location. Remaining data disks would then be assigned those same device IDs. To find the UUID of the new drive, use the blkid utility:

sudo blkid

The output looks similar to the following example:

/dev/sda1: LABEL="cloudimg-rootfs" UUID="11111111-1b1b-1c1c-1d1d-1e1e1e1e1e1e" TYPE="ext4" PARTUUID="1a1b1c1d-11aa-1234-1a1a1a1a1a1a"
/dev/sda15: LABEL="UEFI" UUID="BCD7-96A6" TYPE="vfat" PARTUUID="1e1g1cg1h-11aa-1234-1u1u1a1a1u1u"
/dev/sdb1: UUID="22222222-2b2b-2c2c-2d2d-2e2e2e2e2e2e" TYPE="ext4" TYPE="ext4" PARTUUID="1a2b3c4d-01"
/dev/sda14: PARTUUID="2e2g2cg2h-11aa-1234-1u1u1a1a1u1u"
/dev/sdc1: UUID="33333333-3b3b-3c3c-3d3d-3e3e3e3e3e3e" TYPE="xfs" PARTLABEL="xfspart" PARTUUID="c1c2c3c4-1234-cdef-asdf3456ghjk"

Note

Improperly editing the /etc/fstab file could result in an unbootable system. If unsure, refer to the distribution's documentation for information on how to properly edit this file. You should create a backup of the /etc/fstab file is created before editing.

Next, open the /etc/fstab file in a text editor. Add a line to the end of the file, using the UUID value for the /dev/sdc1 device that was created in the previous steps, and the mountpoint of /datadrive. Using the example from this article, the new line would look like the following:

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

When you're done editing the file, save and close the editor.

Note

Later removing a data disk without editing fstab could cause the VM to fail to boot. Most distributions provide either the nofail and/or nobootwait fstab options. These options allow a system to boot even if the disk fails to mount at boot time. Consult your distribution's documentation for more information on these parameters.

The nofail option ensures that the VM starts even if the filesystem is corrupt or the disk does not exist at boot time. Without this option, you may encounter behavior as described in Cannot SSH to Linux VM due to FSTAB errors

Vérifier le disque

Vous pouvez maintenant utiliser lsblk à nouveau pour voir le disque et le point de montage.

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

Vous obtenez un résultat semblable à ce qui suit :

sda     0:0:0:0      30G
├─sda1             29.9G /
├─sda14               4M
└─sda15             106M /boot/efi
sdb     1:0:1:0      14G
└─sdb1               14G /mnt
sdc     3:0:0:0       4G
└─sdc1                4G /datadrive

Vous pouvez constater que sdc est maintenant monté sur /datadrive.

Prise en charge de TRIM/UNMAP pour Linux dans Azure

Certains noyaux Linux prennent en charge les opérations TRIM/UNMAP pour ignorer les blocs inutilisés sur le disque. Cette fonctionnalité est particulièrement utile pour informer Azure que des pages supprimées ne sont plus valides et peuvent être ignorées. Cette fonctionnalité permet d’économiser de l’argent sur les disques qui sont facturés en fonction de la quantité de stockage consommée, comme les disques standard non managés et les captures instantanées de disque.

Il existe deux façons d’activer la prise en charge de TRIM sur votre machine virtuelle Linux. Comme d’habitude, consultez votre distribution pour connaître l’approche recommandée :

  1. Utilisez l’option de montage discard dans /etc/fstab, par exemple :

    ```config
    UUID=33333333-3b3b-3c3c-3d3d-3e3e3e3e3e3e   /datadrive   xfs   defaults,discard   1   2
    ```
    
  2. Dans certains cas, l’option discard peut avoir un impact sur la performance. Vous pouvez également exécuter la commande fstrim manuellement à partir de la ligne de commande ou l’ajouter à votre crontab pour l’exécuter régulièrement :

    Ubuntu

    sudo apt-get install util-linux
    sudo fstrim /datadrive
    

    RHEL

    sudo yum install util-linux
    sudo fstrim /datadrive
    

    SUSE

    sudo zypper install util-linux
    sudo fstrim /datadrive