Files

8.1 KiB
Raw Permalink Blame History

TrueNAS — Домашний NAS

Основное

Параметр Значение
Версия TrueNAS SCALE 24.10
CPU Intel Pentium G2020 @ 2.90 ГГц (2 ядра / 2 потока, Ivy Bridge, LGA1155)
RAM 21 ГБ DDR3
Мать ASUS P8H77-V LE (чипсет Intel H77)
Web UI https://mallexxx.duckdns.org
Web UI (IP) http://90.189.160.148
SSH truenas_admin@mallexxx.duckdns.org
SSH (IP) truenas_admin@90.189.160.148
SSH-ключ ~/.ssh/id_rsa
Сеть 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.

Железо (проверено 2026-09-10, lscpu + free -h на живом хосте)

Параметр Значение
Материнская плата ASUS P8H77-V LE (чипсет Intel H77, LGA1155)
CPU Intel Pentium G2020 @ 2.90 ГГц (2 ядра / 2 потока, Ivy Bridge, 2013)
RAM 21 ГБ DDR3 (на 2026-09-10: занято 17 ГБ, free 1.8 ГБ, buff/cache 3.2 ГБ, available 3.6 ГБ)
Swap 0 B (не используется)
Диски см. truenas-sata-ports-and-zfs-pools

📌 До 2026-09-10 CPU/RAM в доке отсутствовали — при вопросах о производительности/совместимости приходилось выяснять заново. Теперь зафиксировано.

⚠️ RAM 21 ГБ нестандартна для LGA1155 — на P8H77-V LE стоят планки разного объёма (flex mode). Проверять при апгрейде.

Следствие по нагрузке: занято 17 из 21 ГБ → узел работает на пределе по памяти, не по CPU. Именно RAM (21 ГБ), а не процессор — причина, по которой тут крутятся immich + HA + ~25 контейнеров + ZFS-кэш. CPU G2020 — узкое место только в single-thread-задачах.

Производительность в сравнении (2026-09-10)

Узел CPU PassMark (сумма) Single-thread RAM TDP
TrueNAS (Таёга) 2× Pentium G2020 @2.9 ~1700 ~1400 21 ГБ DDR3 55 Вт
RPi4 4GB (Кракен) 4× Cortex-A72 @1.5 ~1900 ~750 4 ГБ LPDDR4 57 Вт
HP t610 2× AMD T56N @1.65 ~850 ~450 4 ГБ DDR3 915 Вт

Выводы:

  • TrueNAS ≈ RPi4 по многопотоку (2 ядра против 4), но вдвое выше в single-thread. Сервисы HA/Node-RED/БД single-thread-зависимы → здесь TrueNAS выигрывает.
  • HP t610 — вдвое слабее обоих (2011, Bobcat-ядро). Единственный плюс — x86-64, официальные образы встают без возни с ARM.
  • Jellyfin-транскод не тянет никто из трёх (iGPU HD2500 у G2020 без современного кодека; RPi4/t610 — нет аппаратного пути).

Совместимость с DDR/DDR2 из гаража

Платы из гаража (family/documents/garage-lucky-park) несут DDR 333/400 и DDR2 533/667; TrueNAS (P8H77-V LE) — DDR3. Три поколения, физически и электрически несовместимы (184 / 240 / 240 контактов, разные ключи). Перенос планок невозможен ни в одну сторону.

Подключение

ssh -i ~/.ssh/id_rsa truenas_admin@mallexxx.duckdns.org

Снятие железа (рецепт, если понадобится снова)

ssh -i ~/.ssh/id_rsa truenas_admin@mallexxx.duckdns.org \
  'lscpu | grep -iE "model name|^CPU\(s\)|MHz|socket|core|thread"; free -h'

dmidecode -t 17 требует root — truenas_admin не имеет passwordless sudo, вернёт пусто. CPU/RAM берутся из lscpu + free -h без root.

OpenWrt — доступ с TrueNAS

SSH на роутер:

# через docker-контейнер с sshpass
docker run --rm alpine sh -c 'apk add -q openssh sshpass && sshpass -p 1316261 ssh -o StrictHostKeyChecking=no root@192.168.2.2 "команда"'

Проверка правил форвардинга портов:

docker run --rm alpine sh -c 'apk add -q openssh sshpass && sshpass -p 1316261 ssh -o StrictHostKeyChecking=no root@192.168.2.2 "uci show firewall | grep redirect"'

Добавление правила порт-форвардинга:

docker run --rm alpine sh -c 'apk add -q openssh sshpass && sshpass -p 1316261 ssh -o StrictHostKeyChecking=no root@192.168.2.2 "uci add firewall redirect && uci set firewall.@redirect[-1].name=ИМЯ && uci set firewall.@redirect[-1].proto=tcpudp && uci set firewall.@redirect[-1].src=wan && uci set firewall.@redirect[-1].src_dport=ПОРТ && uci set firewall.@redirect[-1].dest=lan && uci set firewall.@redirect[-1].dest_ip=192.168.2.197 && uci set firewall.@redirect[-1].dest_port=ПОРТ && uci set firewall.@redirect[-1].target=DNAT && uci commit firewall && /etc/init.d/firewall reload"'

Пароль root: 1316261

💡 Бэкап firewall OpenWrt перед любой правкой redirect-правил (вошло в практику 2026-09-01):

# с TrueNAS: сохранить весь firewall-конфиг OpenWrt в backup-папку TrueNAS
docker run --rm alpine sh -c 'apk add -q openssh sshpass && sshpass -p 1316261 ssh -o StrictHostKeyChecking=no root@192.168.2.2 "uci show firewall"'
# → сохранить вывод в /mnt/RED_2TB/docker/backups/openwrt-firewall-YYYYMMDD-HHMMSS.txt
# Пример сделанного: /mnt/RED_2TB/docker/backups/openwrt-firewall-20260901-130558.txt

Существующие redirect-правила OpenWrt → TrueNAS(192.168.2.197): MQTT 1883, SSH 22, caddy_http 80→8088, caddy_https 443→8443, HomeAssistant 8123 (disabled).

Пул и датасеты

Пул: RED_2TB (ZFS) Точка монтирования: /mnt/RED_2TB/

Датасет Путь Назначение
storage/ /mnt/RED_2TB/storage/ Общее хранилище
backup/ /mnt/RED_2TB/backup/ Резервные копии
Photos/ /mnt/RED_2TB/Photos/ Фотографии
TimeMachine/ /mnt/RED_2TB/TimeMachine/ Бэкапы macOS
Edu/ /mnt/RED_2TB/Edu/ Учебные материалы
storage/git/ /mnt/RED_2TB/storage/git/ Git-репозитории

⚠️ Важно: boot-pool не выживает после обновления

/home и /root находятся на boot-pool и стираются при обновлении TrueNAS.

Всё важное (конфиги, ключи, скрипты) должно лежать в /mnt/RED_2TB/, а не в /home/truenas_admin/ или /root/.

Типичные жертвы:

  • SSH authorized_keys в /home
  • Cron jobs, написанные в /etc
  • Любые файлы вне /mnt/RED_2TB/