Files
obsidian-vault/family/how-to/truenas-access.md
T

124 lines
8.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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.
- 📌 **2026-09-12: t610 назначен хостом для переноса домашней автоматизации** (HA OS + zigbee2mqtt/mosquitto/nodered/mbusd/modbus-bridge). План: [[family/plans/home-automation-migration-t610]]. RAM 4 ГБ и HDD признаны достаточными (замер нагрузки не требуется).
- **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 контактов, разные ключи). **Перенос планок невозможен ни в одну сторону.**
## Подключение
```bash
ssh -i ~/.ssh/id_rsa truenas_admin@mallexxx.duckdns.org
```
### Снятие железа (рецепт, если понадобится снова)
```bash
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 на роутер:**
```bash
# через 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 "команда"'
```
**Проверка правил форвардинга портов:**
```bash
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"'
```
**Добавление правила порт-форвардинга:**
```bash
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):
> ```bash
> # с 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/