NVMe SSD внезапно стал непрактично медленным (как при чтении, так и при записи)

Вопрос или проблема

Обновление 1: Я перезагрузил этот сервер на другую Ubuntu (тоже 20.04 LTS), установленную на HDD, и hdparm -tT показывает разумную производительность свыше 1 ГБ/с. Теперь я склонен думать, что это проблема программного обеспечения – SSD должен быть в порядке.

Обновление 2: Запутанно, но atop не показывает никакой странной активности диска, однако диск все еще “очень активен”. Множество потоков z_wr_iss появляются случайно время от времени.

atop


Это SSD HP EX920 1TB, установленный на настольном компьютере, работающем круглосуточно как личный сервер. Он хорошо работал более года, и только на прошлой неделе вдруг процессы начали случайно переходить в состояние D (непрерываемый сон). Этот диск только наполовину заполнен и регулярно обрезается.

Результаты тестирования HDparmRidiculouss (^)(/dev/nvme0 – это рассматриваемый SSD, /dev/sda – другой HDD) (Уточнение: программа HDparm в порядке и не дает сбоев, сам SSD имеет неправильную производительность всего несколько МБ/с):

root@ubuntu:~# hdparm -Tt /dev/nvme0n1
/dev/nvme0n1:
 Время кэшированных чтений:   15670 MB за  2.00 секунды = 7839.79 MB/сек
 HDIO_DRIVE_CMD(identify) не удался: Неподходящий ioctl для устройства
 Время буферизированных чтений диска:   8 MB за  3.61 секунды =   2.22 MB/сек

root@ubuntu:~# hdparm -Tt /dev/sda
/dev/sda:
 Время кэшированных чтений:   29014 MB за  2.00 секунды = 14525.03 MB/сек
 Время буферизированных чтений диска: 454 MB за  3.01 секунды = 150.67 MB/сек

Однако информация SMART выглядит нормально:

smartctl 7.1 2019-12-30 r5022 [x86_64-linux-5.4.0-56-generic] (локальная сборка)
Авторские права (C) 2002-19, Брюс Аллен, Кристиан Франке, www.smartmontools.org

=== НАЧАЛО РАЗДЕЛА ИНФОРМАЦИИ ===
Модель:                       HP SSD EX920 1TB
Серийный номер:              xxxxxxxxxxxxxxx
Версия прошивки:            SVN139B
Vendor ID:                 0x1dee
Подсистема Vendor ID:       0x126f
Идентификатор IEEE OUI:     0x000000
Идентификатор контроллера:   1
Количество пространств имен:  1
Размер/вместимость пространства имен 1:  1,024,209,543,168 [1.02 TB]
Отформатированный размер LBA пространства имен 1:  512
Местное время:                 Пн Дек  7 13:54:15 2020 CST
Обновления прошивки (0x14):     2 слота, сброс не требуется
Дополнительные команды администратора (0x0016):   Формат Frmw_DL Self_Test
Дополнительные команды NVM (0x005f):     Comp Wr_Unc DS_Mngmt Wr_Zero Sav/Sel_Feat Timestmp
Максимальный размер передачи данных:   64 страницы
Предупреждение порога температуры:  70 Цельсия
Критический порог температуры:  80 Цельсия

Поддерживаемые состояния питания
St Op     Mac   Активный     В режиме ожидания   RL RT WL WT  Ent_Lat  Ex_Lat
 0 +     9.00W       -        -    0  0  0  0        0       0
 1 +     4.60W       -        -    1  1  1  1        0       0
 2 +     3.80W       -        -    2  2  2  2        0       0
 3 -   0.0450W       -        -    3  3  3  3     2000    2000
 4 -   0.0040W       -        -    4  4  4  4     6000    8000

Поддерживаемые размеры LBA (NSID 0x1)
Id Fmt  Данные  Metadt  Rel_Perf
 0 +     512       0         0

=== НАЧАЛО РАЗДЕЛА ДАННЫХ SMART ===
Результат теста самодиагностики общего состояния SMART: УСПЕШНО

SMART/Здоровье Информация (NVMe Журнал 0x02)
Критическое предупреждение:                   0x00
Температура:                                 54 Цельсия
Доступный запас:                             100%
Порог доступного запаса:                     10%
Процент использованного:                     0%
Единицы данных, прочитанные:                 31,682,199 [16.2 TB]
Единицы данных, записанные:                  50,028,403 [25.6 TB]
Команды чтения хоста:                        538,395,033
Команды записи хоста:                         1,279,795,487
Время занятости контроллера:                 20,480
Циклы питания:                               1,012
Часы включения:                              7,879
Ненадежные выключения:                        40
Ошибки целостности медиа и данных:          0
Записи журнала информации об ошибках:      0
Предупреждение времени температуры:           7
Критическое время температуры:               0
Счётчик переходов по температуре 1:          8
Счётчик переходов по температуре 2:          2
Общее время по температуре 1:                   1118
Общее время по температуре 2:                   214

