[2026-07-31 06:32:54] taiga-vault: family/how-to/truenas-access.md family/how-to/truenas-sata-ports-and-zfs-pools.md
This commit is contained in:
@@ -13,6 +13,8 @@
|
|||||||
| Сеть | 192.168.2.0/24 (через OpenWrt) |
|
| Сеть | 192.168.2.0/24 (через OpenWrt) |
|
||||||
|
|
||||||
> ⚠️ **Eagle и Kraken — в 192.168.1.x, это другая сеть.** Прямой доступ по 192.168.2.197 с них не работает. Для SSH/API с Eagle и Kraken используйте **только** `mallexxx.duckdns.org`.
|
> ⚠️ **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`.
|
||||||
|
|
||||||
## Подключение
|
## Подключение
|
||||||
|
|
||||||
|
|||||||
@@ -1,35 +1,93 @@
|
|||||||
# TrueNAS — SATA порты и пулы
|
# TrueNAS — SATA порты и пулы
|
||||||
|
|
||||||
|
> Обновлено: 2026-07-31
|
||||||
|
|
||||||
## Материнская плата
|
## Материнская плата
|
||||||
|
|
||||||
**ASUS P8H77-V LE**, чипсет Intel H77.
|
**ASUS P8H77-V LE**, чипсет Intel H77.
|
||||||
6 SATA портов на Intel контроллере (порт от ASMedia отсутствует).
|
6 SATA портов на Intel контроллере (порт от ASMedia отсутствует).
|
||||||
|
|
||||||
### Распределение портов
|
### Распределение портов (текущее состояние)
|
||||||
|
|
||||||
| Порт | Тип | Скорость | Цвет | Диск |
|
| Порт (ata) | Тип | Скорость | Цвет | Диск | by-id |
|
||||||
|------|-----|----------|------|------|
|
|------------|-----|----------|------|------|-------|
|
||||||
| SATA6G_1 → ata1 | SATA 3 | **6 Gb/s** | серый | sda — WD 2TB |
|
| ata1 (SATA6G_1) | SATA 3 | 6 Gb/s | серый | **sda** — WD 2TB (WD20EFAX) | WD-WXH2A31D5HDJ |
|
||||||
| SATA6G_2 → ata2 | SATA 3 | **6 Gb/s** | серый | *свободен, для HGST 12TB* |
|
| ata2 (SATA6G_2) | SATA 3 | 6 Gb/s | серый | **sdc** — Seagate IronWolf 12TB (ST12000NT001) | WV700FQ5 |
|
||||||
| SATA3G_1 → ata3 | SATA 2 | **3 Gb/s** | синий | sdd — WD 4TB |
|
| ata3 (SATA3G_1) | SATA 2 | 3 Gb/s | синий | **sdb** — WD 4TB (WD40EZAZ) | WD-WX22D51JJFZ7 |
|
||||||
| SATA3G_2 → ata4 | SATA 2 | **3 Gb/s** | синий | sdb — Kingston 120GB SSD (boot) |
|
| ata4 (SATA3G_2) | SATA 2 | 3 Gb/s | синий | **sde** — Kingston 120GB SSD (boot) | 50026B77844E881C |
|
||||||
| SATA3G_3 → ata5 | SATA 2 | **3 Gb/s** | синий | *свободен, для Seagate IronWolf* |
|
| ata5 (SATA3G_3) | SATA 2 | 3 Gb/s | синий | *свободен* | — |
|
||||||
| SATA3G_4 → ata6 | SATA 2 | **3 Gb/s** | синий | sdc — Seagate 4TB |
|
| 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-карман.
|
- **HGST 12TB (sde, USB)** — при подключении по SATA: в серый порт **SATA6G_2 (ata2)**. Диск enterprise, 6Gb/s. Ему не нужен USB-карман.
|
||||||
- **Seagate IronWolf** — в синий порт **SATA3G_3 (ata5)**. HDD не упирается в 3Gb/s (~300MB/s пропускная), смысла в 6Gb/s нет.
|
- **Seagate IronWolf** — в синий порт **SATA3G_3 (ata5)**. HDD не упирается в 3Gb/s (~300MB/s пропускная), смысла в 6Gb/s нет.
|
||||||
- **Kingston SSD (boot)** — оставить в синем порту SATA3G_2 (ata4). Вся активность только при загрузке, система работает из RAM.
|
- **Kingston SSD (boot)** — оставить в синем порту SATA3G_2 (ata4). Вся активность только при загрузке, система работает из RAM.
|
||||||
- **WD 2TB** — серый SATA6G_1 (ata1), занят.
|
- **WD 2TB** — серый SATA6G_1 (ata1), занят.
|
||||||
|
|
||||||
### Важно про ZFS и перетыкивание
|
## Важно про ZFS и перетыкивание
|
||||||
|
|
||||||
- ZFS не привязана к букве диска или SATA порту. TrueNAS распознаёт пул по GUID на дисках.
|
- ZFS не привязана к букве диска или SATA порту. TrueNAS распознаёт пул по GUID на дисках.
|
||||||
- Можно перетыкать диски в любые порты — TrueNAS поднимет пул автоматически.
|
- Можно перетыкать диски в любые порты — TrueNAS поднимет пул автоматически.
|
||||||
- Если пул не поднялся автоматически: WebUI → Storage → Import Pool.
|
- Если пул не поднялся автоматически: WebUI → Storage → Import Pool.
|
||||||
|
|
||||||
### Запрещено
|
## Запрещено
|
||||||
|
|
||||||
- **Boot pool (Kingston 120GB SSD)** — нельзя использовать для Docker, файлов, app data. TrueNAS обновления могут пересоздать boot pool. Размер 120GB мал для логов/образов.
|
- **Boot pool (Kingston 120GB SSD)** — нельзя использовать для Docker, файлов, app data. TrueNAS обновления могут пересоздать boot pool. Размер 120GB мал для логов/образов.
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user