Ситуация, когда TrueNAS не видит диски — классическая проблема, с которой сталкиваются как новички, так и опытные админы при сборке или модернизации NAS. Представь, что ты собрал сервер, подключил диски, загрузил систему, а в интерфейсе пусто. Не паникуй. Давай разберем эту проблему системно, как настоящий DevOps-инженер — от проверки физического подключения до тонкостей настройки контроллеров.
1. Диагностика физического уровня: основа основ
Первое, что нужно сделать — исключить банальные аппаратные проблемы. Пропуск этого шага — самая частая ошибка.
1.1. Проверка питания и кабелей SATA/SAS
- Двойной кабель питания: Убедись, что к каждому диску подключен и кабель данных (SATA/SAS), и кабель питания. Модульные блоки питания иногда имеют незакрепленные разъемы.
- Качество кабелей: Дешевые SATA-кабели — частая причина нестабильной работы. Попробуй заменить кабель, особенно если он сильно перегнут или имеет видимые повреждения.
- Питание背板: Если используешь серверный шасси с背板 (backplane), проверь, подключены ли к нему оба шлейфа питания (если предусмотрено).
1.2. Просмотр дисков на уровне BIOS/UEFI и загрузчика
Зайди в BIOS/UEFI материнской платы или в меню загрузки (обычно F11, F12 при старте). Видны ли там твои диски? Если нет — проблема точно аппаратная (питание, кабель, порт, сам диск). Если видны — проблема на уровне операционной системы.
# После загрузки TrueNAS открой Shell (через веб-интерфейс или консоль)
# Смотрим, что видит ядро FreeBSD на низком уровне
pciconf -lv | grep -A4 -B2 storage # Ищем контроллеры
camcontrol devlist # Классическая команда для просмотра устройств, видимых подсистемой CAM
dmesg | grep -i sd # Ищем упоминания дисков (sd0, sd1 и т.д.) в логе загрузки
dmesg | grep -i ada # Для дисков в режиме AHCI (чаще SATA)
2. Проблемы с контроллерами и режимами работы
Это самая важная и сложная часть. TrueNAS (на базе FreeBSD) крайне требователен к тому, как с дисками работает контроллер.
2.1. Режим SATA Controller: только AHCI
В BIOS материнской платы для встроенных SATA-портов должен быть выставлен режим AHCI. Режимы RAID (Intel RST, AMD RAID) или IDE/Legacy — не подходят. Фирменный RAID от производителя материнской платы — это проприетарный драйвер, который TrueNAS не увидит как отдельные диски.
2.2. Выбор HBA (Host Bus Adapter) карты
Если встроенных портов не хватает, нужна дополнительная карта. Не все подходят!
| Тип контроллера | Подходит для TrueNAS? | Причина | Примеры |
|---|---|---|---|
| True HBA (IT Mode) | ✅ Идеально | Показывает диски «как есть» системе. ZFS сам управляет RAID. | LSI 9211-8i, 9207-8i, 9300-8i (прошитые в IT mode) |
| RAID-контроллер (IR Mode) | ❌ Плохо | Скрывает диски за виртуальным RAID-массивом. ZFS теряет контроль над железом. | LSI 9260-8i, PERC H710, большинство «готовых» карт |
| Девайсы на чипах Marvell, JMicron | ⚠️ Избегать | Часто имеют плохие драйвера в FreeBSD, приводят к ошибкам. | Многие дешевые PCIe-SATA карты |
Если твоя карта в режиме RAID (IR), её нужно перепрошить в IT mode. Для карт LSI/Broadcom/Avago это делается утилитой sas2flash или sas3flash под DOS или Linux.
# Проверка текущего режима и информации о HBA в самой TrueNAS
sas2flash -listall # Для карт SAS2 (LSI 92xx)
sas3flash -listall # Для карт SAS3 (LSI 93xx)
# В выводе ищи строки:
# "IR" = Integrated RAID (плохо)
# "IT" = Initiator Target (хорошо)
3. Диагностика на уровне ОС FreeBSD
Диски есть в BIOS, контроллер правильный, но TrueNAS всё равно не видит их в веб-интерфейсе. Идем глубже.
3.1. Поиск дисков утилитой `geom disk list`
# Самая мощная команда для просмотра всех дисков, обнаруженных системой
geom disk list
# Или более кратко:
gpart list
# Ты увидишь список всех геометрий (дисков).
# Пример вывода для диска da0:
Geom name: da0
Providers:
1. Name: da0
Mediasize: 4000787030016 (3.6T)
Sectorsize: 512
Mode: r2w2e5
descr: ATA ST4000DM004-2CV1
ident: ZDH19P2K
...
Если диск здесь есть (как da0, ada1 и т.д.), но его нет в веб-интерфейсе, проблема может быть в том, что диск содержит старую разметку (GPT, ZFS, RAID метки).
3.2. Очистка диска от предыдущих меток
# Очищаем начало диска от GPT, MBR и других меток.
# Замени da0 на свой идентификатор диска.
dd if=/dev/zero of=/dev/da0 bs=1M count=10
# Или более избирательно, только заголовки ZFS (если диск был в пуле):
dd if=/dev/zero of=/dev/da0 bs=1M oseek=1 count=10
# После этого выполни в веб-интерфейсе "Импорт дисков" или обнови страницу.
3.3. Проверка драйверов и загруженных модулей ядра
# Какие модули, связанные с хранилищем, загружены?
kldstat | grep -i mpt # Для контроллеров LSI (mpt, mps)
kldstat | grep -i ahci # Для SATA AHCI
# Если модуль не загружен, можно попробовать загрузить вручную (но это симптом более глубокой проблемы):
kldload mps # Для LSI SAS3 (12 Гбит/с)
# Смотрим сообщения ядра об ошибках инициализации контроллера:
dmesg | tail -50
4. Пошаговый алгоритм решения проблемы
- Шаг 1: Физика. Выключи сервер. Проверь подключение кабелей SATA/SAS и питания к каждому диску и контроллеру. Попробуй другой порт, другой кабель.
- Шаг 2: BIOS/UEFI. Войди в BIOS. Убедись, что диски там определяются. Переключи режим SATA контроллера на AHCI. Отключи опции типа "Hot Plug" для теста.
- Шаг 3: Контроллер. Если используешь доп. карту, узнай её модель и режим (IT/IR). При необходимости перепрошей в IT mode.
-
Шаг 4: Диагностика в ОС. Загрузи TrueNAS. Через Shell выполни
geom disk listиcamcontrol devlist. Диски есть? Если да — переходи к шагу 5. Если нет — возвращайся к шагам 1-3. -
Шаг 5: Очистка дисков. Если диск виден в
geom, но не в веб-интерфейсе, осторожно очисти его начало командойdd(см. выше). - Шаг 6: Импорт. После очистки обнови страницу веб-интерфейса или нажми "Импорт дисков". Диски должны появиться в списке доступных.
Частые вопросы (FAQ)
TrueNAS не видит NVMe диск. Что делать?
Убедись, что слот M.2 поддерживается процессором/чипсетом (не все слоты работают на всех платах). Проверь в BIOS, не отключен ли слот PCIe, к которому привязан M.2. В TrueNAS NVMe диски отображаются как nvd0, nvd1. Используй geom disk list | grep nvd для проверки.
Диски видны в Shell, но не в веб-интерфейсе. Почему?
Скорее всего, на дисках есть остаточные метки файловой системы или ZFS. Веб-интерфейс фильтрует такие диски, чтобы случайно не стереть данные. Очисти диск, как показано в разделе 3.2, или используй кнопку "Wipe" в интерфейсе (Диски → Выбрать диск → Три точки → Wipe).
Можно ли использовать RAID-контроллер в TrueNAS?
Можно, но только в режиме HBA (IT mode). Если контроллер не поддерживает перепрошивку, его лучше заменить. Использование аппаратного RAID поверх ZFS лишает тебя всех преимуществ самовосстановления, проверки целостности и приводит к конфликту двух систем управления данными.
После обновления TrueNAS пропали диски. В чем причина?
Возможно, сбросились настройки загрузчика или изменились драйвера. Проверь, не слетели ли настройки SATA контроллера в BIOS на RAID/IDE. Загрузись с предыдущего загрузочного окружения (выбор в загрузчике) и откати обновление, если проблема критична.
Итог: Проблема «TrueNAS не видит диски» в 90% случаев решается на аппаратном уровне или неправильной настройкой контроллера. Действуй как системный инженер: начни с физического подключения, проверь BIOS, убедись в правильности режима HBA, а затем уже используй диагностику ОС. Помни, что ZFS хочет полного и прямого контроля над железом — дай ему эту возможность, и твое хранилище будет работать стабильно долгие годы.