Files
obsidian-vault/family/how-to/truenas-sata-ports-and-zfs-pools.md
T

7.7 KiB
Raw Blame History

TrueNAS — SATA порты и пулы

Обновлено: 2026-07-31

Материнская плата

ASUS P8H77-V LE, чипсет Intel H77. 6 SATA портов на Intel контроллере (порт от ASMedia отсутствует).

Распределение портов (текущее состояние)

Порт (ata) Тип Скорость Цвет Диск by-id
ata1 (SATA6G_1) SATA 3 6 Gb/s серый sda — WD 2TB (WD20EFAX) WD-WXH2A31D5HDJ
ata2 (SATA6G_2) SATA 3 6 Gb/s серый sdc — Seagate IronWolf 12TB (ST12000NT001) WV700FQ5
ata3 (SATA3G_1) SATA 2 3 Gb/s синий sdb — WD 4TB (WD40EZAZ) WD-WX22D51JJFZ7
ata4 (SATA3G_2) SATA 2 3 Gb/s синий sde — Kingston 120GB SSD (boot) 50026B77844E881C
ata5 (SATA3G_3) SATA 2 3 Gb/s синий свободен
ata6 (SATA3G_4) SATA 2 3 Gb/s синий sdd — Seagate 4TB (ST4000DM004) WFN66CM2

⚠️ В отличие от изначального плана, IronWolf 12TB сейчас на ata2 (SATA6G_2), а не на ata5. Это нормально — ZFS не привязана к порту (см. ниже).

Плата расширения SATA в PCIe (установлена ~2026-07-30)

PCIe карта: ASMedia ASM1166 (PCI ID 1b21:1166, rev 02), на шине 02:00.0 (под PCIe bridge 0000:00:1c.0). Контроллер виден ядру (драйвер ahci активен), подсистема: ZyDAS Technology Corp.

Состояние (диагностика 2026-07-31):

  • Контроллер создал 32 ата-порта (ata7ata38 на 0000:02:00.0). ⚠️ Это НЕ типичные 6 портов чистой ASM1166 — вероятно плата с расширенным числом портов / мультиплексированием. Уточнить физическое число разъёмов.
  • На НИ ОДНОМ порту карты нет ни одного подключённого/живого диска: у всех 32 портов в sysfs только ata_port host link power uevent, отсутствуют target* и блок-устройства.
  • lsscsi показывает диски только на Intel-хостах 0,1,2,3,5. Хосты карты (7–38) без дисков.
  • В /dev/disk/by-id только 5 дисков — все на материнке.

Целевой диск: HGST 12TB (Ultrastar) — для него и покупалась PCIe SATA-карта. В плане значился как «по USB определяется как sde, USB-карман не нужен, вставить по SATA».

Заключение (диагностика 2026-07-31):

  • HGST 12TB сейчас физически НЕ подключён к серверу (нет в lsscsi, нет в by-id, диски подключаются/перетыкаются). Пока диск не воткнут — система его, естественно, не видит.
  • Когда диск подключается к карте, карта не даёт target* ни на одном порту — т.е. если при реальном подключении по карте диск не появляется в lsscsi, это физическая проблема (контакт кабеля/разъёма, питание диска от БП или от карты — если карта питается только от PCIe слота и недополучает, линк не поднимается). Не софт/TrueNAS.
  • Диск жив — через USB-бокс определяется, «шуршит» при включении (это единственное известное состояние — по плану он сидел в USB как sde).

Следующие шаги (диск на карте PCIe SATA — НЕ починен, статус открыт)

Диагностика 2026-07-31 завершена, но исправление не выполнено — это физическая задача (на месте у NAS). Чтобы будущая сессия подхватила с места простоя:

  1. Переподключить SATA-кабель к карте и диску заново (оба конца до щелчка), попробовать другой разъём карты / другой SATA-кабель.
  2. Убедиться, что карта полностью вставлена в PCIe-слот.
  3. Выключить NAS → переподключить диск → включить (на горячую AHCI hotplug на карте может не сработать).
  4. Проверить задетектился ли диск на карте:
lsscsi -H; lsscsi -g
# ожидается появление нового /dev/sd* на хостах карты (7–38) или target* под:
for a in /sys/devices/pci0000:00/0000:00:1c.0/0000:02:00.0/ata*/host*; do
  tgt=$(ls -d "$a"/target* 2>/dev/null); [ -n "$tgt" ] && echo "$a: $tgt"
done
  1. Если диск появился в TrueNAS Storage — импортировать пул (WebUI → Storage → Import Pool) или создать новый.

Когда диск заведётся и добавится в пул — обновить таблицу портов выше и удалить этот блок «Следующие шаги».

Диагностические команды (полезно для будущих проверок)

# какие диски видит система и где
lsscsi -H; lsscsi -g
# какие порты создала карта и живы ли (target = есть диск)
ls /sys/devices/pci0000:00/0000:00:1c.0/0000:02:00.0/ata*
# для каждого порта карты — есть ли подключённое устройство (target*):
for a in /sys/devices/pci0000:00/0000:00:1c.0/0000:02:00.0/ata*/host*; do
  tgt=$(ls -d "$a"/target* 2>/dev/null); [ -n "$tgt" ] && echo "$a: $tgt"
done
# контроллеры
lspci -k | grep -i sata

Подключение дисков (исходный план)

  • HGST 12TB (sde, USB) — при подключении по SATA: в серый порт SATA6G_2 (ata2). Диск enterprise, 6Gb/s. Ему не нужен USB-карман.
  • Seagate IronWolf — в синий порт SATA3G_3 (ata5). HDD не упирается в 3Gb/s (~300MB/s пропускная), смысла в 6Gb/s нет.
  • Kingston SSD (boot) — оставить в синем порту SATA3G_2 (ata4). Вся активность только при загрузке, система работает из RAM.
  • WD 2TB — серый SATA6G_1 (ata1), занят.

Важно про ZFS и перетыкивание

  • ZFS не привязана к букве диска или SATA порту. TrueNAS распознаёт пул по GUID на дисках.
  • Можно перетыкать диски в любые порты — TrueNAS поднимет пул автоматически.
  • Если пул не поднялся автоматически: WebUI → Storage → Import Pool.

Запрещено

  • Boot pool (Kingston 120GB SSD) — нельзя использовать для Docker, файлов, app data. TrueNAS обновления могут пересоздать boot pool. Размер 120GB мал для логов/образов.

SATA кабель

Любой стандартный SATA кабель подходит. Разницы между кабелями для SATA 2 и SATA 3 нет.