Critique from the seasoned homelabbers wanted

While this topic is not directly related to truenas, I assume that it can be interesting for some.

About me

I’m a homelabber/selfhoster for 5… 6… or mb 7 or 8 years now with some IT background. Have set up a dozen of services and plan to set up MOAR. I’m new to truenas but do believe that I got the basic concepts of zfs.

I’m in the middle of upgrading my homelab from the mere, almost a decade-old, non-ZFS NAS to something more robust.
However, I’ve realised that I hadn’t (publicly) discussed my plans for upgrade. So here I am, looking for sanity checks, advice, and considerations.

With the incoming upgrade, I’m trying to achieve two goals:

  1. Grow up lab’s storage and computing capacity. Can be considered done. Almost…
  2. Implement the 3-2?-1-X-0 rule for all my important data. No, offline copies are not gonna happen… at least for now. And I don’t really understand the “2” part in the modern lie of the storage land.

My plan so far is to just use truenas for backups and media storage. The only “non-out-of-the-box” service I gonna run is PBS (I haven’t set it up yet, though). Right now I’m transferring services from my old nas to the proxmox node. And transferring the data from the old nas to my new truenas. And after all is completed, I plan to turn the old nas into an offsite truenas.

So my final scheme would be like...
graph LR
    subgraph Offsite
      ROff[(router)]

      ROff --- WDNas[[Offsite TrueNAS]]
    end

    subgraph Onsite
      ROn[(router)] --- Sw{switch}
      Sw --- WS[["Workstation(s)"]]
      Sw --- Pve[[Proxmox]]
      Sw --- TNas[[Main TrueNAS]]
    end

    Inet((Internet))
    click Inet "https://www.youtube.com/watch?v=j6eFNRKEROw"
    Inet -.- ROn
    Inet -.- ROff

    ROff -.-> |VPN|ROn

    Pve -.-> |shared Onsite321 storage| TNas
    Pve -.-> |backup| TNas
    WS -.-> |backup| TNas
    ROn -.-> |backup|TNas
    
    TNas -..-> |ZFS replication over VPN|WDNas

Seems like discourse mermaid engine doesn’t preserve arrows settings :face_exhaling:.

Regarding the 3 copies, they are:

  1. Online copy. Data that can be accessed right away and stored on: workstations, proxmox VMs/containers, phones, tablets, embedded devices, yada yada.
  2. Onsite backup. Backup of the Online copy. Resides inside truenas.
  3. Offsite backup. Data replicated to offsite truenas via zfs send over vpn.

So my “main” truenas consists of 3 high-level datasets:

  1. OnsiteBackup. Content is described in the previous section. Will be replicated to the offsite Truenas. Thus providing the 3rd copy.
  2. OnsiteRust. Or should I have called it OnsiteSlop? Contains non-private media, ISOs, drivers & software installers and so on. Snapshots ARE a backup for this dataset.
  3. Onsite321.The trickiest one. Contains the 1st copy of private media, documents and other important files which are big enough to not be stored inside the proxmox fast local storage. The 3rd copy would be on offsite truenas as always. But I’m not sure about the 2nd copy. I’ve planned to create a separate pool for the 2nd copy on the “main” truenas. But eventually ditched the idea. Now I’m about to set up one more truenas instance inside the proxmox VM. Or just create another zfs pool on proxmox. Or mb I would just ditch the whole 2nd copy idea… at least for the files that are not mine :smiling_imp:.
That's about it! What do you guys think?