PowerEdge: Leistungsprobleme auf Linux-Hosts, wenn PERC- oder HBA-Controller NVMe oder SSD verwenden
Summary: Linux-Host meldet reduzierte Storage-Performance bei Verwendung von PERC- oder HBA-Controllern mit angeschlossenen SSD- oder NVMe-Geräten.
Symptoms
Systeme, auf denen Linux ausgeführt wird, zeigen auf SSD- oder NVMe-Laufwerken, die über PERC- oder HBA-Controller verbunden sind, eine geringere Leistung als erwartet. Zu den Symptomen zählen reduzierte IOPS, erhöhte Latenz oder suboptimaler Durchsatz im Vergleich zu den erwarteten Geräte- oder Plattformfunktionen.
Cause
Moderne PERC-RAID- und HBA-Controller stellen dem Betriebssystem angeschlossene Speichergeräte über ein SCSI-Gerätemodell zur Verfügung, selbst wenn das zugrunde liegende Medium NVMe ist. Da diese Geräte als SCSI-SAS-Ziele angezeigt werden, wenden die meisten Linux-Distributionen automatisch Legacy-Block-I/O-Planungsrichtlinien an, die für rotierende Festplatten optimiert sind. Wenn SSD- oder NVMe-Geräte durch diese HDD-orientierten Scheduler gezwungen werden, kann dies zu einem reduzierten Durchsatz und einer höheren Latenz im Vergleich zu ihrer nativen Leistung führen.
Relevante Controller-Modelle
- PERC: H740P, H840, H745, H345
- PERC: H750, H755, H350, H355
- PERC: H965, H365
- PERC: H975-KARTON
- HBA345
- HBA355
- HBA465
Resolution
Weitere Informationen finden Sie im Handbuch zur Speicheroptimierung Ihres Betriebssystems. Das Linux-Betriebssystem legt den Planer für native NVMe-Konfigurationen in der Regel auf "none" fest.
Red Hat Enterprise Linux 8 und 9 "Einstellen des Festplatten-Schedulers":
- Festlegen des Festplattenplaners v8(Externer Link)
- Festlegen des Festplattenplaners v9(externer Link)
SLES 15-SP6 – Handbuch zum Anpassen der I/O-Leistung:
- Anpassen der I/O-Leistung(externer Link)
Bei mit SSD und NVMe verbundenen PERC- und HBA-Konfigurationen kann das Ändern des Blockplaners auf "none" eine verbesserte Performance anzeigen.
So überprüfen Sie den aktuellen Planer:
Führen Sie als Superuser Folgendes aus: cat /sys/block/{SD}/queue/scheduler Dabei ist {SD} der Geräteblockeintrag unter /dev (Beispiel sda)
Screenshot mit einem Scheduler, der eingestellt ist auf mq-deadline in Red Hat Enterprise Linux 9 für sda

Legen Sie den Scheduler auf none fest:
Führen Sie als Superuser echo "none" > /sys/block/{SD}/queue/scheduler Dabei ist {SD} der Geräteblockeintrag unter /dev (Beispiel sda)
Screenshot, der zeigt, wie der Scheduler auf "none" aktualisiert wird für sda

/dev Blockieren von Änderungen des Gerätenamens A UDEV Regel kann für die Geräte-WWID hinzugefügt werden, um den Scheduler dauerhaft in "none" zu ändern. Anweisungen zum Erstellen von UDEV Regeln oder ähnliche Mechanismen zum Festlegen von Blockgerätparametern.
Möglicherweise sind zusätzliche Optimierungen der Betriebssystemeinstellungen und Änderungen an den Energieprofilen erforderlich, um die maximale Controller- und Laufwerksleistung zu erzielen. Weitere Informationen finden Sie in der Dokumentation zum BS-Performancetuning und zum BIOS-Energieprofil.