Как заставить работать карту PCIe Mini-SAS в Linux?

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

Не удается заставить работать эту карту PCIe, и я не могу найти информацию/драйверы о ней в интернете. Все жесткие диски SATA в моем сервере подключены с помощью этой карты, которая шла в комплекте с системой. На Windows она работает сразу в режиме plug-and-play. Но на Linux ничего не происходит. lspci показывает карту, но диски или устройства /dev/sdX не появляются, и я не вижу никаких сообщений/ошибок по этому поводу в dmesg, все же не уверен, что я должен искать.

Кстати, я использую Ubuntu Desktop 20.04. (И если вам интересно, почему десктоп на сервере, это безголовый бокс, но я установил десктоп, чтобы можно было подключаться по VNC, а также по SSH)

Вот эта карта. Написано “Newer MAXPower RAID mini-SAS 6G PCIe 2.0”
RAID Card

РЕДАКТИРОВАТЬ:
Вот что показывает lspci -v:

06:00.0 RAID bus controller: HighPoint Technologies, Inc. Device 1e10 (rev 03)
    Subsystem: HighPoint Technologies, Inc. Device 0000
    Physical Slot: 3
    Flags: fast devsel
    Memory at 90940000 (64-bit, non-prefetchable) [disabled] [size=128K]
    Memory at 90900000 (64-bit, non-prefetchable) [disabled] [size=256K]
    Expansion ROM at 90960000 [disabled] [size=64K]
    Capabilities: [40] Power Management version 3
    Capabilities: [50] MSI: Enable- Count=1/1 Maskable- 64bit+
    Capabilities: [70] Express Endpoint, MSI 00
    Capabilities: [100] Advanced Error Reporting
    Capabilities: [140] Virtual Channel

Согласно быстрому поиску в интернете, это основано на чипе LSI. Чтобы включить поддержку карт на базе LSI в Linux, необходимо загрузить либо модуль mp2sas, либо mpt3sas (или встроить их в ядро), в зависимости от версии ядра и самой карты. Большинство из них будет работать с более новым драйвером mpt3sas.

В зависимости от того, как вы хотите получить доступ к подключенным дискам (например, как к массиву с аппаратным RAID или как к отдельным дискам), вам может понадобиться прошить карту другой версией прошивки IT (“Initiator Target”. Это также известно как режим HBA или Host Based Adaptor mode). Если вам не нужно делиться массивом с системами, не относящимися к Linux (например, с двойной загрузкой), лучше использовать карту в режиме IT и использовать mdadm, LVM, btrfs или ZFS в Linux для функций, подобных RAID.

Прошивка RAID в RAID-картах по сути является мусором по сравнению с тем, на что способны различные виды программного RAID в Linux, и слабые маломощные процессоры в картах даже близко не могут конкурировать с малой долей процессорной мощности хоста, используемой программным RAID. Это особенно верно для карт, которые поддерживают только RAID 0, RAID 1 и RAID 10.

Некоторые лучшие, более дорогие карты, поддерживающие RAID5 или RAID6, имеют хорошие функции, такие как кэш RAM с поддержкой NAND или батареи, чтобы компенсировать проблемы с производительностью и режим отказа write-hole в R5/R6, но RAID-Z в ZFS лучше. И mdadm можно комбинировать с bcache или подобными.


К вашему сведению, сайт Serve The Home раньше был хорошим сайтом для таких технологий, когда он действительно был ориентирован на DIY и домашние серверные вещи. В наши дни он все еще в порядке, но статьи делают его больше сайтом с обзорами, жадно рассматривающими высокопроизводительное корпоративное оборудование. Форумы и архивы сайта по-прежнему хороши и являются хорошим источником полезной информации.

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

Чтобы заставить работать карту PCIe mini-SAS в Linux, следует выполнить несколько шагов, которые помогут успешно интегрировать оборудование в вашу систему Ubuntu 20.04.

Функционал и драйверы:

  1. Проверьте драйверы Linux для LSI-карт:
    Ваш RAID-контроллер, вероятно, основан на чипе LSI и требует загрузки модуля mpt3sas. Убедитесь, что модуль установлен и загружен в вашу систему. Это можно сделать с помощью команды:

    sudo modprobe mpt3sas
  2. Убедитесь, что драйвер правильно установлен:
    После загрузки модуля, проверьте список загруженных модулей:

    lsmod | grep mpt3sas

Проверка оборудования и диагностика:

  1. Проверьте наличие карты в системе:
    Используйте команду lspci, чтобы увидеть, распознается ли карта системой. Если карта видна, но диски не отображаются, проблема скорее всего связана с драйверами или конфигурацией.

  2. Просмотрите журналы системы:
    Используйте dmesg для поиска сообщений от драйвера:

    dmesg | grep -i mpt

    Это позволит увидеть, есть ли ошибки или предупреждения, связанные с картой.

Конфигурация RAID:

  1. Рассмотрите возможность использования IT прошивки:
    Если цель использования карты – работа с отдельными дисками, перепрошивка контроллера в IT-режим (Initiator Target mode) может упростить интеграцию. Это позволит Linux напрямую управлять дисками через стандартные инструменты, такие как mdadm или LVM.

  2. Использование программного RAID Linux:
    В большинстве случаев программный RAID Linux обеспечивает более высокую производительность и надежность по сравнению с аппаратным RAID на бюджетных картах. Инструменты типа ZFS или btrfs могут предложить дополнительные функции и надёжность.

Дополнительные ресурсы и поддержка:

  • Форумы и архивы сайта Serve The Home могут стать отличным источником полезной информации и опыта других пользователей в настройке аналогичных систем.

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

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

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