PowerEdge: Проблеми з продуктивністю на Linux-хостах, коли контролери PERC або HBA використовують NVMe або SSD
Summary: Linux повідомляє про зниження продуктивності зберігання при використанні контролерів PERC або HBA з підключеними SSD або NVMe пристроями.
Symptoms
Системи з Linux демонструють нижчу за очікувану продуктивність на SSD або NVMe, підключених через контролери PERC або HBA. Симптоми включають зниження IOPS, підвищену затримку або неоптимальну пропускну здатність порівняно з очікуваними можливостями пристрою чи платформи.
Cause
Сучасні контролери PERC RAID та HBA надають підключені пристрої зберігання до ОС через модель SCSI-пристрою, навіть якщо основний носій — NVMe. Оскільки ці пристрої виглядають як SCSI SAS-цілі, більшість дистрибутивів Linux автоматично застосовують застарілі політики планування блоків/введення/вивод, оптимізовані для ротаційних жорстких дисків. Коли SSD або NVMe пристрої проходять через ці планувальники, орієнтовані на HDD, результат може знижувати пропускну здатність і вищу затримку порівняно з їхньою рідною продуктивністю.
Відповідні моделі контролерів
- PERC: H740P, H840, H745, H345
- PERC: H750, H755, H350, H355
- PERC: H965, H365
- PERC: H975
- HBA345
- HBA355
- HBA465
Resolution
Зверніться до вашого посібника з оптимізації зберігання операційної системи. Linux OS зазвичай встановлює планувальник для нативних конфігурацій NVMe на «none».
Інструкції Red Hat Enterprise Linux 8 та 9 «Налаштування планувальника диска»:
- Налаштування планувальника диска v8(Зовнішнє посилання)
- Налаштування планувальника диска v9(Зовнішнє посилання)
Керівництво SLES 15-SP6 «Налаштування I/O Performance»:
- Налаштування продуктивності вводу/виводу(зовнішнє посилання)
Для конфігурацій PERC і HBA, підключених SSD та NVMe, зміна планувальника блоків на «none» може показати покращення продуктивності.
Щоб перевірити поточний планувальник:
Як суперкористувач, біжи cat /sys/block/{SD}/queue/scheduler де {SD} — це запис блоку пристрою у /dev (приклад sda)
Скріншот із планувальником, налаштованим на mq-deadline у Red Hat Enterprise Linux 9 для sda

Встановіть планувальник на none:
Як суперкористувач, біжи, echo "none" > /sys/block/{SD}/queue/scheduler де {SD} — це запис блоку пристрою у /dev (приклад sda)
Скріншот, який показує, що планувальник оновлюється до «none» для sda

/dev Блокувати зміни імен пристрою. A UDEV можна додати правило, щоб пристрій постійно змінював планувальник на «none». Зверніться до посібника користувача вашої ОС для отримання інструкцій щодо створення UDEV правил або подібних механізмів для встановлення параметрів блокового пристрою.
Для досягнення максимальної продуктивності контролера та приводу можуть знадобитися додаткові налаштування ОС та профілі живлення. Зверніться до будь-якої документації з налаштування продуктивності ОС та профілю живлення BIOS.