I recently upgraded my Proxmox VE server with 48GB RAM and added a new 1TB SSD. This guide documents how I set up ZFS on the new SSD and configured it as a storage backend optimized for VM and container use.
๐ฅ๏ธ System Overview
- Proxmox Version:
8.4.0
- New SSD:
/dev/sda
(1TB) - Existing boot disk:
/dev/sdb
(240GB)
๐ง Step 1: Identify the New SSD
Run lsblk
to identify your drives:
lsblk -o NAME,SIZE,TYPE,MOUNTPOINT
Look for your unpartitioned 1TB SSD (e.g. /dev/sda
).
๐งน Step 2: Wipe the New Disk
Ensure the drive has no partitions:
wipefs -a /dev/sda
๐๏ธ Step 3: Create the ZFS Pool
zpool create zfs-ssd /dev/sda
This creates a new ZFS pool named
zfs-ssd
.
๐ป Step 4: Add Storage to Proxmox
In the Proxmox Web GUI:
- Navigate to:
Datacenter โ Storage โ Add โ ZFS
- ID:
zfs-ssd
- ZFS Pool:
zfs-ssd
- Thin Provision: โ Checked
- Content Types: Disk Image, Container
๐ง Step 5: Enable Compression (lz4)
To enable lightweight compression for this pool:
zfs set compression=lz4 zfs-ssd
Verify:
zfs get compression zfs-ssd
Expected output:
NAME PROPERTY VALUE SOURCE
zfs-ssd compression lz4 local
๐ Benefits of This Setup
- โ Thin provisioning saves space on VM disks
- โ Compression improves disk usage efficiency
- โ ZFS snapshots and rollback supported
- โ Great performance with SSD + 48GB RAM