Почему в моей системе Linux с множеством SATA контроллеров происходит много сбросов соединений и отключений дисков?

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

У меня есть система на Fedora 41 (и двойная загрузка с моей старой Fedora 33), испытывающая множество проблем с отключением дисков от системы. Система имеет чипсет AMD серии X370 с двумя дополнительными контроллерами eSATA и встроенным контроллером:

$ lspci | grep SATA
01:00.1 SATA controller: Advanced Micro Devices, Inc. [AMD] X370 Series Chipset SATA Controller (rev 02)
04:00.0 SATA controller: ASMedia Technology Inc. ASM1061/ASM1062 Serial ATA Controller (rev 02)
08:00.0 SATA controller: Marvell Technology Group Ltd. 88SE9215 PCIe 2.0 x1 4-port SATA 6 Gb/s Controller (rev 11)
0a:00.0 SATA controller: ASMedia Technology Inc. ASM1061/ASM1062 Serial ATA Controller (rev 02)
0f:00.2 SATA controller: Advanced Micro Devices, Inc. [AMD] FCH SATA Controller [AHCI mode] (rev 51)

Подключено довольно много дисков – 12 внутренних и 7 внешних. Два из внешних находятся в многодисковых шасси с использованием SATA-расширителей; внешние диски не используют RAID шасси, а работают в режиме JBOD.

Примеры ошибок:

