PowerEdge : Accélération des performances des périphériques en mode bloc avec dm-cache basé sur un disque SSD PCIe NVMe sur RHEL

Summary: Le cache Device Mapper (dm-cache) peut être utilisé pour améliorer les performances d’un périphérique en mode bloc en effectuant une migration dynamique des données vers un périphérique plus rapide. ...

This article applies to This article does not apply to This article is not tied to any specific product. Not all product versions are identified in this article.

Instructions

Les disques SSD PCIe basés sur NVMe peuvent utiliser l’ensemble d’outils d’espace utilisateur Logical Volume Manager (LVM) pour faire office de périphérique de cache pour dm-cache.

Le cache virtuel créé par dm-cache est composé de trois périphériques physiques. (Voir Figure 1.) Le périphérique d’origine est le périphérique de stockage de destination (SSD) le plus lent. Le périphérique de cache est utilisé pour stocker les données utilisateur et le cache de métadonnées stocke les métadonnées telles que le positionnement des blocs, les indicateurs d’erreurs et d’autres données internes.
Dans ce cas, nous utilisons le même périphérique [périphérique de cache] pour les blocs de données et les métadonnées.

Schéma de dm-cache pour un stockage dans des volumes LVM 
Figure 1 : Étapes de configuration de dm-cache à l’aide des outils LVM.

 

Configuration matérielle :

Périphérique d’origine [SSD] : /dev/sda1
Cache [SSD PCIe basé sur NVMe] (bloc/méta) : /dev/nvme0n1p1 

 

Configuration du logiciel :

Système d’exploitation : RHEL 7
Outils : Espace utilisateur LVM2 pour la configuration dm-cache

 

Étapes de configuration :

Les étapes ci-dessous permettent de configurer le périphérique virtuel dm-cache à l’aide de LVM.

La sortie de chaque étape renvoie au bloc numéroté correspondant représenté à la Figure 1.

  1. Créer une partition de 100 Go sur le disque dur [périphérique d’origine]
    parted -a optimal /dev/sda mkpart primary 1 100G 
    Remarque : Cela crée /dev/sda1
  2. Créer une partition de 10 Go sur le disque SSD PCIe NVMe [périphérique de cache]
    parted -a optimal /dev/nvme0n1 mkpart primary 1 10G 
  3. Créer un groupe de volumes (cache) avec le périphérique d’origine et le périphérique de cache
    vgcreate cache /dev/sda1  /dev/nvme0n1p1 
    1. Rechercher le groupe de volumes « cache » à l’aide de vgdisplay
      [root@localhost ~]# vgdisplay
      
      --- Volume group ---
      VG Name               cache
      System ID
      Format                lvm2
      Metadata Areas        2
      Metadata Sequence No  7
      VG Access             read/write
      VG Status             resizable
      MAX LV                0
      Cur LV                2
      Open LV               0
      Max PV                0
      Cur PV                2
      Act PV                2
      VG Size               103.36 GiB
      PE Size               4.00 MiB
      Total PE              26461
      Alloc PE / Size       25399 / 99.21 GiB
      Free  PE / Size       1062 / 4.15 GiB
      VG UUID               Zd8dNe-6Kdt-7qgY-dmSN-8WHe-4wqQ-euM3Ql 
  4. Créer le volume logique du périphérique d’origine (origin_device)
    lvcreate -l 90%FREE -n origin_device cache /dev/sda1 
  5. Créer un volume logique de métadonnées de cache (cache_meta)
    lvcreate -l 5%FREE -n cache_meta cache /dev/nvme0n1p1 
  6. Créer un volume logique de données de bloc de cache (cache_block)
    lvcreate -l 80%FREE -n cache_block cache /dev/nvme0n1p1 
  7. Créer un volume logique de pool de cache en combinant des volumes logiques de bloc de cache et de métadonnées de cache (combiner les étapes 5 et 6)
    lvconvert --type cache-pool --poolmetadata cache/cache_meta cache/cache_block 
    Remarque : Le pool de cache créé porte le nom « cache_block », c’est-à-dire le même que le volume logique de données de bloc de cache créé à l’étape 6.
    1. Ce comportement est normal. Rechercher le groupe de volumes « cache » à l’aide de lvdisplay

      root@localhost ~]# lvdisplay
      --- Logical volume ---
      LV Path                /dev/cache/cache_block
      LV Name                cache_block
      VG Name                cache
      LV UUID                kWYQxP-Jdlr-JdxE-aleB-JJpj-3rmw-Q0cojx
      LV Write Access        read/write
      LV Creation host, time localhost.localdomain, 2014-06-28 09:05:32 -0400
      LV Status              available
      # open                 0
      LV Size                5.07 GiB
      Current LE             1297
      Segments               1
      Allocation             inherit
      Read ahead sectors     auto
      - currently set to     256
      Block device           253:2 
  8. Créer un volume logique de cache en liant le volume logique de pool de cache (étape 7) et le volume logique origin_device (étape 4)

    lvconvert --type cache --cachepool cache/cache_block cache/origin_device 
    1. Cela crée le périphérique de cache virtuel (dm-cache) orign_device comme indiqué ci-dessous, sous le nom dm4.
      [root@localhost ~]# ls -l /dev/cache/origin_device
      lrwxrwxrwx. 1 root root 7 Jun 28 09:13 /dev/cache/origin_device -> ../dm-4 
  9. Formater le périphérique de cache virtuel avec un système de fichiers avant de l’utiliser.

    mkfs.ext4 /dev/cache/origin_device 

 

 

 

