The last two parts of this series were about getting here: a new Proxmox server, and the one big box I would build if I could. This part is about what I actually have. Three machines, what each one is for, and how they are going to work together.

From one big server to three small ones

This series started with an HP ProLiant ML150 G6 from 2009 and the Smart Array controller I put in it. Two years ago I took stock of what I had. The ML150 has since been retired and is gone.

What replaced it is three small machines. Two of them are Lenovo ThinkCentre Tinys, one-litre PCs you can hold in one hand. The third is an ordinary tower.

HardwareProxmox VEJob
phoebeThinkCentre M75q-1 Tiny, AMD Ryzen 5 PRO 3400GE, 64 GB RAM, 1 TB NVMe9.2runs the services
priscillaThinkCentre M710q Tiny, Intel Core i5-7500T, 32 GB RAM, 2 TB NVMe, 1 TB 2.5" HDD9.2standby, and the Proxmox from scratch machine
stephentower, Asus Z97-K, Intel Core i5-4440, 24 GB RAM, an HBA and six drives9.2backups

The names follow a scheme. My servers are named after notable Christians of the first century. Phoebe was a deacon of the church in Cenchreae, commended by Paul at the start of Romans 16. Priscilla comes right after her in the same chapter. Stephen was the first martyr, in Acts 6 and 7. Storage pools are named after the custom chips of the Amiga, so far only one: FatAgnus. The two Tinys keep the pool name the Proxmox installer gives them, rpool.

phoebe: the main hypervisor

phoebe is a ThinkCentre M75q-1 Tiny with an AMD Ryzen 5 PRO 3400GE: four cores and eight threads, up to 4.0 GHz, Radeon Vega 11 graphics, and a 35 W rating [1]. It has 64 GB of memory and one 1 TB NVMe drive.

Proxmox runs on that one drive as a single-disk ZFS pool. There is no mirror, so if the drive dies, the server is down until I replace it. What makes that acceptable is the backup further down. The two drives that used to be phoebe’s mirror are gone, for reasons I explained in New Proxmox homeserver.

The pool runs with ZFS deduplication switched on. You are usually told not to do that, and for most pools that is good advice. On mine it saves about 230 GB on a 1 TB drive, mostly photos and videos that sit in more than one place in Nextcloud, and the table that makes it work takes about 200 MB of the 64 GB of memory. That is a trade I’m happy with.

What runs on it:

  • Nextcloud, in container 1001. The application, its database and its cache each have their own ZFS dataset.
  • Jellyfin, in container 1002, new this week. It gets a series of its own, Jellyfin at home, from 6 November, and it will use the Vega graphics for transcoding.

The datasets are already split into tiers: vmdatanvme for what has to be fast (applications, databases) and vmdatahdd for bulk data (Nextcloud’s files, and soon Jellyfin’s media). Both are on the same NVMe today, because there is nowhere else to put them. The split is a line to cut along later: a tested 1 TB hard drive is next in line for the bulk tier.

Every 15 minutes sanoid takes a snapshot of both trees, and stephen pulls them over with syncoid. How that works is in my 3-2-1 post.

priscilla: standing by, and the machine the Proxmox series is built on

priscilla is the older Tiny: a ThinkCentre M710q with an Intel Core i5-7500T, four cores at 35 W, 32 GB of memory and a 2 TB NVMe drive. In the 2.5" bay there is a 1 TB HGST hard drive that came out of an old Mac. It has just passed a full surface test, which will get a post of its own in January.

I installed Proxmox VE 9.2 on it on 13 October, from a Ventoy drive, and every step of that is in part 1 of Proxmox from scratch, with photos.

It has three jobs.

  1. Standby. When phoebe needs a new kernel or the next Proxmox release, its guests move to priscilla and come back afterwards. priscilla is not a backup. It is where things run while phoebe is being looked after.
  2. The series machine. Proxmox from scratch is built on it. The virtual machine in part 2 runs on priscilla.
  3. Jellyfin with Quick Sync, later. The 7th-generation Intel graphics can decode and encode 10-bit HEVC in hardware, which Jellyfin’s documentation lists as starting with Kaby Lake [2]. On 14 December I compare it with phoebe’s Ryzen.

Currently priscilla has enough CPU, RAM, and storage to carry the services I run today, but with both Jellyfin and Immich on the horizon - or rather the data they will hold - this will not be the case in the future. Until I get some kind of NAS up and running, I may have to rely on simply a bare minimum like just Nextcloud, or maybe even smaller, more important services being moved and kept running.

