blog.iankulin.com

Storage

Testing Storage Speed

After adding NVMe drives and an external USB NVMe mirror to my Proxmox homelab, I benchmark four storage options — internal NVMe, SATA SSD with ZFS, Synology NAS, and external ZFS pool — using fio write tests to decide where live VM disks should live. Results upend expectations: the NAS is fastest for parallel writes, the external enclosure disappoints, and ZFS compression carries a real cost on small random writes. The upshot is ZFS without compression on the SATA SSDs, trading some speed for data integrity and easy snapshot transfers...

Using NAS for Proxmox backups

Proxmox saves VM backups to local storage by default, which is no help if the host dies and makes restoring to a different node awkward. My walkthrough covers creating a shared folder with NFS permissions on a Synology NAS, then adding that share as storage at the datacenter level in Proxmox so backups and restores can happen from any node, making it easy to move VMs between hosts...

NAS Storage Calculations

While planning to move my applications from the cloud to self-hosting, I evaluate Synology NAS options for a roughly 12TB storage target, weighing RAID levels, second-hand versus new drives, cost per terabyte, and power consumption. I ultimately choose a new DS420j with four used 6TB drives in RAID 6 for production, plus a single-drive NAS for local backup and my existing unit with 14TB drives for remote backup...

External USB Drives in Linux

A walkthrough of how I manually mount and unmount USB drives on Linux systems that don’t auto-mount them, such as servers. Using a Proxmox host as an example, I show how to identify a plugged-in drive with lsblk, mount a partition to a directory under /media, and safely unmount it with umount before removal...

Proxmox - Storage Basics

I walk through the Proxmox web interface after a default install, explaining how nodes and datacenters fit together. I cover the two storage locations the installer creates: a local directory for ISO images, backups, and container templates, and an LVM-Thin volume used for VM disks. I end with an explanation of thin provisioning and what happens when VMs actually consume their allocated space...