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. ...
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
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 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-deadlineScheduler 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:
- 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).
- 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.
Affected Products
PowerEdge R470, PowerEdge R570, PowerEdge R670, PowerEdge R6715, PowerEdge R6725, PowerEdge R770, PowerEdge R770AP, PowerEdge R7715, PowerEdge R7725, PowerEdge R7725xdArticle Properties
Article Number: 000443257
Article Type: How To
Last Modified: 10 أبريل 2026
Version: 2
Find answers to your questions from other Dell users
Support Services
Check if your device is covered by Support Services.