Données de performances :

Les tests de performances effectués à l’aide de l’outil FIO montrent une amélioration considérable des opérations de lecture, d’écriture et de lecture-écriture.

Le Tableau 1 présente la sortie de l’outil FIO montrant la différence de performances et l’amélioration en pourcentage avec dmcache par rapport au disque normal (disque de rotation) et la Figure 2 montre le graphique correspondant.

Ce test est effectué avec une taille de bloc de 1 Mo en mode lecture aléatoire, écriture aléatoire et lecture/écriture aléatoires combinées (50 %), en comparant le disque dur d’origine (sda) au disque avec dmcache configuré.
 

FIO à BS = 1 M E/S par seconde
PÉRIPHÉRIQUE Read Écriture Lecture/écriture
Disque avec dm-cache 197 798 159
sda [disque d’origine] 124 118 58
Amélioration en % 58,87 % 576,20 % 174,13 %

Tableau 1 : Amélioration des performances avec dm-cache


Graphique à barres montrant la différence de performances entre les disques avec dmcache et sans dmcache 
Figure 2 : Amélioration des performances avec dm-cache.


Conclusion : dm-cache basé sur un disque SSD PCIe NVMe améliore les performances des disques durs conventionnels hérités.

Affected Products

Red Hat Enterprise Linux Version 7, Red Hat Enterprise Linux Version 9, Red Hat Enterprise Linux Version 8

Products

PowerEdge XR2, PowerEdge C6420, PowerEdge C6520, PowerEdge C6525, PowerEdge C6615, PowerEdge C6620, PowerEdge R350, PowerEdge R360, PowerEdge R440, PowerEdge R450, PowerEdge R540, PowerEdge R550, PowerEdge R640, PowerEdge R6415, PowerEdge R650 , PowerEdge R650xs, PowerEdge R6515, PowerEdge R6525, PowerEdge R660, PowerEdge R660xs, PowerEdge R6615, PowerEdge R6625, PowerEdge R740, PowerEdge R740XD, PowerEdge R740XD2, PowerEdge R7415, PowerEdge R7425, PowerEdge R750, PowerEdge R750XA, PowerEdge R750xs, PowerEdge R7515, PowerEdge R7525, PowerEdge R760, PowerEdge R760XA, PowerEdge R760xd2, PowerEdge R760xs, PowerEdge R7615, PowerEdge R7625, PowerEdge R840, PowerEdge R860, PowerEdge R940, PowerEdge R940xa, PowerEdge R960, PowerEdge T350, PowerEdge T360, PowerEdge T440, PowerEdge T550, PowerEdge T560, PowerEdge T640, PowerEdge XE2420, PowerEdge XE7420, PowerEdge XE7440, PowerEdge XE8545, PowerEdge XE8640, PowerEdge XE9640, PowerEdge XE9680, PowerEdge XR11, PowerEdge XR12, PowerEdge XR4510c, PowerEdge XR4520c, PowerEdge XR5610, PowerEdge XR7620, PowerEdge XR8610t, PowerEdge XR8620t ...
Article Properties
Article Number: 000148672
Article Type: How To
Last Modified: 08 Apr 2025
Version:  5
Find answers to your questions from other Dell users
Support Services
Check if your device is covered by Support Services.