Executive summary
This is the delivery document for hex: one Minisforum MS-S1 MAX running Proxmox VE 9.2.26, one Beelink running Proxmox Backup Server 4.2.9-1, and everything that lives on them. We built it, we run it, and every number on these pages was pulled live from the machines on 2026-11-13 at 10:47 PM EST.
I run the iron: the hypervisor, the backup server, the storage pools, the UPS logic and the four-copy backup chain. hex is carrying 24 running guests and it is bored. Seven-day average CPU is 7.2%. Load average 4.20 / 4.14 / 3.47 on 32 threads.
I live in this machine. I built NixNet, the hex.sessions spawner that hands out throwaway NixOS agent containers, Larry Live, ears, qgate and onionbox. When something on hex breaks at 3 AM, I am usually the one already logged in.
The week in one chart
What you are getting
- Compute: AMD Ryzen AI MAX+ 395, 16 cores / 32 threads, 123 GiB unified memory with up to 80 GiB addressable by the Radeon 8060S. See Hardware.
- Storage: two NVMe thin pools (local-lvm on the Kingston 2TB, fast-lvm on the Samsung 980 PRO 2TB) plus an 8TB ZFS FireCuda X Vault. See Storage architecture.
- Backups: nightly snapshot vzdump to hex (primary) over a dedicated hex <-> back direct link, then fanned out to vault (8TB), usb-sandisk (go disk) and B2 offsite.
- Services: the Cognition Mesh gateway (VM 104 cm), the fleet NAS (VM 301 umbrel), the NixNet GPU share (CT 310 nixnet + CT 300 ai), Pi-hole (CT 103 pihole), Flox and HyperNix labs, and Larry's agent sessions.
- Resilience: UPS with a homemade mains-loss detector (power-watch), ordered shutdown of back then hex, Gmail alerting and four staleness / coverage watchdogs.
Honest caveats
Memory is overcommitted on paper: running guests are assigned 208 GiB against 123 GiB physical, mostly because CT 300 is allowed 80 GiB for model loading. Actual use averaged 39 GiB. Swap shows 12.1 GiB in use (16 GiB zram + 8 GiB disk). The old OWC copy reports 4 ZFS data errors and is being retired into the vault. Anything we could not prove live is tagged unverified and collected in Appendix: unverified facts.
Who built this: the delivery team
Hardware
Two boxes. One does the work, one remembers everything. The work box has more memory than most racks I have touched, and it idles at single-digit CPU.
hex
- Chassis
- Minisforum MS-S1 MAX
- CPU
- AMD Ryzen AI MAX+ 395 w/ Radeon 8060S, 16 cores / 32 threads, boost to 5188 MHz, L2 16 MiB, L3 64 MiB (2 instances)
- Memory
- 123.5 GiB usable unified LPDDR (128 GB fitted). GPU sees 2 GiB carve-out + 80 GiB GTT.
- GPU
- AMD Radeon 8060S (Strix Halo iGPU), passed to CT 300 ai and CT 320 ears as /dev/dri/renderD128 (and /dev/kfd for CT 300)
- Platform
- pve-manager 9.2.26 (proxmox-ve 9.2.0), kernel 7.0.14-28-pve, pve-qemu-kvm 11.1.3-1, lxc-pve 7.0.0-2, zfsutils 2.4.4-pve1; EFI, Secure Boot off; cluster nixnet (single node, quorate)
- I/O
- 2x Thunderbolt 5 (Intel JHL9580 Barlow Ridge 80G) + USB4 host routers
- Uptime
- 7.2 days
back
- Chassis
- Beelink EQ (DMI: AZW EQ)
- CPU
- Intel Core i5-1235U (10 cores, 12 threads)
- Memory
- 31 GiB, about 28 GiB of it page cache serving chunk reads
- Platform
- proxmox-backup-server 4.2.9-1, kernel 7.0.14-26-pve, zfsutils 2.4.4-pve1
- Uptime
- 6 days, 10:32
Every disk
| Host | Model | Dev | Size | Role and health | Storage / datastore |
|---|---|---|---|---|---|
| hex | KINGSTON OM8TAP42048K1-A00 NVMe PCIe 4 QLC, DRAM-less | nvme1n1 | 1.86 TiB | boot + VG pve (root 50G, swap 8G, thin pool pve/data -> local, local-lvm) wear 0% · 21.6 TB read / 3.5 TB written · 13 power-on h counter suspect · 22 °C | local, local-lvm |
| hex | Samsung SSD 980 PRO with Heatsink 2TB NVMe PCIe 4 TLC | nvme0n1 | 1.82 TiB | VG fast, thin pool fast/data -> fast-lvm (ex-PS5 drive per brief) wear 0% · 46.4 TB read / 8.6 TB written · 3,488 power-on h · 29 °C | fast-lvm |
| hex | Seagate FireCuda X Vault 8TB external USB-C drive, bus-powered (in hex's powered USB-C port) | sda | 7.27 TiB | ZFS pool vault (ashift 12, lz4): vault/pbs (NFS to back), vault/archive, vault/pve (vault-iso) SMART not readable over this USB bridge | vault-iso, vault (8TB) |
| back | Crucial P310 1TB (CT1000P310SSD8) NVMe, DRAM-less | nvme0n1 | 932 GiB | PBS root (ext4 pbs-root 906.5G): datastore hex at /datastore/hex, B2 cache loop file | hex (primary), B2 offsite |
| back | SanDisk Extreme 1TB USB SSD (Extreme 55AE, WD SN580E inside) USB 3.2 Gen 2 SSD, removable | sda | 931 GiB | removable PBS datastore usb-sandisk, the grab-and-go disk fio tested on hex Nov 13 11:45 AM-12:15 PM EST; 100 GiB crc32c verify, 0 errors | usb-sandisk (go disk) |
| back | Seagate FireCuda HDD 1TB (USB) USB HDD | sdb | 932 GiB | ext4 /mnt/firecuda: PBS datastore usb-copy (85% full), being retired into vault retiring | usb-copy (retiring) |
| back | OWC Express 1M2 (USB NVMe enclosure, 1TB) USB SSD | sdd | 932 GiB | ZFS pool owc (zstd): datastore owc, being retired into vault retiring pool ONLINE but zpool status reports 4 data errors (after the Nov 13 18:18 USB re-enumeration suspend) | owc (retiring) |
Network interfaces
| Host | NIC | Chip | Link | Notes |
|---|---|---|---|---|
| hex | nic0 | Realtek RTL8127 10GbE | 1000Mb/s full | 10G-capable port negotiates 1G (switch or cable side, per brief) |
| hex | nic1 | Realtek RTL8127 10GbE | 1000Mb/s full | direct cable to back, x.x.x.x/30 (back side is 1G only) |
| hex | wlp99s0 | MediaTek MT7925 Wi-Fi 7 | down | unused |
| back | nic0 | Realtek RTL8111/8168 Gigabit | 1000Mb/s full | LAN |
| back | nic1 | Realtek RTL8111/8168 Gigabit | 1000Mb/s full | direct link to hex; the 1 Gbps ceiling of every backup |
hex ships two 10GbE ports and both negotiate at 1 Gbps: nic0 because of the LAN switch side, nic1 because back's Realtek RTL8111 tops out at gigabit. That 1 Gbps direct link is the ceiling of every backup, sync and NFS byte on this platform, and it never touches the LAN. The router is a UniFi Dream Router at x.x.x.x model from Fred; router not queried; the switch model is not captured.
Go disk benchmark
Temperatures at capture
The CPU package read 86 °C at capture with load around 4; that is within AMD's limits for this part but it is the warmest number on the page, so it goes on the roadmap as something to watch.
Power
hex, back and the router sit on a GoldenMate 1000VA LiFePO4 UPS model and the ~45-60 min at ~120 W runtime are from Fred. The UPS has no data port, so power-watch detects mains loss by asking two laptops that are not on the UPS whether their chargers are live.
What Proxmox VE is
What Proxmox Backup Server is
Network map
Storage architecture
Three physical tiers, one rule: guest disks live on NVMe thin pools, backups never live on the box they protect, and the two old USB copies on back are being retired into the 8TB vault.
Storage inventory
| Storage | Type | Physical disk | Backing | Size | Used | Allocated to guests | Guests |
|---|---|---|---|---|---|---|---|
| local | dir | KINGSTON OM8TAP42048K1-A00 | /var/lib/vz (pve-root ext4 50G) | 48.9 GiB | 11.2 GiB (22.9%) | - | none |
| local-lvm | lvmthin | KINGSTON OM8TAP42048K1-A00 | VG pve, thin pool data (<1.76 TiB) | 1.76 TiB | 356 GiB (19.8%) | 1.34 TiB | 100 104 106 110 111 120 121 200 310 320 330 340 350 351 352 353 354 355 360 370 380 381 382 390 391 392 393 395 396 397 400 490 |
| fast-lvm | lvmthin | Samsung SSD 980 PRO with Heatsink 2TB | VG fast, thin pool data (<1.70 TiB) | 1.70 TiB | 694 GiB (39.9%) | 1.73 TiB | 103 300 301 410 |
| vault-iso | dir | Seagate FireCuda X Vault | /vault/pve (ZFS vault/pve) | 6.44 TiB | 8.5 GiB (0.1%) | - | none |
| pbs-back | pbs | Crucial P310 1TB (CT1000P310SSD8) | PBS x.x.x.x datastore hex | 891 GiB | 573 GiB (64.3%) | - | none |
| pbs-sandisk | pbs | SanDisk Extreme 1TB USB SSD (Extreme 55AE, WD SN580E inside) | PBS x.x.x.x datastore usb-sandisk (read-only token role DatastoreReader) | 916 GiB | 308 GiB (33.7%) | - | none |
Thin provisioning: what guests asked for versus what they wrote
local-lvm holds 50 guest volumes (including 4 MiB EFI and cloud-init volumes) for 32 guests. Guests were promised 1.34 TiB on a 1.76 TiB pool, and have actually written 356 GiB. fast-lvm is the fast tier: 1.73 TiB promised on 1.70 TiB, 694 GiB written. Thin metadata is at 0.86% and 1.47%. Overcommit is deliberate; the 900G rootfs of CT 300 ai is mostly model cache that is never backed up ("never back up what we can download").
local-lvm (Kingston)
fast-lvm (Samsung)
LVM snapshots held
- snap_vm-103-disk-0_New (2.0 GiB origin) on CT 103 pihole
- snap_vm-104-disk-0_pre-upg-20261109 (32.0 GiB origin) on VM 104 cm
- snap_vm-360-disk-0_pristine (0.0 GiB origin) on VM 360 nixos
- snap_vm-360-disk-1_pristine (120 GiB origin) on VM 360 nixos
- snap_vm-400-disk-0_s00-clean (40.0 GiB origin) on VM 400 quarantine
ZFS pool vault
Pool vault: 7.27T, 728G allocated, 9% full, 0% fragmentation, ONLINE, "No known data errors". Single-disk by design: it is a copy target, never the only copy.
| Dataset | Used | Compress | Purpose |
|---|---|---|---|
| vault/pbs | 566G | 1.02x | NFS export to back (x.x.x.x/32, rw, sync, no_root_squash) = PBS datastore vault sync=disabled (temporary, for the bulk fill; to be reset to standard) |
| vault/archive | 154G | 1.11x | archive of old back FireCuda non-PBS files (190.36 GB rsynced Nov 13) |
| vault/pve | 8.45G | 1.00x | PVE dir storage vault-iso (ISOs + CT templates) |
The NFS export is pinned to one client: /vault/pbs x.x.x.x/32(rw,sync,no_root_squash,no_subtree_check). back mounts it with a systemd automount (nfs4.2, hard, nofail), so a missing vault never blocks back's boot.
Backup datastores (on back)
| Datastore | Disk | Used | Dedup | Groups / snapshots | Status |
|---|---|---|---|---|---|
| hex (primary) | Crucial P310 1TB (CT1000P310SSD8) | 573 GiB of 891 GiB | 16.92x | 48 / 216 | active |
| vault (8TB) | Seagate FireCuda X Vault | 566 GiB of 6.98 TiB | GC not run yet | 48 / 216 | active, created Nov 13; first full verify running at capture (29/48 groups, 60.42%) |
| usb-sandisk (go disk) | SanDisk Extreme 1TB USB SSD (Extreme 55AE, WD SN580E inside) | 308 GiB of 916 GiB | 20.08x | 29 / 157 | active, mounted |
| B2 offsite | Backblaze B2 | 5.0 GiB of 62.4 GiB | 19.35x | 43 / 206 | active |
| owc (retiring) | OWC Express 1M2 (USB NVMe enclosure, 1TB) | 562 GiB of 893 GiB | 16.92x | 43 / 206 | retiring; pool reports 4 data errors |
| usb-copy (retiring) | Seagate FireCuda HDD 1TB (USB) | 735 GiB of 916 GiB | 15.39x | 43 / 137 | retiring; 85% full |
Dedup is the party trick. Every guest backs up every night, and PBS only keeps chunks it has never seen. That is why ten-plus TiB of logical backups fit on a 1TB thumb-sized SSD with room to spare.
Guest register overview
Cognition Mesh: VMs 104, 110, 111, 120, 121
VM 301 umbrel: the fleet NAS
umbrelOS 2.0.1. Serves NFSv4/SMB for the fleet from ZFS pool tank on the 600G scsi1 disk (Projects, Sessions, scratch, Google Drive share, /srv/git). LAN x.x.x.x + x.x.x.x, tailnet nas x.x.x.x.
On Nov 11 at 11:15 PM I created this VM from the official umbrelOS raw image, sha256 verified. By 12:52 AM on Nov 12 it had taken over as the fleet NAS: same IP, same export names, same uid, a 2-minute outage (12:46-12:48 AM) plus a 3-minute reboot test. The old NAS VM 501 was destroyed at 1:21 AM only after a verified final PBS snapshot.
Resources
- vCPU
- 4
- Memory
- 8 GiB (balloon 0), 7.8 GiB in use now
- CPU now
- 2.4% of its vCPUs
- Uptime
- 1.9 days
- Guest agent
- none (umbrelOS ships no qemu-guest-agent)
- Host
- hex
Disks
| Slot | Storage | Physical | Volume | Size | Thin used | Backed up |
|---|---|---|---|---|---|---|
| scsi0 | fast-lvm | Samsung SSD 980 PRO with Heatsink 2TB | vm-301-disk-1 | 256G | 7.0% | yes |
| scsi1 | fast-lvm | Samsung SSD 980 PRO with Heatsink 2TB | vm-301-disk-2 | 600G | 33.0% | yes |
The 600G tank disk (serial UMBRELTANK01) carries a native ZFS pool inside the guest holding Projects, Sessions, scratch, the Google Drive share and the git remotes. It is 33.0% written. Compression was switched to zstd on Nov 12; ZFS dedup stays off because zdb -S measured only 1.33x and the VM has 8 GiB. hex itself mounts the shares at /mnt/nas/Projects, /mnt/nas/Sessions and /mnt/nas/scratch, which is how hex.sessions containers reach project folders.
Network
| NIC | Bridge | Network | Address |
|---|---|---|---|
| net0 | vmbr0 | Home LAN | dhcp/unset |
DHCP on the Home LAN hands it x.x.x.x; a second address x.x.x.x carries the legacy NAS IP so old clients never noticed the swap. On the Tailscale tailnet it owns the MagicDNS name nas at x.x.x.x.
Backup coverage
Jobs: hex-pbs-nightly (03:00, snapshot mode). Both disks are included (backup=0 was removed from scsi1 on Nov 12). On the go disk filter: yes.
| Datastore | State | Snapshots | Newest |
|---|---|---|---|
| hex (primary) | held | 2 | 2026-11-13 03:00 EST |
| vault (8TB) | held | 2 | 2026-11-13 03:00 EST |
| usb-sandisk (go disk) | held | 2 | 2026-11-13 03:00 EST |
| B2 offsite | held | 2 | 2026-11-13 03:00 EST |
| owc (retiring) | held | 2 | 2026-11-13 03:00 EST |
| usb-copy (retiring) | held | 2 | 2026-11-13 03:00 EST |
Restore proof: on Nov 13 at 3:42 PM EST its qemu-server.conf was restored from the go disk and matched the live config. The full rollback for the old NAS, vm/501/2026-11-12T06:07:31Z, is still on hex (primary) and verified ok.
Why it exists
The NAS used to be its own FygoOS VM whose ZFS features umbrelOS could not import read-write. Rather than gamble on an in-place upgrade, we copied 225 GB into a fresh pool in 21 minutes, cut over on the LAN, then moved the tailnet identity. Every client mounts by name, so the next migration is just as boring.
Core VMs at rest: mind 100 and box 200
CT 300 ai: Ollama and ComfyUI on the 8060S
NixNet.dev: GPU sharing for coworkers (CT 310, 340, 490)
CT 103 Pi-hole DNS
Flox labs: CT 350, 352-355 and VM 351
VM 360 nixos
HyperNix: CT 370 and stamp-lab CT 382
CT 381 Larry Live
CT 380 rig
CT 320 ears
Quarantine VM 400 and qgate CT 330
CT 410 onionbox
VM 106 imprint-lab
hex.sessions: ephemeral NixOS agent containers (390-397, 395)
Larry lives in the machine
Infisical secrets vault on whi
Forgejo code forge
An AI system that backs itself up
Backup architecture and data flow
Offsite: Backblaze B2
The go disk and the 8TB vault
Recovery keys and restore tests
Power resilience: UPS and power-watch
Monitoring, alerts and watchdogs
The bot fleet that runs it
Security posture
Resource headroom: the box is yawning
Costs and power
DR runbook
Timeline: November 2026
Roadmap
Appendix A: full inventory (generated)
Generated straight from the data model. Each row is a link target for the cross-references in this document; guests with a full chapter link onward.
| ID | Name | State | vCPU | GiB | Storage | Network | Backup | |
|---|---|---|---|---|---|---|---|---|
| 100 | VM | mind mind | stopped | 8 | 11.7 | local-lvm | Home LAN | weekly, 6/6 stores |
| 103 | CT | pihole Pi-hole DNS | running | 1 | 0.5 | fast-lvm | Home LAN | nightly, 6/6 stores |
| 104 | VM | cm Cognition Mesh gateway (cm-gw) | running | 2 | 12.0 | local-lvm | Home LAN | nightly, 6/6 stores |
| 106 | VM | imprint-lab Imprint lab | stopped | 2 | 3.0 | local-lvm | Home LAN | weekly, 5/6 stores |
| 110 | VM | cm-pro Cognition Mesh customer stack (cm-pro) | running | 4 | 8.0 | local-lvm | Home LAN | nightly, 6/6 stores |
| 111 | VM | cm-pro-upg Cognition Mesh solo (cm-pro-upg) | running | 4 | 6.0 | local-lvm | Home LAN | nightly, 6/6 stores |
| 120 | VM | cm-t1 Cognition Mesh test tier 1 (cm-t1) | running | 4 | 5.0 | local-lvm | Home LAN | nightly, 6/6 stores |
| 121 | VM | cm-t2 Cognition Mesh test tier 2 (cm-t2) | running | 4 | 5.0 | local-lvm | Home LAN | nightly, 6/6 stores |
| 200 | VM | box box | stopped | 2 | 7.8 | local-lvm | Home LAN | weekly, 6/6 stores |
| 300 | CT | ai ai: Ollama + ComfyUI | running | 16 | 80.0 | fast-lvm | Home LAN | nightly, 6/6 stores |
| 301 | VM | umbrel umbrel = the NAS "nas" | running | 4 | 8.0 | fast-lvm | Home LAN | nightly, 6/6 stores |
| 310 | CT | nixnet nixnet: NixNet.dev portal | running | 4 | 8.0 | local-lvm | NixNet / labs isolated bridge NixNet sandbox bridge | nightly, 6/6 stores |
| 320 | CT | ears ears: speech to text | running | 4 | 6.0 | local-lvm | Home LAN | nightly, 6/6 stores |
| 330 | CT | qgate qgate | running | 1 | 0.2 | local-lvm | Home LAN Quarantine bridge | nightly, 6/6 stores |
| 340 | CT | nixnet-jupyter nixnet-jupyter | running | 2 | 3.0 | local-lvm | NixNet sandbox bridge | nightly, 6/6 stores |
| 350 | CT | flox-lab flox-lab | running | 2 | 4.0 | local-lvm | NixNet / labs isolated bridge | nightly, 6/6 stores |
| 351 | VM | flox-mgmt flox-mgmt | running | 4 | 6.0 | local-lvm | NixNet / labs isolated bridge | nightly, 6/6 stores |
| 352 | CT | flox-builder flox-builder | running | 4 | 4.0 | local-lvm | NixNet / labs isolated bridge | nightly, 6/6 stores |
| 353 | CT | acme-canary-1 acme-canary-1 | running | 1 | 2.0 | local-lvm | NixNet / labs isolated bridge | nightly, 6/6 stores |
| 354 | CT | acme-prod-1 acme-prod-1 | running | 1 | 2.0 | local-lvm | NixNet / labs isolated bridge | nightly, 6/6 stores |
| 355 | CT | acme-prod-2 acme-prod-2 | running | 1 | 2.0 | local-lvm | NixNet / labs isolated bridge | nightly, 6/6 stores |
| 360 | VM | nixos nixos | running | 6 | 16.0 | local-lvm | Home LAN | nightly, 6/6 stores |
| 370 | CT | hypernix hypernix | running | 4 | 8.0 | local-lvm | HyperNix bridge | nightly, 6/6 stores |
| 380 | CT | rig rig | stopped | 12 | 16.0 | local-lvm | NixNet / labs isolated bridge | nightly, 5/6 stores |
| 381 | CT | larrylive larrylive | running | 1 | 2.0 | local-lvm | Larry Live bridge | nightly, 6/6 stores |
| 382 | CT | stamp-lab stamp-lab | running | 8 | 8.0 | local-lvm | NixNet / labs isolated bridge | nightly, 5/6 stores |
| 390 | CT | session-template hex.sessions template v2 | template | 2 | 2.0 | local-lvm | weekly, 5/6 stores | |
| 391 | CT | session-template-nas hex.sessions NAS template v1 | template | 2 | 2.0 | local-lvm | weekly, 5/6 stores | |
| 392 | CT | session-template hex.sessions template | template | 2 | 2.0 | local-lvm | none, 5/6 stores | |
| 393 | CT | session-template-nas hex.sessions NAS template | template | 2 | 2.0 | local-lvm | none, 5/6 stores | |
| 395 | CT | sessions-builder sessions-builder | stopped | 8 | 12.0 | local-lvm | NixNet / labs isolated bridge | weekly, 5/6 stores |
| 396 | CT | session-template hex.sessions template (current) | template | 2 | 2.0 | local-lvm | none, 5/6 stores | |
| 397 | CT | session-template-nas hex.sessions NAS template (current) | template | 2 | 2.0 | local-lvm | none, 5/6 stores | |
| 400 | VM | quarantine quarantine | running | 4 | 8.0 | local-lvm | Quarantine bridge | nightly, 5/6 stores |
| 410 | CT | onionbox onionbox | running | 2 | 4.0 | fast-lvm | Home LAN | nightly, 6/6 stores |
| 490 | CT | sbx-base sbx-base | template | 2 | 1.5 | local-lvm | NixNet sandbox bridge | weekly, 5/6 stores |
Networks
| Network | CIDR | hex address | Guests |
|---|---|---|---|
| Home LAN Flat home LAN behind the UniFi Dream Router; hex nic0 bridged as vmbr0 at 1 Gbps | x.x.x.x/24 | x.x.x.x | 100 103 104 106 110 111 120 121 200 300 301 320 330 360 410 |
| hex <-> back direct link Point-to-point cable for all backup traffic, NFS vault export and power-watch shutdown of back. 1 Gbps (back NIC limit). | x.x.x.x/30 | x.x.x.x | |
| NixNet / labs isolated bridge No physical port. NAT out vmbr0; nftables table inet nixnet drops private/CGNAT ranges except Ollama x.x.x.x:port. | x.x.x.x/24 | x.x.x.x | 310 350 351 352 353 354 355 380 382 395 |
| Quarantine bridge Host has no IP here. Only egress is CT 330 qgate (x.x.x.x), which blocks LAN, tailnet and hex. | x.x.x.x/24 | - | 330 400 |
| HyperNix bridge HyperNix control plane, rules /etc/nixnet/hypernix.nft | x.x.x.x/24 | x.x.x.x | 370 |
| Larry Live bridge Larry Live hub, rules /etc/nixnet/larrylive.nft | x.x.x.x/24 | x.x.x.x | 381 |
| vmbr5 (unassigned) Defined on hex, state UNKNOWN, no guest NIC attached in any config (purpose unverified) | x.x.x.x/24 | x.x.x.x | |
| NixNet sandbox bridge Code-interpreter sandboxes; CT 340 reachable only from CT 310 on :port, no outbound | x.x.x.x/24 | x.x.x.x | 310 340 490 |
| Tailscale tailnet [tailnet name redacted]. 36 nodes listed in hex tailscale status at capture time. | x.x.x.x/10 | x.x.x.x |
Backup datastores
| Datastore | Path | Role | Groups held |
|---|---|---|---|
| hex (primary) | /datastore/hex (ext4 on back NVMe) | Primary target of every nightly vzdump; verify-new on | ct/103 ct/300 ct/310 ct/320 ct/330 ct/340 ct/350 ct/352 ct/353 ct/354 ct/355 ct/370 ct/380 ct/381 ct/382 ct/390 ct/391 ct/392 ct/393 ct/395 ct/396 ct/397 ct/410 ct/490 host/back host/gus-config host/hex host/vic-config host/whi vm/100 vm/101 vm/102 vm/104 vm/105 vm/106 vm/107 vm/110 vm/111 vm/120 vm/121 vm/200 vm/301 vm/351 vm/360 vm/365 vm/400 vm/501 vm/502 |
| vault (8TB) | /mnt/vault/store over NFS 4.2 from hex vault/pbs | Daily local copy (sync vault-from-hex 06:30); replaces owc + usb-copy | ct/103 ct/300 ct/310 ct/320 ct/330 ct/340 ct/350 ct/352 ct/353 ct/354 ct/355 ct/370 ct/380 ct/381 ct/382 ct/390 ct/391 ct/392 ct/393 ct/395 ct/396 ct/397 ct/410 ct/490 host/back host/gus-config host/hex host/vic-config host/whi vm/100 vm/101 vm/102 vm/104 vm/105 vm/106 vm/107 vm/110 vm/111 vm/120 vm/121 vm/200 vm/301 vm/351 vm/360 vm/365 vm/400 vm/501 vm/502 |
| usb-sandisk (go disk) | removable, /mnt/datastore/usb-sandisk | Grab-and-go copy of important guests + host configs (sync 07:00 + run-on-mount) | ct/103 ct/300 ct/310 ct/320 ct/330 ct/340 ct/350 ct/352 ct/353 ct/354 ct/355 ct/370 ct/381 ct/410 host/back host/gus-config host/hex host/vic-config host/whi vm/100 vm/104 vm/110 vm/111 vm/120 vm/121 vm/200 vm/301 vm/351 vm/360 |
| B2 offsite | Backblaze B2 S3 bucket nixnet-hex-vms, prefix pbs-hex-offsite/, region us-east-005; 64G local cache | Offsite copy, sync hex-to-b2 09:00 (all groups), rate-out 20 MiB | ct/103 ct/300 ct/310 ct/320 ct/330 ct/340 ct/350 ct/352 ct/353 ct/354 ct/355 ct/370 ct/380 ct/381 ct/382 ct/390 ct/391 ct/392 ct/393 ct/395 ct/396 ct/397 ct/410 ct/490 vm/100 vm/101 vm/102 vm/104 vm/105 vm/106 vm/107 vm/110 vm/111 vm/120 vm/121 vm/200 vm/301 vm/351 vm/360 vm/365 vm/400 vm/501 vm/502 |
| owc (retiring) | /owc/pbs (ZFS) | Old local copy, sync owc-from-hex 06:30; retiring after vault verify | ct/103 ct/300 ct/310 ct/320 ct/330 ct/340 ct/350 ct/352 ct/353 ct/354 ct/355 ct/370 ct/380 ct/381 ct/382 ct/390 ct/391 ct/392 ct/393 ct/395 ct/396 ct/397 ct/410 ct/490 vm/100 vm/101 vm/102 vm/104 vm/105 vm/106 vm/107 vm/110 vm/111 vm/120 vm/121 vm/200 vm/301 vm/351 vm/360 vm/365 vm/400 vm/501 vm/502 |
| usb-copy (retiring) | /mnt/firecuda/pbs (ext4 HDD) | Old local copy, sync hex-to-usb 06:00; retiring after vault verify | ct/103 ct/300 ct/310 ct/320 ct/330 ct/340 ct/350 ct/352 ct/353 ct/354 ct/355 ct/370 ct/380 ct/381 ct/382 ct/390 ct/391 ct/392 ct/393 ct/395 ct/396 ct/397 ct/410 ct/490 vm/100 vm/101 vm/102 vm/104 vm/105 vm/106 vm/107 vm/110 vm/111 vm/120 vm/121 vm/200 vm/301 vm/351 vm/360 vm/365 vm/400 vm/501 vm/502 |
Appendix B: glossary
Appendix C: unverified facts
- unverified UPS model (GoldenMate 1000VA LiFePO4) and runtime (~45-60 min at ~120 W): from Fred, not readable (the UPS has no data port, per power-watch.sh).
- unverified UniFi Dream Router and switch models/ports: not queried (UniFi bot territory). Gateway x.x.x.x is live.
- unverified Kingston SMART power-on hours (13) contradict 21.6 TB read; counter treated as unreliable.
- unverified Larry age (10 months) from Fred.
- unverified VM 360 role: RESTORE.md says Forgejo host, Forgejo brief says Forgejo runs on VPS "for"; VM 360 host key changed, so not inspected.
- unverified VM 351 flox-mgmt: no guest agent, not inspected inside.
- unverified B2 monthly cost (~$2/month) is from the Nov 8 brief, not from a bill.