Partager via


Configurer LVM sur une machine virtuelle Linux dans Azure

Ce document explique comment configurer Logical Volume Manager (LVM) dans votre machine virtuelle Azure. La machine virtuelle LVM peut être utilisée sur le disque du système d’exploitation ou sur les disques de données des machines virtuelles Azure. Toutefois, par défaut, la plupart des images cloud n’auront pas la machine virtuelle LVM configurée sur le disque du système d’exploitation. Les étapes ci-dessous se concentrent sur la configuration de LVM pour vos disques de données.

Volumes logiques linéaires ou en bandes

LVM peut être utilisé pour combiner un certain nombre de disques physiques en un seul volume de stockage. Par défaut, LVM crée généralement des volumes logiques linéaires, ce qui signifie que le stockage physique est concaténé ensemble. Dans ce cas, les opérations de lecture/écriture ne sont généralement envoyées qu’à un seul disque. En revanche, nous pouvons également créer des volumes logiques à bandes où les lectures et les écritures sont distribuées sur plusieurs disques contenus dans le groupe de volumes (comme RAID0). Pour des raisons de performances, vous voudrez probablement entrelacer vos volumes logiques afin que les lectures et les écritures utilisent tous vos disques de données connectés.

Ce document explique comment combiner plusieurs disques de données dans un seul groupe de volumes, puis créer un volume logique à bandes. Les étapes ci-dessous sont généralisées pour fonctionner avec la plupart des distributions. Dans la plupart des cas, les utilitaires et les flux de travail pour la gestion de LVM sur Azure ne sont pas fondamentalement différents des autres environnements. Comme d’habitude, consultez également votre fournisseur Linux pour obtenir de la documentation et des bonnes pratiques pour l’utilisation de LVM avec votre distribution particulière.

Attachement de disques de données

L’un souhaite généralement démarrer avec deux disques de données vides ou plus lors de l’utilisation de LVM. En fonction de vos besoins en E/S, vous pouvez choisir d’attacher des disques stockés dans notre stockage Standard, avec jusqu’à 500 E/S/ps par disque ou notre stockage Premium avec jusqu’à 5 000 E/S par disque. Cet article ne décrit pas en détail comment approvisionner et attacher des disques de données à une machine virtuelle Linux. Consultez l’article Microsoft Azure attacher un disque pour obtenir des instructions détaillées sur l’attachement d’un disque de données vide à une machine virtuelle Linux sur Azure.

Installer les utilitaires LVM

  • Ubuntu

    sudo apt-get update
    sudo apt-get install lvm2
    
  • RHEL, CentOS & Oracle Linux

    sudo yum install lvm2
    
  • SLES 12 et openSUSE

    sudo zypper install lvm2
    
  • SLES 11

    sudo zypper install lvm2
    

    Sur SLES11, vous devez également modifier /etc/sysconfig/lvm et définir LVM_ACTIVATED_ON_DISCOVERED sur « enable » :

    LVM_ACTIVATED_ON_DISCOVERED="enable" 
    

Configurer LVM

Dans ce guide, nous partons du principe que vous avez attaché trois disques de données, que nous allons désigner comme /dev/sdc, /dev/sdd et /dev/sde. Ces chemins peuvent ne pas correspondre aux noms de chemins d’accès de disque dans votre machine virtuelle. Vous pouvez exécuter «sudo fdisk -l » ou une commande similaire pour répertorier vos disques disponibles.

  1. Préparez les volumes physiques :

    sudo pvcreate /dev/sd[cde]
    Physical volume "/dev/sdc" successfully created
    Physical volume "/dev/sdd" successfully created
    Physical volume "/dev/sde" successfully created
    
  2. Créez un groupe de volumes. Dans cet exemple, nous appelons le groupe data-vg01de volumes :

    sudo vgcreate data-vg01 /dev/sd[cde]
    Volume group "data-vg01" successfully created
    
  3. Créez le ou les volumes logiques. La commande ci-dessous crée un seul volume logique appelé data-lv01 pour couvrir l’ensemble du groupe de volumes, mais notez qu’il est également possible de créer plusieurs volumes logiques dans le groupe de volumes.

    sudo lvcreate --extents 100%FREE --stripes 3 --name data-lv01 data-vg01
    Logical volume "data-lv01" created.
    
  4. Mettre en forme le volume logique

    sudo mkfs -t ext4 /dev/data-vg01/data-lv01
    

    Remarque

    Avec SLES11, utilisez -t ext3 plutôt qu’ext4. SLES11 prend uniquement en charge l’accès en lecture seule aux systèmes de fichiers ext4.

Ajouter le nouveau système de fichiers à /etc/fstab

Important

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.

  1. Créez le point de montage souhaité pour votre nouveau système de fichiers, par exemple :

    sudo mkdir /data
    
  2. Rechercher le chemin du volume logique

    lvdisplay
    --- Logical volume ---
    LV Path                /dev/data-vg01/data-lv01
    ....
    
  3. Ouvrez /etc/fstab dans un éditeur de texte et ajoutez une entrée pour le nouveau système de fichiers, par exemple :

    /dev/data-vg01/data-lv01  /data  ext4  defaults  0  2
    

    Ensuite, enregistrez et fermez /etc/fstab.

  4. Testez que l’entrée /etc/fstab est correcte :

    sudo mount -a
    

    Si cette commande génère un message d’erreur, vérifiez la syntaxe dans le /etc/fstab fichier.

    Exécutez ensuite la mount commande pour vous assurer que le système de fichiers est monté :

    mount
    ......
    /dev/mapper/data--vg01-data--lv01 on /data type ext4 (rw)
    
  5. (Facultatif) Paramètres de démarrage sécurisés dans /etc/fstab

    De nombreuses distributions incluent soit les paramètres de montage nobootwait soit les paramètres de montage nofail, qui peuvent être ajoutés au fichier /etc/fstab. Ces paramètres permettent des échecs lors du montage d’un système de fichiers particulier et permettent au système Linux de continuer à démarrer même s’il n’est pas en mesure de monter correctement le système de fichiers RAID. Pour plus d’informations sur ces paramètres, reportez-vous à la documentation de votre distribution.

    Exemple (Ubuntu) :

    /dev/data-vg01/data-lv01  /data  ext4  defaults,nobootwait  0  2
    

Prise en charge de TRIM/UNMAP

Certains noyaux Linux prennent en charge les opérations TRIM/UNMAP pour ignorer les blocs inutilisés sur le disque. Ces opérations sont principalement utiles dans le stockage standard pour informer Azure que les pages supprimées ne sont plus valides et peuvent être ignorées. L’abandon des pages peut réduire les coûts si vous créez des fichiers volumineux, puis les supprimez.

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 :

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

    /dev/data-vg01/data-lv01  /data  ext4  defaults,discard  0  2
    
  • Dans certains cas, l’option discard peut avoir des implications sur les performances. 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, CentOS & Oracle Linux

    # sudo yum install util-linux
    # sudo fstrim /datadrive