stephen: the backup server, and the third vote

stephen is a tower that started life as a friend’s gaming PC: an Asus Z97-K board, an Intel Core i5-4440 from 2013, 24 GB of DDR3 without ECC, an LSI SAS 9300-8i controller and a cage for eight 3.5" drives. It sits out in the garage office.

It holds the FatAgnus pool: six drives in RAIDZ2, so any two of them can fail without losing data. The pool also runs with deduplication, and here the table is big, about 10 GB of the 24 GB of memory. One of the six drives is the 8 TB that used to be half of phoebe’s mirror.

October was not a quiet month for it. A Toshiba drive failed and was replaced with a spare WD. Then a SAS drive kept dropping off its cable, which turned out to be a matter of cables, power splitters and a front fan that had seized. While I was away, the power went out and stephen stayed off for five days. As I write this, all six drives are back and the pool is healthy. A full check of every block on it, a scrub, took six hours and found two small errors, both on the same drive and both repaired from the other drives. That drive is under watch.

stephen ran Proxmox VE 8, which reached end of life on 31 August. I upgraded it in place to 9.2 on 14 October. For a while I considered putting TrueNAS on it instead, but it stays on Proxmox. The reason is the cluster, below. TrueNAS is still on my list, but for a NAS I don’t have yet, either one I build myself or, in my dreams, something like a 45HomeLab HL-15. Before then I’ll try the next TrueNAS release in a virtual machine.

I should be honest about one thing. stephen is my backup server, but it also holds about 3.9 TB of data that exists nowhere else. Until that has a second copy, it is a backup server with a file server inside it. I have a handful of smaller drives to test and copy that data to.

How they work together

A cluster of three

The plan is a Proxmox cluster with all three machines. In a cluster the nodes are managed as one, and guests can move between them. It also brings a rule: the cluster only works while a majority of its nodes are up. Two machines can’t form a majority when one is down, which is why a two-node cluster needs a third vote from somewhere [3].

stephen is that third vote, as a full member of the cluster. Under normal circumstances it will run no virtual machines or containers. It is connected to the house over PowerLine, and Proxmox’s cluster traffic is fussy about the network: it wants “latencies under 5 milliseconds (LAN performance) between all nodes” and “is sensitive to latency jitters” [3]. That is fine for a vote. It is not something I’d run services across. When the link to the garage office becomes a proper one, hopefully fibre, that may change.

Getting there needs some groundwork. A node that joins a cluster can’t have any guests, so priscilla has to be emptied first. The storage on phoebe and priscilla has to have the same names and the same paths on both, so that a guest’s disks can follow it. That is all in part 7 of Proxmox from scratch on 25 November.

Moving guests

Once the cluster exists, a guest can move between phoebe and priscilla. With ZFS replication, Proxmox keeps a copy of a guest’s disks on the other node and only has to send what changed since the last run, which makes moving fast [4]. One thing will stay awkward: phoebe has an AMD processor and priscilla an Intel one, so I’ll move guests while they are shut down and not count on moving them while they run.

Until then, the two Tinys are separate servers, and moving something means backing it up on one and restoring it on the other. That is part 6 of the series, on 18 November.

Backups

phoebe’s data goes to stephen as described above: snapshots every 15 minutes, pulled to the FatAgnus pool. priscilla has nothing on it yet that needs backing up.

What is missing is the copy outside the house, and the second copy of stephen’s own data. Once guests start moving between the nodes there is a new question as well: a pull that names phoebe’s datasets doesn’t follow a guest to priscilla. Either the pulls cover both nodes, or the backups move to something that follows the guest rather than the machine, like Proxmox Backup Server.

What I’d change next

  • A second copy of what only lives on stephen, on the smaller drives, tested first.
  • stephen’s cabling, power and front fan, so October doesn’t repeat itself.
  • The cluster, with priscilla emptied and the storage names lined up first.
  • A router: a donated Lenovo small-form-factor PC with a 4th-generation i3 and a dual-port network card, for OPNsense.
  • An off-site copy.
  • One day, the one box from the last part, with a graphics card for a local language model.

Sources

  1. List of AMD Ryzen processors (Wikipedia), Picasso table, Ryzen 5 PRO 3400GE, pulled 2026-10-26
  2. Jellyfin: Intel hardware acceleration, pulled 2026-10-26
  3. Cluster Manager (Proxmox VE wiki), pulled 2026-10-26
  4. Storage Replication (Proxmox VE documentation), pulled 2026-10-26