PowerEdge: Schnellere Blockgeräteleistung mit NVMe PCIe SSD-basiertem DM-Cache auf RHEL

Summary: Der Device Mapper-Cache (DM-Cache) kann verwendet werden, um die Leistung eines Blockgeräts zu verbessern, indem Daten dynamisch auf ein schnelleres Gerät migriert werden.

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

NVMe-basierte PCIe-SSDs können mithilfe der LVM-Tools (User Space Toolset Logical Volume Manager) als Cache-Gerät für DM-Cache fungieren.

Der von DM-Cache erstellte virtuelle Cache besteht aus drei physischen Geräten. (Abb. 1 beachten). Das Ursprungsgerät ist das langsamere Zielspeichergerät (HDD). Das Cache-Gerät wird verwendet, um die Nutzerdaten zu speichern, und der Metacache speichert die Metadaten wie Blockplatzierung, Dirty Flags und andere interne Daten.
In diesem Fall verwenden wir dasselbe Gerät [Cache-Gerät] sowohl für Datenblöcke als auch für Metadaten.

Diagramm des DM-Cache im Speicher von LVM-Volumes 
Abbildung 1: Schritte zum Einrichten und Konfigurieren von DM-Cache mithilfe von LVM-Tools.

 

Hardware-Setup:

Ursprungsgerät [HDD]: /dev/sda1
Cache-Gerät [NVMe-basierte PCIe-SSD] (Block/Meta): /dev/nvme0n1p1 

 

Software-Setup:

Betriebssystem: RHEL 7
Tools: LVM2-Userspace-Tools für die DM-Cache-Konfiguration

 

Konfigurationsschritte:

Im Folgenden werden die Schritte zum Konfigurieren des DM-Cache des virtuellen Geräts mithilfe von LVM beschrieben.

Jede Schrittausgabe wird dem Block mit der in Abb. 1 erwähnten Nummerierung zugeordnet.

  1. 100-GB-Partition auf der Festplatte erstellen [Ursprungsgerät]
    parted -a optimal /dev/sda mkpart primary 1 100G 
    Hinweis: Dadurch wird /dev/sda1 erstellt
  2. 10-GB-Partition auf der NVMe-PCIe-SSD-Festplatte erstellen [Cachegerät]
    parted -a optimal /dev/nvme0n1 mkpart primary 1 10G 
  3. Volume-Gruppe (Cache) mit dem Ursprungs- und Cache-Gerät erstellen
    vgcreate cache /dev/sda1  /dev/nvme0n1p1 
    1. Nach der Volume-Gruppe „cache“ suchen, mithilfe von 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. Logisches Volume des Ursprungsgeräts erstellen (origin_device)
    lvcreate -l 90%FREE -n origin_device cache /dev/sda1 
  5. Logisches Volume für Cachemetadaten erstellen (cache_meta)
    lvcreate -l 5%FREE -n cache_meta cache /dev/nvme0n1p1 
  6. Logisches Volume für Cacheblockdaten erstellen (cache_block)
    lvcreate -l 80%FREE -n cache_block cache /dev/nvme0n1p1 
  7. Logisches Volume für Cachepool durch die Kombination von logischen Cacheblock- und Cachemetadaten-Volumes erstellen (Schritt 5 und 6 kombinieren)
    lvconvert --type cache-pool --poolmetadata cache/cache_meta cache/cache_block 
    Hinweis: Der erstellte Cachepool hat denselben Namen wie „cache_block“, dem Namen des logischen Cacheblockdaten-Volumes, das in Schritt 6 erstellt wurde.
    1. Dies ist ein normales Verhalten des Tools. Nach der Volume-Gruppe „cache“ suchen, mithilfe von 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. Logisches Cache-Volume erstellen, durch Verbindung des logischen Volumes des Cache-Pools (Schritt 7) mit origin_device dem logischen Volume (Schritt 4)

    lvconvert --type cache --cachepool cache/cache_block cache/origin_device 
    1. Dadurch wird das virtuelle Cache-Gerät (DM-Cache) erstellt, orign_device wie unten dargestellt unter 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. Formatieren Sie das virtuelle Cache-Gerät mit einem Dateisystem und verwenden Sie es.

    mkfs.ext4 /dev/cache/origin_device 

 

 

 

Leistungsdaten:

Leistungstests, die mit dem FIO-Tool durchgeführt wurden, zeigen eine deutliche Verbesserung der Lese-, Schreib- und Lese-/Schreib-Mix-Vorgänge.

Tabelle 1 zeigt die FIO-Toolausgabe der Leistungsdifferenz und die prozentuale Verbesserung mit dem dmcache im Vergleich zum normalen Laufwerk (Rotationslaufwerk) und Abb. 2 zeigt das entsprechende Diagramm.

Der Test wird mit einer Blockgröße von 1 Mio. zufälligen Lese-, Schreib- und einer Mischung aus zufälligen Lese-/Schreibvorgängen (50 %) auf der ursprünglichen Festplatte (SDA) und dem Laufwerk mit dmcache konfiguriert.
 

FIO bei BS = 1 Mio. IOPS
GERÄT Read Schreiben Lesen-Schreiben
Laufwerk mit dm-cache 197 798 159
SDA [ursprüngliches Laufwerk] 124 118 58
Verbesserung in % 58,87 % 576,20 % 174,13 %

Tabelle 1: Leistungsverbesserung mit dm-cache


Balkendiagramm, das den Leistungsunterschied zwischen Festplatten mit und ohne DM-Cache zeigt 
Abbildung 2: Leistungsverbesserung mit dm-cache.


Fazit: NVMe PCIe SSD-basierter DM-Cache verbessert die Leistung von spindel-basierten Legacy-Festplatten in größerem Maße.

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.