From fe2c366488513aceb4ef7b236d998e553c9db9cf Mon Sep 17 00:00:00 2001 From: Taiga Date: Fri, 31 Jul 2026 06:32:57 +0000 Subject: [PATCH] [2026-07-31 06:32:54] taiga-vault: family/how-to/truenas-access.md family/how-to/truenas-sata-ports-and-zfs-pools.md --- family/how-to/truenas-access.md | 2 + .../truenas-sata-ports-and-zfs-pools.md | 82 ++++++++++++++++--- 2 files changed, 72 insertions(+), 12 deletions(-) diff --git a/family/how-to/truenas-access.md b/family/how-to/truenas-access.md index 57b50da7..9652c40f 100644 --- a/family/how-to/truenas-access.md +++ b/family/how-to/truenas-access.md @@ -13,6 +13,8 @@ | Сеть | 192.168.2.0/24 (через OpenWrt) | > ⚠️ **Eagle и Kraken — в 192.168.1.x, это другая сеть.** Прямой доступ по 192.168.2.197 с них не работает. Для SSH/API с Eagle и Kraken используйте **только** `mallexxx.duckdns.org`. +> +> 📝 Наблюдение 2026-07-31: `ssh truenas_admin@192.168.2.197` **сработал с Mac Кита (Кит)** в ходе диагностики SATA-карты (по явной просьбе Alex). Т.е. локальный IP может работать, но это не гарантировано — при неудаче откатываться на `mallexxx.duckdns.org`. ## Подключение diff --git a/family/how-to/truenas-sata-ports-and-zfs-pools.md b/family/how-to/truenas-sata-ports-and-zfs-pools.md index 5271d731..e31a6b8e 100644 --- a/family/how-to/truenas-sata-ports-and-zfs-pools.md +++ b/family/how-to/truenas-sata-ports-and-zfs-pools.md @@ -1,35 +1,93 @@ # TrueNAS — SATA порты и пулы +> Обновлено: 2026-07-31 + ## Материнская плата **ASUS P8H77-V LE**, чипсет Intel H77. 6 SATA портов на Intel контроллере (порт от ASMedia отсутствует). -### Распределение портов +### Распределение портов (текущее состояние) -| Порт | Тип | Скорость | Цвет | Диск | -|------|-----|----------|------|------| -| SATA6G_1 → ata1 | SATA 3 | **6 Gb/s** | серый | sda — WD 2TB | -| SATA6G_2 → ata2 | SATA 3 | **6 Gb/s** | серый | *свободен, для HGST 12TB* | -| SATA3G_1 → ata3 | SATA 2 | **3 Gb/s** | синий | sdd — WD 4TB | -| SATA3G_2 → ata4 | SATA 2 | **3 Gb/s** | синий | sdb — Kingston 120GB SSD (boot) | -| SATA3G_3 → ata5 | SATA 2 | **3 Gb/s** | синий | *свободен, для Seagate IronWolf* | -| SATA3G_4 → ata6 | SATA 2 | **3 Gb/s** | синий | sdc — Seagate 4TB | +| Порт (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 ата-порта** (`ata7`–`ata38` на 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». + +**✅ Заключение после решающего теста (карта исправна, дело в HGST):** +- **Карта 100% исправна.** При подключении заведомо рабочего WD 2TB (второго WD20EFAX, `WD-WXJ2A31CUNNT`) в порт карты она **определилась** — появился `host9`→`target9:0:0` с блок-устройством `/dev/sde`. Значит слот/порты/кабель AHCI работают, питания хватает. +- У карты **нет отдельного разъёма питания** (питается от PCIe-слота). Диск питается от БП напрямую. +- Проверены физические порты карты **1 и 6** — оба без линка для HGST. +- Поэтому **проблема в самом HGST 12TB**: при подключении к заведомо исправной карте он не даёт даже `target*` (AHCI не видит присутствие на линке), хотя диск вращается («шуршит» — питание доходит) и определяется через USB-бокс. → **неисправен SATA-интерфейс самого диска** (разъём/PCB/гибкий кабель шпинделя), а не карта и не питание/НЕ TrueNAS. + +## Следующие шаги (HGST 12TB на карте PCIe SATA — НЕ починен, статус открыт) + +Диагностика 2026-07-31 дала **окончательный вывод** (карта исправна, проблема в диске). Физически проблема диска решается на месте у NAS: + +1. **Заведомо рабочий WD 2TB сейчас в карте (host9 = /dev/sde)** — на нём карта работает. Оставь его или верни на материнку после теста. +2. Решающий контроль: вернуть **HGST 12TB в тот же порт/кабель карты**, где определялся рабочий WD. Если HGST снова не даст `target*` при заведомо рабочем кабеле/порте → HGST неисправен по **SATA-интерфейсу**. +3. Проверить HGST **через USB-бокс** (в плане значится «по USB определяется как sde»): если через USB работает, а через SATA нет → дефект SATA-коннектора/PCB самого диска. Тогда: чинить контакт платы диска / использовать через USB / не использовать. +4. Проверить задетектился ли диск на карте: +```bash +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 +``` +5. Если HGST всё же заведётся и добавится в пул — обновить таблицу портов и удалить блок «Следующие шаги». + +> ⚠️ NB: буквы дисков (`sda`/`sdb`/...) **shift-аются при перетыкивании** — сейчас на материнке: [0]=WD2TB, [2]=WD4TB, [3]=Kingston boot, [5]=Seagate4TB, IronWolf на [1]. Не полагаться на буквы, проверять по `by-id`/модели. + +> Когда диск заведётся и добавится в пул — **обновить таблицу портов выше** и удалить этот блок «Следующие шаги». + +## Диагностические команды (полезно для будущих проверок) +```bash +# какие диски видит система и где +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 и перетыкивание - ZFS не привязана к букве диска или SATA порту. TrueNAS распознаёт пул по GUID на дисках. - Можно перетыкать диски в любые порты — TrueNAS поднимет пул автоматически. - Если пул не поднялся автоматически: WebUI → Storage → Import Pool. -### Запрещено +## Запрещено - **Boot pool (Kingston 120GB SSD)** — нельзя использовать для Docker, файлов, app data. TrueNAS обновления могут пересоздать boot pool. Размер 120GB мал для логов/образов.