Вопрос или проблема
Однако, когда я подключил монитор, меня встретил экран, заполненный этими ошибками:
“`
failed command: WRITE FPDMA QUEUED
“`
Вот скриншот:
![скриншот](https://i.sstatic.net/LX9Bk.jpg)
Что я могу предпринять дальше? Стоит ли просто заменить диск?
Согласно тому, что видно здесь, проблемы только с одним диском. Но неясно, является ли это проблемой диска, кабеля или контроллера.
Сначала я бы перезагрузил систему, чтобы сбросить оборудование. Может быть, контроллер временно запутался, и простое выключение и включение помогло бы.
Если ошибка вернется после перезагрузки, я бы подключил этот диск к другому SATA порту, и, если необходимо, подключил бы какой-то другой диск к этому порту. Если ошибка все еще на том же порту, то проблема с контроллером.
Но если ошибка “переместится” на новый порт, то это либо кабель, либо диск. На этом этапе я бы заменил SATA кабель. Если ошибка исчезнет, значит, проблема была в плохом кабеле. Если ошибка все еще присутствует, значит, это диск.
Еще одно, что вы можете попробовать (что работает удаленно), это запустить `smartctl -a`, чтобы увидеть, сообщает ли диск о каких-либо ошибках, а также, возможно, `smartctl -t short`, чтобы провести самотестирование.
В моем случае это показало, что сбои `WRITE FPDMA QUEUED` были вызваны ошибкой `ICRC` (интерфейс CRC), что означает, что данные были повреждены между диском и контроллером, так что диск в порядке, и проблема либо в SATA кабеле, либо в электронике на одном из концов, куда подключен SATA кабель.
Хотя я не эксперт, предположительно в этом случае команда была повторно отправлена и в конечном итоге прошла через SATA кабель без повреждений, что привело к функционирующей системе, но с очень медленным диском из-за всех повторных попыток.
У меня такая же проблема (`failed command: WRITE FPDMA QUEUED`) на диске Apacer AS350 1TB с более старым ноутбуком i7 (т.е. на чипсете Intel).
Я нашел это на обсуждении ошибки ядра:
[ссылка](https://bugzilla.kernel.org/show_bug.cgi?id=203475#c15)
Я полагаю, что если вы видите сообщения “WRITE FPDMA QUEUED”, проблема связана с NCQ в целом, и да, вам следует попробовать отключить это для устройства. Но если вы видите “SEND FPDMA QUEUED”, как в первоначальном посте, то вы могли бы обойтись отключением только очереди TRIM.
Добавление `libata.force=1:3.0G,1:noncq` “решило” проблему для меня, но, конечно, это замедлило диск. Я думаю, часть `1:3.0G` неважна.
Обновление прошивки на SSD может решить такие проблемы, но Apacer предоставляет только обновления прошивки на Windows, которые я не могу легко применить и протестировать.
Ответ или решение
Проблема с замедлением сервера: Причины и шаги по устранению ошибок "failed command: WRITE FPDMA QUEUED"
Недавние жалобы пользователей о медленной работе файлового сервера на Linux через NFS могут быть связаны с ошибками, отображающимися в системе. Одной из таких ошибок является "failed command: WRITE FPDMA QUEUED", которая указывает на проблемы с передачей данных между диском и контроллером.
Причины возникновения ошибки
Ошибка "WRITE FPDMA QUEUED" сама по себе подразумевает, что запрос записи данных был поставлен в очередь, однако произошел сбой в процессе. Потенциальные причины этой ошибки могут включать:
- Проблемы с самим диском: Это может быть результатом физического износа, неправильной работы или неисправности устройства.
- Проблемы с соединениями: Поврежденные или неправильно установленные SATA-кабели могут вызвать потерю данных между диском и контроллером.
- Неисправности контроллера: Если контроллер SATA имеет сбои или несовместимости, это также может приводить к подобным ошибкам.
- Ошибки интерфейса CRC (Interface CRC errors): Это указывает на то, что данные были повреждены во время передачи данных.
Рекомендованные действия
-
Перезагрузка сервера: Это базовый шаг, который может помочь сбросить состояние оборудования. Важно проверить, сохраняются ли ошибки после перезагрузки.
-
Проверка соединений:
- После перезагрузки проверьте, если ошибка повторяется, отключите диск от текущего SATA-порта и подключите его к другому порту. Этот шаг поможет определить, связан ли сбой с конкретным портом на контроллере.
- Если после перемещения ошибки остаются на новом порту, вероятнее всего, проблема заключается в контроллере. В противном случае переходите к следующему шагу.
-
Замена SATA-кабеля: Если ошибка "движется" на новый порт, замените SATA-кабель. Это простая и недорогая мера, которая может решить проблему, если изначальная причина правдива в поврежденной проводке.
-
Проверка состояния диска с помощью SMART:
- Используйте команду
smartctl -a /dev/sdX
для получения информации о состоянии диска. - Выполните команду
smartctl -t short /dev/sdX
для выполнения краткосрочного теста диска. Это может помочь выявить проблемы на уровне диска, такие как сбои, которые могли бы вызвать ошибки записи.
- Используйте команду
-
Отключение NCQ: Некоторые пользователи, сталкивающиеся с подобной проблемой, сообщают о том, что отключение функции NCQ (Native Command Queuing) значительно снижает количество ошибок. Это можно сделать с помощью параметра загрузки ядра, например,
libata.force=1:noncq
. Однако стоит учитывать, что это может снизить производительность диска. -
Обновление прошивки: Если проблема не устраняется, следует проверить наличие обновлений прошивки для вашего жесткого диска. Некоторые производители предлагают специфические исправления, которые могут устранить проблемы с совместимостью.
Заключение
Ошибки, такие как "failed command: WRITE FPDMA QUEUED", могут существенно влиять на производительность вашего файлового сервера и вызывать замедление его работы. Следуя приведенным выше шагам, вы сможете определить конкретную причину проблемы и минимизировать её влияние. Замена оборудования является крайней мерой; прежде чем принимать такое решение, важно тщательно диагностировать проблему с использованием доступных инструментов и методов.