From a2c72793deb5adcd36af5c0ebfded2817a7dc23d Mon Sep 17 00:00:00 2001 From: Alexey Martemyanov Date: Mon, 17 Aug 2026 13:15:17 +0600 Subject: [PATCH] [2026-08-17] eagle: family/how-to/truenas-sata-ports-and-zfs-pools.md --- .../truenas-sata-ports-and-zfs-pools.md | 44 ++++++++++++++----- 1 file changed, 32 insertions(+), 12 deletions(-) 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 11499514..9881b059 100644 --- a/family/how-to/truenas-sata-ports-and-zfs-pools.md +++ b/family/how-to/truenas-sata-ports-and-zfs-pools.md @@ -16,20 +16,24 @@ **ASUS P8H77-V LE**, чипсет Intel H77. 6 SATA портов на Intel контроллере (порт от ASMedia отсутствует). -### Распределение портов (текущее состояние) +### Распределение портов (текущее состояние — после перетыкания 2026-08-17) | Порт (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 | -| **ata7** (карта ASM1166 02:00.0) | — | — | — | **sde — HGST Ultrastar 12TB (HUH721212ALE600)** ✅ | 8CKD08RE / wwn-0x5000cca26fefbc05 | -| **ata9** (карта ASM1166 02:00.0) | — | — | — | **sdf** — WD 2TB (WD20EFAX, второй) | WD-WXJ2A31CUNNT | +| ata2 (SATA6G_2) | SATA 3 | 6 Gb/s | серый | **sdb** — WD 2TB (WD20EFAX, второй, был на карте ata9) | WD-WXJ2A31CUNNT | +| ata3 (SATA3G_1) | SATA 2 | 3 Gb/s | синий | **sdc** — WD 4TB (WD40EZAZ) | WD-WX22D51JJFZ7 | +| ata4 (SATA3G_2) | SATA 2 | 3 Gb/s | синий | **sdd** — Kingston 120GB SSD (boot) | 50026B77844E881C | +| ata5 (SATA3G_3) | SATA 2 | 3 Gb/s | синий | *занято диском* | — | +| ata6 (SATA3G_4) | SATA 2 | 3 Gb/s | синий | **sde** — Seagate 4TB (ST4000DM004) | WFN66CM2 | +| *(карта ASM1166)* | — | — | — | **НЕ В СЛОТЕ** (lspci не видит) | — | -> ⚠️ В отличие от изначального плана, **IronWolf 12TB сейчас на ata2 (SATA6G_2)**, а не на ata5. Это нормально — ZFS не привязана к порту (см. ниже). +**⚠️ Состояние на 2026-08-17 после перетыкания:** +- **Карта ASMedia ASM1166 физически вытащена из слота** (нет в `lspci`); `/sys/class/ata_port/` содержит только ata1–ata6 (материнка Intel H77). WD 2TB #2 перенесён с карты (ata9) на материнку ata2. +- **HGST 12TB и IronWolf 12TB сейчас НЕ подключены/НЕ линкуются** — их нет ни в `lsscsi`, ни в `/dev/disk/by-id`. Не были бы они и на карте (карты нет). HGST мы заводили на карте, значит при её извлечении он отключился. +- Несмотря на перетыкание пулы **здоровы** (см. раздел про пулы ниже) — подтверждено, что ZFS не зависит от порта. + +> ⚠️ В отличие от изначального плана, диски сейчас не по плану — проверять актуальное распределение по `by-id`/модели, а не по буквам. Типичные буквы при стабильном подключении: sda=WD2TB#1, sdb=WD2TB#2, sdc=WD4TB, sdd=Kingston, sde=Seagate4TB. ## Плата расширения SATA в PCIe (установлена ~2026-07-30) @@ -59,7 +63,9 @@ ## ✅ Решение HGST 12TB (2026-08-17) — корень найден, диск работает -Проблема не-линка HGST по SATA **решена: это 3.3V PWDIS на SATA-питании.** Диск уже работает на карте ASMedia (ata7, см. таблицу выше). Разметка не трогалась — sde1=200M, sde2=10.9TB остались как были. Осталось: добавить диск в пул TrueNAS по by-id/GUID (ZFS к порту не привязана). После добавления — удалить этот блок. +> ⚠️ **Актуальный статус на 2026-08-17 вечер:** хоть HGST и завёлся (см. ниже КАК), в финальном перетыкании **карта ASM1166 вытащена из слота, HGST и IronWolf сейчас НЕ подключены** (подробнее в таблице портов выше). Этот блок фиксирует **как была решена причина не-линка** — пригодится, когда диск вернётся в систему. + +Проблема не-линка HGST по SATA **решена: это 3.3V PWDIS на SATA-питании.** Разметка не трогалась — sde1=200M, sde2=10.9TB остались как были. Когда диск снова будет подключён — добавить в пул TrueNAS по by-id/GUID (ZFS к порту не привязана). После добавления — удалить этот блок. **Что было/что стало:** - Было: HGST не давал `target*` ни на одном порту карты ASM1166 (USB-мост работал, потому что питание подавал мост, не затрагивая PWDIS). @@ -93,11 +99,25 @@ lspci -k | grep -i sata - **Kingston SSD (boot)** — оставить в синем порту SATA3G_2 (ata4). Вся активность только при загрузке, система работает из RAM. - **WD 2TB** — серый SATA6G_1 (ata1), занят. -## Важно про ZFS и перетыкивание +## Важно про ZFS и перетыкание - ZFS не привязана к букве диска или SATA порту. TrueNAS распознаёт пул по GUID на дисках. -- Можно перетыкать диски в любые порты — TrueNAS поднимет пул автоматически. +- Можно перетыкать диски в любые порты — TrueNAS поднимет пул автоматически (подтверждено 2026-08-17). - Если пул не поднялся автоматически: WebUI → Storage → Import Pool. +- Проверка пула после перетыкания: `/sbin/zpool status ` — убедиться что все члены `ONLINE`, ошибки `0 0 0`. + +## Пулы TrueNAS (проверено 2026-08-17) + +Имена пулов, топология и члены — проверять статус через `/sbin/zpool` (см. ниже про PATH). + +| Пул | Размер | Члены (по /dev со стабильным подключением) | Топология | Монтирование | +|-----|--------|-----------|-----------|--------------| +| **RED_2TB** | 5.44T (4.60T занято) | mirror: `sdc2` (WD4TB) + `sde2` (Seagate4TB); отдельно `sda2` (WD2TB) | 1 диск (sda2) + mirror-1 (2 диска) | `/mnt` | +| **boot-pool** | 111G (7.65G занято) | `sdd3` (Kingston 120GB boot SSD) | 1 диск | — | + +- RED_2TB: HEALTH **ONLINE**, нераспределённый свободный диск (данные не реплицируются на sda2 — он отдельный, а не парный). Если redun-dancy важна — учесть, что sda2 без зеркала. +- Идёт регулярный scrub (запускается ночью воскресенья). +- **`zpool` не в PATH для zsh truenas_admin** — вызывать через абсолютный путь `/sbin/zpool` или `/usr/sbin/zpool` (иначе `command not found`). ## Запрещено