Přeskočit obsah

Architektura Úložiště (Storage Design)

Tento dokument popisuje principy, hardware a logiku ukládání dat v našem Homelabu. Slouží jako referenční příručka pro rozhodování "kam co uložit".

1. Filosofie Úložiště (Tiering)

Ne všechna data jsou si rovna. Používáme třívrstvou architekturu (Tiering), která balancuje mezi rychlostí (IOPS), kapacitou (TB) a životností disků (TBW).

Tier Médium Vlastnosti Určení (Use Case) Pool (TrueNAS)
Tier 1 (Hot) NVMe 🚀 Extrémní IOPS, Nízká latence Databáze, VM disky, Aplikace, Metadata tank
Tier 2 (Warm) SSD (SATA) ⚡ Rychlé čtení, Odolnost cache Ingest (nová data), Cache, Náhledy, Transcoding ssd-cache
Tier 3 (Cold) HDD (3.5") 🐢 Vysoká kapacita, Sekvenční zápis Archiv, Média (Filmy/Fotky), NVR Záznam, Zálohy archive

Proč to dělíme?

  1. Výkon: Databáze (Home Assistant) na HDD by systém zpomalila k nepoužitelnosti.
  2. Hluk a Spotřeba: HDD se může uspávat, pokud se z něj nečte.
  3. Životnost: NVR (kamery) zapisuje nonstop. Nechceme opotřebovat drahé NVMe nebo systémový disk. HDD je na sekvenční zápis stavěné.

2. Hardware Implementace (TrueNAS Scale)

Server truenas (NUC8i3BEH + USB DAS) obsluhuje tyto fyzické disky:

  1. Boot (System): SATA SSD (Interní). Pouze pro OS. Žádná uživatelská data.
  2. tank (NVMe): 1TB Intel (Interní).
    • Služby: PBS Datastore (Meta i Chunks).

      [!WARNING] AI & Agent Note: Dataset tank/pbs-data leží fyzicky na čistém NVMe disku. Nepleťte si ho s archive (HDD). Proxmox Backup Server (GC, Sync writes) na tomto tieru nemá žádný problém s IOPS a nepotřebuje SLOG.

  3. ssd-cache (SSD): 240GB Kingston (USB).
    • Služby: Cache pro Scrypted.
  4. archive (HDD): 4TB WD Purple/Red (USB).
    • Služby: Dlouhodobé úložiště dokumentů, NVR záznamy (30+ dní).

3. Logická Struktura (ZFS Datasets)

V TrueNAS nepoužíváme "obyčejné složky", ale ZFS Datasety.

  • Dataset se chová jako samostatný souborový systém. Může mít vlastní kompresi, kvóty, snapshoty a zálohovací pravidla.
  • Pravidlo: Každá logická aplikace nebo typ dat má vlastní Dataset.

Struktura Datasetů

tank/
├── pbs-data          (Zálohy VM z Proxmoxu - komprese LZ4)
└── docker            (Persistentní data pro ostatní kontejnery)

ssd-cache/
└── nvr-buffer        (Volitelně: Cache pro kamerový systém)

archive/
├── nvr               (Záznamy z kamer - komprese OFF, recordsize=1M)
└── media             (Filmy, Seriály, Hudba)

4. Proxmox Storage (ZFS)

Oba Proxmox nody používají ZFS (rpool) pro lokální VM/CT disky:

Storage Typ Pool Obsah Poznámka
local dir /var/lib/vz ISO, šablony, zálohy Malý (jen ISO)
local-zfs zfspool rpool/data VM disky, LXC rootfs Hlavní storage

[!NOTE] ZFS Replication je nastavena pro pfSense (VM 100) z pmx1 → pmx2 (RPO ~15 min).

5. Síťové Protokoly (Sharing)

Jak se k datům přistupuje zvenčí (z jiných VM nebo PC)?

A. NFS (Network File System) 🐧

  • Použití: Linux-to-Linux, Server-to-Server.
  • Vlastnosti: Rychlé, stabilní, zachovává unixová oprávnění (UID/GID).

Aktuální NFS mounty v Proxmoxu (z /etc/pve/storage.cfg):

Název NFS Export Mount Path Server Použití
nvr-truenas /mnt/archive/nvr /mnt/pve/nvr-truenas TrueNAS Scrypted NVR záznamy

PBS storage (ne NFS, ale Proxmox Backup protocol):

Název Server Datastore Použití
pbs-truenas 192.168.20.8 TrueNas Zálohy VM/CT

B. SMB (Samba / CIFS) 🪟

  • Použití: Klienti (Windows, macOS, iOS), Uživatelé.
  • Vlastnosti: Kompatibilita, viditelné ve Finderu/Průzkumníku.
  • Kdo to používá:
    • Vy (Uživatel): Mapování disku Dokumenty do Macu.
    • Scanner: Odesílání skenů do složky consume (většina tiskáren umí jen SMB).

Tento dokument slouží jako "Source of Truth" pro konfiguraci úložiště. Jakákoliv změna musí být reflektována zde.