Dec 27 09:48:54 fedora kernel: ata11.13: failed to read SCR 1 (Emask=0x40)
Dec 27 09:48:54 fedora kernel: ata11.14: failed to read SCR 1 (Emask=0x40)
Dec 27 09:48:54 fedora kernel: ata11.00: exception Emask 0x100 SAct 0x200000 SErr 0x0 action 0x6 frozen
Dec 27 09:48:54 fedora kernel: ata11.00: failed command: WRITE FPDMA QUEUED
Dec 27 09:48:54 fedora kernel: ata11.00: cmd 61/08:a8:48:08:00/00:00:00:00:00/40 tag 21 ncq dma 4096 out#012 res 40/00:00:00:4f:c2/00:00:00:00:00/40 Emask 0x100 (unknown error)
Dec 27 09:48:54 fedora kernel: ata11.00: status: { DRDY }
Dec 27 09:48:54 fedora kernel: ata11.01: exception Emask 0x100 SAct 0x0 SErr 0x0 action 0x6 frozen
Dec 27 09:48:54 fedora kernel: ata11.01: failed command: FLUSH CACHE EXT
Dec 27 09:48:54 fedora kernel: ata11.01: cmd ea/00:00:00:00:00/00:00:00:00:00/a0 tag 20#012 res 40/00:90:08:08:00/00:00:00:00:00/40 Emask 0x100 (unknown error)
Dec 27 09:48:54 fedora kernel: ata11.01: status: { DRDY }
Dec 27 09:48:55 fedora kernel: ata11.15: SATA link up 1.5 Gbps (SStatus 113 SControl 310)
Dec 27 09:48:55 fedora kernel: ata11.04: limiting SATA link speed to 1.5 Gbps
Dec 27 09:48:55 pangea kernel: ata11.15: SATA link up 1.5 Gbps (SStatus 113 SControl 310)
Dec 27 09:48:55 pangea kernel: ata11.04: limiting SATA link speed to 1.5 Gbps
Dec 27 09:48:55 pangea kernel: ata11.05: limiting SATA link speed to 1.5 Gbps
Dec 27 09:48:55 pangea kernel: ata11.06: limiting SATA link speed to 1.5 Gbps
Dec 27 09:48:55 pangea kernel: ata11.07: limiting SATA link speed to 1.5 Gbps
Dec 27 09:48:55 fedora kernel: ata11.05: limiting SATA link speed to 1.5 Gbps
Dec 27 09:48:55 pangea kernel: ata11.08: limiting SATA link speed to 1.5 Gbps
Dec 27 09:48:55 pangea kernel: ata11.09: limiting SATA link speed to 1.5 Gbps
Dec 27 09:48:55 pangea kernel: ata11.10: limiting SATA link speed to 1.5 Gbps
Dec 27 09:48:55 pangea kernel: ata11.11: limiting SATA link speed to 1.5 Gbps
Dec 27 09:48:55 pangea kernel: ata11.12: limiting SATA link speed to 1.5 Gbps
Dec 27 09:48:55 fedora kernel: ata11.06: limiting SATA link speed to 1.5 Gbps
Dec 27 09:48:55 pangea kernel: ata11.13: limiting SATA link speed to 1.5 Gbps
Dec 27 09:48:55 pangea kernel: ata11.14: limiting SATA link speed to 1.5 Gbps
Dec 27 09:48:55 pangea kernel: ata11.00: hard resetting link
Dec 27 09:48:56 pangea kernel: ahci 0000:08:00.0: FBS is disabled
Dec 27 09:48:55 fedora kernel: ata11.07: limiting SATA link speed to 1.5 Gbps
Dec 27 09:48:55 fedora kernel: ata11.08: limiting SATA link speed to 1.5 Gbps
Dec 27 09:48:55 fedora kernel: ata11.09: limiting SATA link speed to 1.5 Gbps
Dec 27 09:48:55 fedora kernel: ata11.10: limiting SATA link speed to 1.5 Gbps
Dec 27 09:48:55 fedora kernel: ata11.11: limiting SATA link speed to 1.5 Gbps
Dec 27 09:48:55 fedora kernel: ata11.12: limiting SATA link speed to 1.5 Gbps
Dec 27 09:48:55 fedora kernel: ata11.13: limiting SATA link speed to 1.5 Gbps
Dec 27 09:48:55 fedora kernel: ata11.14: limiting SATA link speed to 1.5 Gbps
Dec 27 09:48:55 fedora kernel: ata11.00: hard resetting link
Dec 27 09:48:56 fedora kernel: ahci 0000:08:00.0: FBS is disabled
Dec 27 09:48:56 fedora kernel: ahci 0000:08:00.0: FBS is enabled
Dec 27 09:48:56 pangea kernel: ahci 0000:08:00.0: FBS is enabled
Dec 27 09:48:56 fedora kernel: ata11.00: SATA link up 6.0 Gbps (SStatus 133 SControl 300)
Dec 27 09:48:56 pangea kernel: ata11.00: SATA link up 6.0 Gbps (SStatus 133 SControl 300)
Dec 27 09:48:56 pangea kernel: ata11.01: hard resetting link
Dec 27 09:48:56 pangea kernel: ahci 0000:08:00.0: FBS is disabled
Dec 27 09:48:56 fedora kernel: ata11.01: hard resetting link
Dec 27 09:48:56 fedora kernel: ahci 0000:08:00.0: FBS is disabled
Dec 27 09:48:56 fedora kernel: ahci 0000:08:00.0: FBS is enabled
Dec 27 09:48:56 pangea kernel: ahci 0000:08:00.0: FBS is enabled
Dec 27 09:48:56 pangea kernel: ata11.01: SATA link up 6.0 Gbps (SStatus 133 SControl 300)
Dec 27 09:48:57 pangea kernel: ahci 0000:08:00.0: FBS is disabled
Dec 27 09:48:56 fedora kernel: ata11.01: SATA link up 6.0 Gbps (SStatus 133 SControl 300)
Dec 27 09:48:57 fedora kernel: ahci 0000:08:00.0: FBS is disabled
Dec 27 09:48:57 fedora kernel: ahci 0000:08:00.0: FBS is enabled
Dec 27 09:48:57 pangea kernel: ahci 0000:08:00.0: FBS is enabled
Dec 27 09:48:57 pangea kernel: ata11.02: SATA link up 6.0 Gbps (SStatus 133 SControl 300)
Dec 27 09:48:57 pangea kernel: ahci 0000:08:00.0: FBS is disabled
Dec 27 09:48:57 fedora kernel: ata11.02: SATA link up 6.0 Gbps (SStatus 133 SControl 300)
Dec 27 09:48:57 fedora kernel: ahci 0000:08:00.0: FBS is disabled
Dec 27 09:48:57 fedora kernel: ahci 0000:08:00.0: FBS is enabled
Dec 27 09:48:57 pangea kernel: ahci 0000:08:00.0: FBS is enabled
Dec 27 09:48:57 fedora kernel: ata11.03: SATA link up 6.0 Gbps (SStatus 133 SControl 300)
Dec 27 09:48:57 pangea kernel: ata11.03: SATA link up 6.0 Gbps (SStatus 133 SControl 300)
Dec 27 09:48:57 fedora kernel: ata11.04: SATA link down (SStatus 0 SControl 310)
Dec 27 09:48:57 pangea kernel: ata11.04: SATA link down (SStatus 0 SControl 310)
Dec 27 09:48:58 pangea kernel: ata11.05: SATA link down (SStatus 0 SControl 310)
Dec 27 09:48:58 fedora kernel: ata11.05: SATA link down (SStatus 0 SControl 310)

Я не могу вспомнить события, которое стало бы значительным изменением, когда это началось. Один SSD диск вышел из строя, поэтому я купил новую пару (все в mdadm RAID1) и установил, но один из новых постоянно отключался от шины (индикатор питания показывал его отключение). Поскольку они находились в отсеках с поддержкой горячей замены, я мог отключить/подключить диск, и он снова начинал работать… иногда мне приходилось снова добавлять его в массив, иногда нет. smartctl не показал никаких ошибок.

Впоследствии я в какой-то момент добавил новую карту PCIe (LSI HBA) и еще одно шасси на 4 диска для увеличения емкости. Это, похоже, ухудшило ситуацию.

Отключение связи не следовало за одним и тем же диском. Иногда один из внутренних (в отсеке с поддержкой горячей замены), иногда один из внешних (также в отсеке с поддержкой горячей замены, в шасси через eSATA-расширитель). Иногда оба диска в зеркале просто «исчезали». Однако, как мне кажется, я никогда не видел сбоя на одном из дисков, подключенных к внутреннему SATA-контроллеру; к сведению, некоторые из «внутренних» дисков подключены к порту на одной из карт расширения PCIe.

