McGarrah Technical Blog

Posts in category "proxmox"

ZFS Boot Mirrors on Proxmox 8 for the Homelab - Part 2

When both drives in your ZFS boot mirror fail simultaneously, you can't resilver your way out. Here's the full procedure for a Proxmox fresh install that preserves your Ceph OSDs and rejoins the cluster — based on a real harlan node recovery.

ZFS Boot Mirrors on Proxmox 8 for the Homelab - Part 1

ZFS boot mirrors saved my homelab cluster more than once. Here's the complete procedure for replacing a failed drive in a Proxmox ZFS boot mirror — including the mistakes I made so you don't have to.

Measuring the WAL vs DB Performance Gap on Ceph USB OSDs

Nine of my fifteen Ceph OSDs use WAL-only acceleration while six use DB. I set out to measure the performance gap and discovered the real story isn't WAL vs DB — it's the USB 3.0 hardware ceiling that dominates everything. The matched-hardware comparison shows DB is 5-15% faster on reads, not the 32% that naive cross-node testing suggested.

SSH Key-Based Access to a Proxmox Cluster

Typing passwords every time you SSH into a Proxmox node gets old fast — especially with a six-node cluster. Here's how to set up SSH key authentication and an SSH config so you can just type 'ssh harlan' and be in.

Hybrid Ceph Storage: SSD WAL/DB Acceleration with USB Drive Data

Running Ceph on USB drives sounds crazy until you put the WAL and DB on an SSD. Here's how separating metadata onto a Crucial MX500 transformed my 15-OSD homelab cluster from sluggish to surprisingly capable — at a fraction of all-SSD costs.

Monitoring ZFS Boot Mirror Health in Proxmox 8 Clusters

Automated SMART monitoring and cost planning for ZFS boot mirrors across a six-node Proxmox homelab cluster with mixed SSD/HDD hardware. Track drive health, plan replacements, and manage homelab storage costs effectively.

USB Drive SMART Updates: Fast-Track to the GRUB Solution

New Seagate USB drives arrived for the Ceph cluster and predictably won't report SMART data. After months of production use, GRUB boot parameters are the only method that reliably survives kernel updates and cluster reboots.