Информация об ошибках (NVMe Журнал 0x01, максимум 256 записей)
Ошибок не зарегистрировано

Попытка доступа к информации APM (hdparm -B) на этом NVMe SSD только дает “Неподходящий ioctl для устройства”.

Кроме того, я не обнаружил никаких поврежденных данных (все целы), только неоправданно низкие скорости чтения/записи.

На диске есть три раздела: раздел EFI (несколько сотен МиБ), раздел ext4 как корневую файловую систему (128 ГиБ) и остальная часть выделяется под ZFS. Запуск hdparm -tT на отдельных разделах дает похожие результаты (менее 10 МБ/с скорость чтения). Все эти разделы выровнены по границам 1 МиБ.

Что мне делать дальше, чтобы восстановить “нормальную” скорость этого SSD? Или мне стоит взять замену?

Это NVMe диск, вам, вероятно, нужно установить nvme-cli, чтобы проверить настройки APM, и причина, по которой ioctl не сработал. Потоки z_wr_iss – это потоки записи ZFS на Linux. Эти буферизированные чтения очень медленные, возможно, память вашего компьютера медленная? Или, возможно, это может быть связано с настройками ZFS.

Ответ или решение

Внезапное снижение скорости NVMe SSD: Решение проблемы

Когда ваш NVMe SSD, например HP SSD EX920 на 1 ТБ, вдруг начинает демонстрировать удивительно низкие скорости чтения и записи, это может быть вызвано несколькими причинами. Давайте подробно проанализируем вашу ситуацию и предложим ряд шагов для диагностики и решения проблемы.

1. Проверка базовых параметров

Судя по вашему описанию, SSD работал без нареканий более года, и внезапное снижение производительности может свидетельствовать о программной или аппаратной проблеме. Вы уже убедились, что:

  • HDD на платформе Ubuntu работает на приемлемой скорости, что намекает на то, что проблема в SSD, а не в системе.
  • Тесты HDParm указывают на снижение производительности SSD: например, 2.22 МБ/с в тестах.
  • SMART данные показывают, что диск, по всей видимости, в неплохом состоянии.

Ваши следующие шаги могут включать следующие шаги:

2. Анализ работы ZFS

Вы упомянули, что на сервере используется ZFS. Возможно, именно эта файловая система вызывает проблемы:

  • Память и настройка ZFS: Убедитесь, что вашей системе поставляется достаточное количество оперативной памяти. ZFS известен своей высокой потребностью в RAM для кэширования данных. Если памя́ти недостаточно, это может привести к значительному замедлению операций ввода-вывода.

  • Состояние пула ZFS: Проверьте состояние вашего ZFS пула с помощью команды zpool status и убедитесь, что нет ошибок или проблем с доступом к данным. Если в пуле есть проблемы, он может работать в режиме восстановления, что значительно замедляет операции.

  • Индексация и фрагментация: Если в ZFS происходит много индексации, это также может снизить производительность. Возможно, следует пересмотреть настройки кэширования и индексации.

3. Проблемы с драйверами и ПО

Ваш SSD может иметь проблемы с совместимостью драйверов или конфигураций.

  • Обновление драйвера NVMe: Убедитесь, что вы используете последние версии драйверов для NVMe. Устаревшие драйверы могут вызывать проблемы со скоростью и стабильностью.

  • nvme-cli: Установите nvme-cli для более детального управления вашим SSD. Используйте nvme get-feature или другие команды, чтобы просмотреть настройки и состояние вашего SSD.

  • APM и другие параметры: Вы уже обнаружили проблемы с использованием команды hdparm для получения APM настроек. Возможно, вам будет полезно использовать nvme-cli, чтобы проверить параметры управления энергопотреблением.

4. Проверка целостности данных

Даже если вы не заметили коррумпированных данных, это не исключает проблемы с целостностью файловых систем.

  • Проверка файловых систем: Выполните команду fsck для ext4 и ZFS утилиты для проверки целостности ваших файловых систем.

5. Финальные шаги

Если все вышеперечисленные проверки и оптимизации не помогут вернуть диск в стабильное состояние, то имеет смысл рассмотреть замену SSD.

  • Тесты с другим оборудованием: Подключите SSD к другому компьютеру или серверу, где установлена другая операционная система, и проверьте производительность. Если диск в других условиях работает должным образом, это может подтвердить наличие проблемы в конфигурации ПО.

  • Обратитесь в службу поддержки: В случае, если проблема не решается и SSD продолжает работать нестабильно, обратитесь в службу поддержки производителя для получения дополнительной информации и возможной замены.

Заключение

Проблемы с производительностью NVMe SSD могут быть сложными и многофакторными. Используя предложенные шаги по диагностике и устранению неисправностей, вы сможете вернуть диск в нормальное рабочее состояние или, по крайней мере, выявить и устранить причину замедления. Не забывайте, что регулярное резервное копирование данных всегда важно, особенно при использовании высокопроизводительных накопителей в рабочих условиях.

Оцените материал
Добавить комментарий

Капча загружается...