PowerEdge: Optimice el rendimiento de I/O pequeñas para las unidades NVMe detrás de controladoras PERC en Linux

Summary: En Linux, las unidades NVMe conectadas detrás de una controladora RAID PowerEdge (PERC) pueden presentar un rendimiento menor que el esperado durante las pruebas de cargas de trabajo de I/O pequeñas. Esto ocurre porque el sistema operativo identifica estas unidades como dispositivos de bloques SCSI estándar (/dev/sdX) en lugar de dispositivos NVMe nativos (/dev/nvmeXnX). Esta identidad conduce a la aplicación de programadores de I/O predeterminados subóptimos. ...

Αυτό το άρθρο ισχύει για Αυτό το άρθρο δεν ισχύει για Αυτό το άρθρο δεν συνδέεται με κάποιο συγκεκριμένο προϊόν. Δεν προσδιορίζονται όλες οι εκδόσεις προϊόντων σε αυτό το άρθρο.

Instructions

La causa raíz

  • NVMe nativo: Las unidades NVMe conectadas directamente utilizan colas de comandos profundas administradas por hardware. Linux configura su programador de manera predeterminada en ninguno para evitar los cuellos de botella en el nivel del sistema operativo.
NVMe mq-deadline
  • NVMe detrás de PERC: La unidad se presenta como un dispositivo SCSI cuando se administra mediante una controladora PERC. La mayoría de las distribuciones de Linux configuran de manera predeterminada el programador para dispositivos SCSI a fin de mq-deadline.
  • El conflicto: La variable mq-deadline Scheduler se diseñó para unidades mecánicas heredadas a fin de optimizar el tiempo de búsqueda y minimizar el movimiento del cabezal. Para las unidades NVMe de alta velocidad, este programador agrega latencia y sobrecarga de CPU innecesarias, lo que limita el total de IOPS.

Verificación y ajuste inmediato

El programador se debe configurar en ninguno para lograr el máximo de IOPS para cargas de trabajo de I/O pequeñas.

  • Compruebe el programador actual:
  1. Ejecute el siguiente comando como superusuario (reemplace <sdX> con el nombre de su dispositivo, como <sda>):
cat /sys/block/{sdX}/queue/scheduler
Ejemplo del mensaje de salida: (Los corchetes indican el programador activo).
Programador de NVMe
  1. Cambie el programador a ninguno (tiempo de ejecución) mediante el siguiente comando para aplicar el cambio inmediatamente:
echo "none" > /sys/block/{sdX}/queue/scheduler

Garantizar la persistencia

El cambio manual anterior no es persistente y se revierte después de un reinicio. Además /dev/sdX Los identificadores pueden cambiar si se agregan o eliminan unidades. Para que este cambio sea permanente, se recomienda crear una regla de UDEV basada en el WWID del dispositivo.
 

Nota: Un gran rendimiento de I/O también puede verse afectado. Para las unidades NVMe detrás de una controladora PERC, se recomienda configurar el programador de cola de Linux en ninguno.

Επηρεαζόμενα προϊόντα

PowerEdge R470, PowerEdge R570, PowerEdge R670, PowerEdge R6715, PowerEdge R6725, PowerEdge R770, PowerEdge R770AP, PowerEdge R7715, PowerEdge R7725, PowerEdge R7725xd
Ιδιότητες άρθρου
Article Number: 000443257
Article Type: How To
Τελευταία τροποποίηση: 09 Ιουλ 2026
Version:  3
Βρείτε απαντήσεις στις ερωτήσεις σας από άλλους χρήστες της Dell
Υπηρεσίες υποστήριξης
Ελέγξτε αν η συσκευή σας καλύπτεται από τις Υπηρεσίες υποστήριξης.