Correct Ana-side NAS identity: Debian 12, not TrueNAS
Network probes (no web admin, Debian SSH banner, only file-server ports open) show 10.250.50.50 is vanilla Debian 12 with hand-configured NFS/SMB, reprovisioned from the original TrueNAS SCALE install. Update stack comments, README storage notes, Backrest description, proxmox-vms.md entry for VM 100, and the restic configs intro to match. Cross-site sync plan simplifies to plain rsync over SSH on both sides — no appliance-specific tooling needed.
This commit is contained in:
@@ -2,6 +2,8 @@
|
||||
|
||||
Per-host restic backup configs, deployed into `/etc/restic/` on each server and driven by `resticprofile` + `systemd` timers.
|
||||
|
||||
Writes flow to two rest-servers: the Anaheim one on ana-docker stores data to an NFS mount backed by the Debian file server at `10.250.50.50`; the NH3 one on the Synology at `10.100.50.50` stores to local Btrfs. Cross-site rsync keeps each side holding a mirror of the other.
|
||||
|
||||
## Layout
|
||||
|
||||
```
|
||||
|
||||
@@ -16,13 +16,15 @@
|
||||
| **CPU** | 2 sockets × 2 cores = 4 vCPU (host passthrough) |
|
||||
| **Memory** | 8,196 MB |
|
||||
| **Disk** | `scsi0`: 80G on ospool |
|
||||
| **CDROM** | `ide2`: TrueNAS-SCALE-22.12.1.iso |
|
||||
| **CDROM** | `ide2`: TrueNAS-SCALE-22.12.1.iso _(original install media; current OS is Debian 12)_ |
|
||||
| **Network** | `net0`: virtio, MAC `9A:90:79:7A:86:87`, vmbr0, VLAN 50 |
|
||||
| **Boot** | scsi0 → ide2 → net0 |
|
||||
| **Startup** | Order 2, delay 120s |
|
||||
| **Onboot** | No |
|
||||
|
||||
**Purpose**: TrueNAS SCALE storage appliance. Provides NAS/NFS/iSCSI to the colo environment.
|
||||
**Purpose**: NAS/NFS/SMB storage for the colo environment.
|
||||
|
||||
**Current OS**: Debian 12 (bookworm), reprovisioned from the original TrueNAS SCALE install — SSH banner `OpenSSH_9.2p1 Debian-2+deb12u9`, no web UI on 80/443, no TrueNAS middleware. Shares are hand-managed via `/etc/exports` and `/etc/samba/smb.conf`. Mount paths kept the `/mnt/<pool>/…` shape of the original ZFS layout for host compatibility.
|
||||
|
||||
---
|
||||
|
||||
@@ -239,7 +241,7 @@ VMs without a startup order (103, 106, 107) will start based on their `onboot` s
|
||||
|
||||
| VMID | Name | vCPU | RAM (MB) | Disk | OS |
|
||||
|---|---|---|---|---|---|
|
||||
| 100 | PFI-ANA-TRUENAS | 4 | 8,196 | 80G | TrueNAS SCALE |
|
||||
| 100 | PFI-ANA-TRUENAS | 4 | 8,196 | 80G | Debian 12 (reprovisioned from TrueNAS SCALE) |
|
||||
| 101 | PFI-ANA-DC | 12 | 24,576 | 240G | Windows 11 |
|
||||
| 102 | PFI-ANA-Docker | 8 | 16,384 | 250G | Linux |
|
||||
| 103 | PFI-SlaveBot | 8 | 8,192 | 256G | Windows 10 |
|
||||
|
||||
@@ -14,7 +14,7 @@ General-purpose Docker host for the Anaheim colo. Runs everything at `10.250.0.0
|
||||
- **CPU:** 8 vCPU (QEMU virtual — this is a VM)
|
||||
- **RAM:** 15.6 GB
|
||||
- **GPUs:** none
|
||||
- **Storage:** 245 GB root (ext4) + NFS mounts from `10.250.50.50` (TrueNAS)
|
||||
- **Storage:** 245 GB root (ext4) + NFS mounts from `10.250.50.50` (Debian 12 NFS/SMB file server; historically TrueNAS SCALE, since reprovisioned)
|
||||
- **OS:** Debian 12 (bookworm), kernel 6.1.x
|
||||
- **Docker:** 20.10.24
|
||||
|
||||
@@ -47,7 +47,7 @@ General-purpose Docker host for the Anaheim colo. Runs everything at `10.250.0.0
|
||||
| dockge | 5001 | Docker stack management UI |
|
||||
| beszel | 8090 | Fleet metrics hub (+ local agent); agents on the other hosts report here |
|
||||
| dozzle (hub as `dozzle-hub`) | 8088 | Fleet log viewer; agents on the other hosts report here |
|
||||
| restic rest-server | 8000 | Anaheim-side restic endpoint (writes to TrueNAS NFS at `/mnt/backup/restic/repo/ana/`); paired with `rest-server-nh3` on the Synology for the NH3 side |
|
||||
| restic rest-server | 8000 | Anaheim-side restic endpoint (writes to the NFS mount at `/mnt/backup/restic/repo/ana/`, backed by the Debian file server at `10.250.50.50`); paired with `rest-server-nh3` on the Synology for the NH3 side |
|
||||
| backrest | 9898 | Fleet-wide restic snapshot viewer / restore UI — points at both rest-servers |
|
||||
| it-tools | 8780 | Dev utilities |
|
||||
| mattermost | — | Stopped; kept around for reference |
|
||||
|
||||
@@ -7,7 +7,7 @@ Web UI over restic repositories. Runs **once, on ana-docker**, and points at eve
|
||||
|
||||
## Role in the fleet
|
||||
|
||||
- Actual backups are run by per-host `systemd` timers calling `restic` (see the backup design; not yet deployed). Each host writes to its site-local S3 bucket (TrueNAS on ana, Synology on nh3).
|
||||
- Actual backups are run by per-host `systemd` timers calling `restic`. Each host writes to its site-local rest-server (ana-docker for Anaheim hosts, Synology for NH3).
|
||||
- **This container does not run backups by default** — it's a viewer/manager pointed at existing repos. (Backrest *can* be the scheduler instead of systemd timers; we're keeping the scheduler on the host for simplicity.)
|
||||
- Because it only needs to talk to S3 endpoints (not host filesystems), no bind mounts of host paths are required.
|
||||
|
||||
@@ -44,9 +44,9 @@ For each per-host repo (to be added once the restic pipeline is running):
|
||||
|
||||
## Backup scope, when wired up
|
||||
|
||||
- ana-docker, ana-ml2 → TrueNAS S3 at `10.250.50.50:4521`
|
||||
- nh3-docker, esh-docker-vm → Synology S3 at `10.100.50.50:4521`
|
||||
- Cross-site rclone sync makes each bucket also hold the other site's data, so you can restore *either* host from *either* side if one NAS is down.
|
||||
- ana-docker, ana-ml2, esh-docker-vm → Anaheim rest-server on ana-docker (`:8000`), data on NFS mount backed by the Debian file server at `10.250.50.50`
|
||||
- nh3-docker → NH3 rest-server on the Synology (`10.100.50.50:8000`), data on local Btrfs
|
||||
- Cross-site rsync will make each NAS hold the other site's data, so you can restore *either* host from *either* side if one NAS is down.
|
||||
|
||||
## Scaling knobs
|
||||
|
||||
|
||||
@@ -1,7 +1,9 @@
|
||||
# Backrest — web UI over restic repositories.
|
||||
#
|
||||
# Role here: single central viewer for every host's restic repo on both
|
||||
# site-local S3 endpoints (TrueNAS at ana, Synology at nh3). Per-host
|
||||
# site-local rest-servers (ana-docker writing to the Debian NFS server
|
||||
# at 10.250.50.50, Synology at 10.100.50.50 writing to its local Btrfs).
|
||||
# Per-host
|
||||
# `restic` runs will still be driven by systemd timers on each host; this
|
||||
# stack is how we see what ran, browse snapshots, and restore.
|
||||
#
|
||||
|
||||
@@ -4,7 +4,7 @@ Anaheim-site restic backup endpoint. Replaces the older `restic` stack on ana-do
|
||||
|
||||
**Server:** ana-docker (`10.250.50.70`)
|
||||
**Port:** `http://10.250.50.70:8000`
|
||||
**Data:** `/mnt/backup/restic/repo/ana/` (TrueNAS NFS mount on the host)
|
||||
**Data:** `/mnt/backup/restic/repo/ana/` (NFS mount on the host, served by the Debian file server at `10.250.50.50`)
|
||||
|
||||
Paired with:
|
||||
- **`rest-server-nh3`** on the Synology (`10.100.50.50:8000`, data on Btrfs).
|
||||
@@ -23,7 +23,7 @@ Paired with:
|
||||
| image version | floating `latest` | `${REST_SERVER_VERSION}` |
|
||||
| stack dir on server | `/opt/docker/compose/restic/` | `/opt/docker/compose/rest-server-ana/` |
|
||||
|
||||
Data path is unchanged (`/mnt/backup/restic/repo/ana/`) so nothing new needs to be allocated on TrueNAS.
|
||||
Data path is unchanged (`/mnt/backup/restic/repo/ana/`) so nothing new needs to be allocated on the NAS.
|
||||
|
||||
## Pre-deploy: clean the data dir and create htpasswd
|
||||
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
# rest-server (Anaheim) — restic backup target for the fleet.
|
||||
#
|
||||
# Deploys to ana-docker. Data dir is on the TrueNAS NFS mount
|
||||
# (/mnt/backup/restic/repo/ana) so snapshots on the NAS side protect the
|
||||
# backup blobs themselves.
|
||||
# Deploys to ana-docker. Data dir is the NFS mount at
|
||||
# /mnt/backup/restic/repo/ana, backed by the Debian 12 NFS/SMB file
|
||||
# server at 10.250.50.50. (Historically a TrueNAS SCALE appliance; since
|
||||
# reprovisioned as vanilla Debian.)
|
||||
#
|
||||
# Mirrors stacks/rest-server-nh3/ in every meaningful way — same auth
|
||||
# model, same on-disk layout, same operational semantics — so each client
|
||||
@@ -50,7 +51,7 @@ services:
|
||||
- homepage.group=PFI-ANA
|
||||
- homepage.name=Restic (rest-server)
|
||||
- homepage.icon=mdi-cloud-upload
|
||||
- homepage.description=Anaheim restic endpoint (data on TrueNAS NFS)
|
||||
- homepage.description=Anaheim restic endpoint (data on NFS)
|
||||
- homepage.href=http://10.250.50.70:${REST_PORT}
|
||||
|
||||
networks:
|
||||
|
||||
@@ -6,7 +6,7 @@ NH3-site restic backup endpoint. Runs in Synology Container Manager on `10.100.5
|
||||
**Port:** `http://10.100.50.50:8000` (configurable via `.env`)
|
||||
**Data:** `/volume1/Backup/restic/` (configurable)
|
||||
|
||||
Paired with the existing `restic rest-server` on **ana-docker** (`http://10.250.50.70:8000`, data on TrueNAS NFS) as the Anaheim-side endpoint. Each fleet host backs up to the rest-server closest to it; an rsync job on ana-docker mirrors the two trees against each other for off-site redundancy.
|
||||
Paired with `rest-server-ana` on **ana-docker** (`http://10.250.50.70:8000`, data on an NFS mount backed by the Debian file server at `10.250.50.50`) as the Anaheim-side endpoint. Each fleet host backs up to the rest-server closest to it; an rsync job on ana-docker mirrors the two trees against each other for off-site redundancy.
|
||||
|
||||
## Auth model
|
||||
|
||||
|
||||
Reference in New Issue
Block a user