Вопрос или проблема
Не удается заставить работать эту карту 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”
РЕДАКТИРОВАТЬ:
Вот что показывает 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.
Функционал и драйверы:
-
Проверьте драйверы Linux для LSI-карт:
Ваш RAID-контроллер, вероятно, основан на чипе LSI и требует загрузки модуляmpt3sas
. Убедитесь, что модуль установлен и загружен в вашу систему. Это можно сделать с помощью команды:sudo modprobe mpt3sas
-
Убедитесь, что драйвер правильно установлен:
После загрузки модуля, проверьте список загруженных модулей:lsmod | grep mpt3sas
Проверка оборудования и диагностика:
-
Проверьте наличие карты в системе:
Используйте командуlspci
, чтобы увидеть, распознается ли карта системой. Если карта видна, но диски не отображаются, проблема скорее всего связана с драйверами или конфигурацией. -
Просмотрите журналы системы:
Используйтеdmesg
для поиска сообщений от драйвера:dmesg | grep -i mpt
Это позволит увидеть, есть ли ошибки или предупреждения, связанные с картой.
Конфигурация RAID:
-
Рассмотрите возможность использования IT прошивки:
Если цель использования карты – работа с отдельными дисками, перепрошивка контроллера в IT-режим (Initiator Target mode) может упростить интеграцию. Это позволит Linux напрямую управлять дисками через стандартные инструменты, такие как mdadm или LVM. -
Использование программного RAID Linux:
В большинстве случаев программный RAID Linux обеспечивает более высокую производительность и надежность по сравнению с аппаратным RAID на бюджетных картах. Инструменты типа ZFS или btrfs могут предложить дополнительные функции и надёжность.
Дополнительные ресурсы и поддержка:
- Форумы и архивы сайта Serve The Home могут стать отличным источником полезной информации и опыта других пользователей в настройке аналогичных систем.
Если все предложенные шаги выполнены, но карта не работает должным образом, может потребоваться обновить систему или ядро Linux для лучшей совместимости с современным оборудованием. В крайнем случае, стоит рассмотреть возможность замены карты на модель, лучше поддерживаемую Linux-сообществом.