Marvell 88SE9128 (9123?) Карта SATA Weird Behavior – OpenSUSE

после ответа на форуме OpenSUSE (здесь: https://forums.opensuse.org/showthread.php/511116-Sata-card-erratic-behaviour-amp-failure-Marvell-88SE9128-(9123-)-Chipset ) I я поставил этот запрос в Unix Stackexchange в надежде на более широкий охват.

Так:

У меня есть Dell T20, работающий как домашний сервер на OpenSUSE 64Bit – 1 500 ГБ для ОС и 4 3 Тбайтных жестких диска с RAID6 для хранения. Поскольку у Dell только 4 порта SATA на борту, ее пришлось расширить – в моем случае с помощью карты StarTech (PEXSAT32) 2x SATA3 с использованием чипсета Marvell 88SE9128. (Weirdly OpenSUSE сообщает об этом как 88SE9123)

Проблема, с которой я сталкиваюсь, заключается в том, что карта ведет себя беспорядочно, отбрасывая диск из массива … (хотя он добавил его правильно в прошлом, он был включен и выключен для хорошего года …) Предлагаемая техническая поддержка тестирование его за пределами массива – нулевое заполнение диска приводит к сбою в разное время, от 1,5 ГБ до 10 + ГБ – но диск падает, это верно для оригинального привода 3 ТБ, а также для привода 2 ТБ. (Оба диска в порядке.) Нулевой заполнение начнется со скоростью около 54 МБ / с, а затем начнет падать, часто умирает со скоростью 10-20 МБ / с, но я видел его как 500 КБ / с. Другое предложение состояло в том, чтобы попробовать другой компьютер – мой компьютер, к сожалению, работает только с Windows, но тестирование 2 и 3TB дисков с 8 / 16GB CrystalDiskMark в последовательной записи не дало мне никаких сбоев и привело к скорости чтения 190 МБ / с и скорости записи 150 МБ / с , как и ожидалось для этих жестких дисков (и скорость, которую получает массив во время перестроек на внутренних портах Intel SATA).

К сожалению, техническая поддержка не может предложить никаких дополнительных предложений, однако тест Windows предполагает, что сама карта в порядке. Обмен слотами PCI на Dell не имел никакого значения. Пока я тестировал замену кабеля SATA, тот же самый кабель отлично работал на моем рабочем столе, поэтому я сомневаюсь, что это проблема.

Я понимаю, что карта должна работать, поскольку контроллер поддерживается Linux и, следовательно, просто работает, к сожалению, этого не происходит. Любые идеи, любые предложения? Как это можно исследовать дальше? (Вот где форум будет лучше, я думаю …)

Я знаю, что многие считают, что чипы Marvell являются злыми, но, к сожалению, я не могу позволить себе использовать несколько сотен Pounds RAID-карт (и мне это не нужно, поскольку я использую программный RAID). Еще одна карта SATA, которая у меня есть с чипом 3123 SiI, не распознается ни Dell, ни моим рабочим столом … (может быть проблема совместимости или мертвая карта …)

Обновления после предложений от chanik: (25 ноября 2015 г.)

Я использовал рекомендуемую команду echo 1 > /sys/block/sde/device/queue_depth чтобы установить глубину очереди в единицу, используя cat /sys/block/sde/device/queue_depth Я проверил, что она была установлена ​​в 1 ( установка была соблюдена, это еще один вопрос).

В любом случае, используя dd to zero, диск или фактически раздел на диске выходит из строя. Следуя некоторым дополнительным комментариям, я перепробовал тест – на случай, если с контроллером dd произойдет что-то смешное, я создал новую новую таблицу GPT на диске с новым разделом ext4, охватывающим весь диск, а затем скопировал большой каталог на диск. (Не удалось в обоих случаях, но довольно странно для 48 ГБ с NCQ и 180 ГБ без NCQ на этот раз …)

Для устранения неполадок я скопировал / собрал вывод в / var / log / messages после возникновения ошибки и для NCQ, установленного в 1, я также сбросил вывод dmesg в файл журнала после возникновения ошибки.

(Текст размещен на Пастебине)

  • Default NCQ: http://pastebin.com/RKBm2n7E
  • NCQ установлен в 1: http://pastebin.com/E9bciMs8
  • dmesg output: http://pastebin.com/tN9wFMMb

-> если я правильно прочитал журнал dmesg, это может предполагать, что NCQ = 1 не соблюдается

dmesg после перезагрузки и после установки вручную ncq на 1, похоже, что это действительно не соблюдается …

  • После перезагрузки: http://pastebin.com/TAUGACq7
  • Настройка NCQ: http://pastebin.com/GvAibnUW

Редактировать 2 – 25 ноября 2015 года:

Решил использовать libata.force = noncq через параметры ядра – все еще не удалось … dmesg вывести на http://pastebin.com/EQt5z5F3

Редактировать 26 ноября 2015 года:

С некоторыми предложениями по работе с более старым ядром, а также с Windows я тестировал новую установку, а также обновленную версию OpenSUSE 13.2, а также новую установку Windows 7 (эта 32Bit, Linux – 64 бит) с драйвером Marvell.

В Linux копии или записи не удались – будь то на самом диске или на NTFS-раздел из Windows, под Windows диск оценивается отлично.

OpenSUSE 13.2: http://pastebin.com/ucmiVqKL Обновлен OpenSUSE 13.2: http://pastebin.com/uA1e1rc2 OpenSUSE 13.2 не обновлен NCQ: http://pastebin.com/QFLeUC8r

Скопировать в раздел Windows NTFS под Leap 42.1 Kernel 4.1: http://pastebin.com/4iZtkBjZ

Тесты Windows 7 CrystalDiskMark: http://pastebin.com/FJASyDpt

Я также не могу понять, почему чип рассматривается как 9123, как в Windows, так и в Linux – чип четко говорит 9128:

Фото чипа Marvell четко заявляет 9128

Редактировать 2 – 26 ноября 2015 г. Ran Ubuntu с USB-накопителя с ядром 3.13 (с ncq) – снова сработал

  • dmesg: http://pastebin.com/pSeeAbNm
  • lshw: http://pastebin.com/tP6c874P

Редактировать 27 ноября 2015 г.

Ubuntu LiveUSB с Kernel 13.3 снова – установка ncq через командную строку снова не удалась.

  • перед установкой ncq: http://pastebin.com/ivZmuPXc
  • после установки ncq: http://pastebin.com/7Q4rUZUJ
  • после отказа обнуления диска: http://pastebin.com/j9MHhKYV

Обновление 2 декабря 2015 г.

Маленькое дополнение к заметкам – получило новую карту с чипом Asmedia, который работает хорошо.

Прежде чем я включил новую карточку, я сделал еще несколько тестов со старым жестким диском, на котором я лежал, и я могу добавить его на свой сервер для работы без RAID. Старый диск – это SATA2, 2,5-дюймовый жесткий диск с рекламой 120 ГБ, ну и без изменений … – также искал вокруг и отключил кеш записи … все еще не удалось …

Как обычно, я собирал выход dmesg, один пока он работал до сбоя в случае, если кто-то заинтересован, а иначе после сбоя. Как обычно, файлы, размещенные Pastebin.

  • Просто запуск dd с настройками по умолчанию: http://pastebin.com/PkF5W7zr
  • dd во время работы: http://pastebin.com/eAgu7gXj
  • dd с параметром noncq вручную через командную строку: http://pastebin.com/FKhFMMd8
  • dd с набором noncq set manuall и без кэша записи через hdparm: http://pastebin.com/icEgbKN4

И если я включу BIOS для поддержки устаревшего режима на моем Dell T20, я тоже могу войти в меню карты – фото ниже. Единственный вариант, который он вам дает, – создать массив RAID 0/1 или оставить его как есть.

Параметры / экран PEXSAT32 BIOS

Edit May 2017: эта проблема никогда не была действительно решена, и список рассылки Kernel также не предоставил никаких реальных ответов. В результате карта SATA была изменена на другую модель, и все, казалось, сработало. Ускоренная перемотка вперед, в течение 2016 года два диска провалились – и, по-видимому, оба они действительно мертвы. Все диски на моем домашнем сервере были переключены, и во время процесса я обнаружил, что хотя бы один из кабелей SATA был неисправен – в этом случае кабель привода ОС. Я также заменил кабель SATA на карту, и все работает. Это заставляет меня задаться вопросом, были ли все проблемы из-за неисправного кабеля и хуже исправления ошибок в Linux … может быть? Я не буду знать, так как у меня нет хорошего способа проверить, разрешит ли это проблему.

Однако, возможно, если: Если происходит иррациональное поведение, возможно, попробуйте купить новые кабели, возможно, это решит проблему.

  • LVM с жесткими дисками SSD и SATA
  • Что вызывает исключения ata в моем syslog и как их решить
  • Что изменилось в ядре Linux (2.6.22), которое дает поддержку hdparm для включения питания в режиме ожидания?
  • Почему мои SSD находятся в / dev / hdx вместо / dev / sdx на CentOS 5.9?
  • Почему мои устройства SATA отображаются в / proc / scsi / scsi?
  • Как проверить, поддерживает ли накопитель hotswap?
  • Я пытаюсь понять, почему адаптер SATA Marvell 88C9215 не работает с Slackware
  • Узнайте, что драйвер установлен правильно
  • One Solution collect form web for “Marvell 88SE9128 (9123?) Карта SATA Weird Behavior – OpenSUSE”

    У меня есть плата EVO Asus P7P55D-E с бортовым контроллером 88SE9123 и случайное поведение на жестких дисках, подключенных к этому контроллеру.

    Простое обходное решение отключает NCQ на портах 88SE9123, добавив что-то вроде следующей строки в /etc/default/grub .

     GRUB_CMDLINE_LINUX="libata.force=7.00:noncq,8.00:noncq" 

    Добавив это и выполнив следующие команды, я смог получить параметр ядра в grub.conf измененный в Ubuntu Linux.

     $ sudo update-grub $ sudo grub-install /dev/sda 

    У меня нет опыта работы с OpenSuse, поэтому вам нужно выяснить, как изменить параметр ядра для времени загрузки в вашем дистрибутиве.

    В качестве немедленного лечения вы можете отключить NCQ конкретных жестких дисков следующим образом.

     $ sudo -i # echo 1 > /sys/block/sde/device/queue_depth # echo 1 > /sys/block/sdf/device/queue_depth 

    Эта команда вступает в силу немедленно, но не перезагружается, поэтому вам придется изменить параметры загрузки.

    Рекомендации

    Я все еще ищу реальное решение этой проблемы, но пока ничего не добился. Надеюсь, это обходное решение работает для вас.

    Interesting Posts
    Linux и Unix - лучшая ОС в мире.