PowerEdge: prestazioni del dispositivo a blocchi più veloci con dm-cache basato su SSD PCIe NVMe su RHEL

Summary: La cache di Device Mapper (dm-cache) può essere utilizzata per migliorare le prestazioni di un dispositivo a blocchi eseguendo la migrazione dinamica dei dati a un dispositivo più rapido. ...

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

Le unità SSD PCIe basate su NVMe possono fungere da dispositivo di memoria cache per dm-cache utilizzando il set di strumenti dello spazio utente Logical Volume Manager (LVM).

La memoria cache virtuale creata da dm-cache è costituita da tre dispositivi fisici. Fare riferimento alla Figura 1. Il dispositivo Origin è il dispositivo di storage di destinazione (HDD) più lento. Il dispositivo Cache viene utilizzato per archiviare i dati dell'utente e la meta cache archivia i metadati come il posizionamento dei blocchi, i flag di modifica e altri dati interni.
In questo caso, utilizziamo lo stesso dispositivo [dispositivo Cache] sia per i blocchi di dati che per i metadati.

Diagramma di dmcache nello storage dei volumi LVM 
Figura 1. Passaggi per impostare e configurare dm-cache utilizzando gli strumenti LVM.

 

Configurazione hardware:

Dispositivo Origin [HDD]: /dev/sda1
Dispositivo Cache [unità SSD PCIe basata su NVMe] (blocchi/meta): /dev/nvme0n1p1 

 

Configurazione software:

Sistema operativo: RHEL 7
Strumenti: strumenti dello spazio utente LVM2 per la configurazione di dm-cache

 

Procedura di configurazione:

Di seguito sono riportati i passaggi per configurare dm-cache del dispositivo virtuale mediante LVM.

L'output di ogni passaggio viene mappato al blocco con la numerazione menzionata nella Figura 1.

  1. Creare una partizione da 100 GB sul disco rigido [dispositivo Origin]
    parted -a optimal /dev/sda mkpart primary 1 100G 
    Nota: in questo modo si crea /dev/sda1
  2. Creare una partizione da 10 GB sul disco SSD PCIe NVMe [dispositivo Cache]
    parted -a optimal /dev/nvme0n1 mkpart primary 1 10G 
  3. Creare un gruppo di volumi (cache) con i dispositivi Origin e Cache
    vgcreate cache /dev/sda1  /dev/nvme0n1p1 
    1. Verificare la presenza del gruppo di volumi "cache" utilizzando 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. Creare il volume logico del dispositivo Origin (origin_device)
    lvcreate -l 90%FREE -n origin_device cache /dev/sda1 
  5. Creare un volume logico di metadati cache (cache_meta)
    lvcreate -l 5%FREE -n cache_meta cache /dev/nvme0n1p1 
  6. Creare un volume logico di dati dei blocchi cache (cache_block)
    lvcreate -l 80%FREE -n cache_block cache /dev/nvme0n1p1 
  7. Creare un volume logico del pool di cache combinando volumi logici di blocchi di cache e metadati di cache (combinando i passaggi 5 e 6)
    lvconvert --type cache-pool --poolmetadata cache/cache_meta cache/cache_block 
    Nota: il pool di cache creato ha lo stesso nome di "cache_block", ovvero il nome del volume logico di dati dei blocchi cache creato nel passaggio 6.
    1. Si tratta del normale comportamento dello strumento. Verificare la presenza del gruppo di volumi "cache" utilizzando 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. Creare un volume logico di cache collegando il volume logico del pool di cache (passaggio 7) e il volume logico di origin_device (passaggio 4)

    lvconvert --type cache --cachepool cache/cache_block cache/origin_device 
    1. In questo modo viene creato il dispositivo cache virtuale (dm-cache) orign_device , come mostrato di seguito con la denominazione 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. Formattare il dispositivo cache virtuale con un file system e utilizzarlo.

    mkfs.ext4 /dev/cache/origin_device 

 

 

 

Dati sulle prestazioni:

I test delle prestazioni eseguiti utilizzando lo strumento FIO mostrano un notevole miglioramento delle operazioni combinate di lettura, scrittura e lettura-scrittura.

La Tabella 1 mostra l'output dello strumento FIO della differenza di prestazioni e del miglioramento in percentuale con dmcache rispetto all'unità normale (unità rotazionale) e la Figura 2 mostra il grafico corrispondente.

Il test viene eseguito con blocchi di dimensioni 1M per lettura casuale, scrittura casuale e combinazione lettura-scrittura casuale (50%) sul disco rigido originale (sda) e sull'unità con dmcache configurato.
 

FIO con dim. blocchi = 1M IOPS
DISPOSITIVO Read Write Lettura/Scrittura
Unità con dm-cache 197 798 159
sda [unità originale] 124 118 58
Miglioramento in % 58,87% 576,20% 174,13%

Tabella 1. Miglioramento delle prestazioni con dm-cache


Grafico a barre che mostra la differenza di prestazioni tra i dischi con dmcache e senza 
Figura 2. Miglioramento delle prestazioni con dm-cache.


Conclusione: dm-cache basato su SSD PCIe NVMe migliora in misura maggiore le prestazioni dei dischi rigidi legacy basati su spindle.

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.