Недавно я синхронизировался через rsync на диск во внешнем шасси (блок на 4 диска), и я видел, как индикаторы питания/связи все выключались, затем включались один за другим, возобновляя активность, затем снова все выключались. Это журнал ошибок, который я привел выше.

Ситуация стала довольно нестабильной: мне несколько раз в день приходится переподключать и/или повторно добавлять диск к массиву md.

Известны ли какие-либо проблемы с несколькими дополнительными картами?

Я немного застрял с поиском и устранением этой проблемы. Это поведение наблюдалось на Fedora 33, и я надеялся, что что-то в Fedora 41 могло бы его исправить, так как 33 уже давно не поддерживается, но увы…

На первый взгляд я вижу, что могут быть подключены диски от 0 до 14.

Я бы предположил, что проблема в ПИТАНИИ (т.е. требуется особое внимание!) с таким количеством дисков, поэтому я бы предложил:

  1. СУММИРОВАТЬ все числа Aмпер – для всех дисков с учетом разной Напряжения.
  2. Теперь; Имеет ли БП (источник питания) возможность обеспечивать это количество мощности – постоянно?
    Обратите внимание, что требования к мощности при запуске также могут быть особым случаем.
    Также обратите внимание; работа на самом пределе может быть проблематичной.
    Еще одно; тепло (вещи, работающие при высокой температуре) вероятно будет иметь негативные последствия.
  3. Кроме того, могут возникать проблемы с программным обеспечением / драйверами, (IRQ?) задержкой, требованиями к времени и связанные с ними вопросы.

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

Ваша система с несколькими SATA-контроллерами на Linux Fedora 41 сталкивается с частыми сбросами соединений и отключением жёстких дисков по нескольким причинам. Давайте подробно рассмотрим возможные причины и решения этой проблемы.

Симптомы и Проблемы

У вас есть система с чипсетом AMD X370 и дополнительными контроллерами eSATA, к которым подключены 12 внутренних и 7 внешних дисков. Проблема проявляется в частых сбоях и потере связи с дисками, особенно во время интенсивных операций, таких как синхронизация Rsync. Наиболее распространенные ошибки, такие как «failed to read SCR» и сбросы FPDMA, указывают на проблемы уровня интерфейса между дисками и контроллерами.

Возможные Причины

  1. Проблемы с мощностью питания:

    • Каждый жёсткий диск требует значительных энергетических затрат, особенно при запуске. Ваша система, возможно, превышает возможности блока питания, что приводит к сбоям в питании.
    • Необходимо проверить суммарную потребляемую мощность всех подключённых устройств, учитывая напряжение и ампераж. Убедитесь, что блок питания вашей системы способен стабильно поддерживать такую нагрузку.
  2. Проблемы с контроллерами и их взаимодействием:

    • Показания SStatus и SControl в логах говорят о том, что проблемы могут возникать из-за несовместимости драйверов или перегрузки контроллеров.
    • Некоторые контроллеры, особенно при использовании нескольких одновременно, могут создавать конфликты на программном уровне.
  3. Качество и состояние кабелей и разъёмов:

    • Кабели SATA и разъёмы могут быть источником непостоянных соединений. Проверьте на предмет повреждений и замените любые старые или подозрительные кабели.
  4. Перегрев:

    • Нагрев может вызвать нестабильность системы, особенно если у вас ограничена циркуляция воздуха вокруг жёстких дисков. Следите за температурой корпуса и жёстких дисков во время их работы.
  5. Неисправность или несовместимость оборудования:

    • Убедитесь, что все компоненты системы совместимы друг с другом и работоспособны. Возможно стоит протестировать систему с отключёнными отдельными контроллерами или устройствами, чтобы изолировать проблемный компонент.

Решения и рекомендации

  1. Улучшение системы питания:

    • Рассмотрите возможность замены блока питания на более мощный. Это может улучшить стабильность питания и снизить вероятность сбросов связи.
  2. Проверка и обновление драйверов:

    • Обратитесь к производителям контроллеров и материнской платы за обновлёнными драйверами, которые могут содержать исправления для известной несовместимости.
  3. Оптимизация операционной системы:

    • Проверьте использование IRQ и распознавание контроллеров в системе. Попробуйте отключить неиспользуемые устройства или переназначить прерывания, чтобы уменьшить конкуренцию за ресурсы.
  4. Мониторинг и управление температурой:

    • Установите дополнительные вентиляторы для улучшения циркуляции воздуха в корпусе. Используйте программы, такие как lm-sensors, для мониторинга температуры компонентов системы.
  5. Модернизация системы:

    • Если проблемы сохраняются, возможно, стоит пересмотреть архитектуру хранения данных и рассмотреть возможность использования менее загруженных или более современных решений, таких как NAS с встроенным контроллером.

Заключение

Проблемы, с которыми вы столкнулись, многослойные и требуют всестороннего подхода. Начните с базовой диагностики, укрепите питание и охлаждение, обновите драйверы и оптимизируйте операционную систему. Если проблемы всё ещё возникают, возможно, стоит пересмотреть аппаратную конфигурацию системы.

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

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