//nbkelley /homelab

Proxmox ZFS Storage Setup#

What Was Established#

Procedures for initializing ZFS pools using multiple drives via the Proxmox Web GUI and configuring them as usable storage for Virtual Machines (VMs) and Linux Containers (LXC).

Key Decisions#

  • RAID Levels: Selection depends on the number of disks and redundancy requirements:
    • Stripe (RAID 0): Maximum capacity, no redundancy.
    • Mirror (RAID 1): Redundancy, 50% capacity loss.
    • RAID-Z1/Z2: Requires 3+ disks for parity-based redundancy.
  • Compression: lz4 is the recommended compression algorithm for performance.
  • Ashift: Set to 12 for modern SSDs/NVMe to ensure proper block alignment.
  • Thin Provisioning: Enabled for storage pools to allow for flexible disk allocation.

Current Configuration#

1. Initialize ZFS Pools (Web GUI)#

Navigate to: DatacenterNodeDisksZFS

  1. Click Create ZFS.
  2. Name: Define pool name (e.g., tank).
  3. Devices: Select the target disks.
  4. RAID Level: Select based on redundancy needs (Mirror, Stripe, etc.).
  5. Compression: Set to lz4.
  6. Ashift: Set to 12 (for SSDs).

2. Add Pool to Proxmox Storage#

To make the pool usable for VM/LXC disks: Navigate to: DatacenterStorageAddZFS

  1. ID: Name the storage entry.
  2. ZFS Pool: Select the created pool (e.g., tank).
  3. Content: Select Disk image and Container.
  4. Thin Provisioning: Check this box.

Historical Notes#

This documentation covers the 2-drive ZFS configuration established in March 2025.

Open Questions#

None.

Proxmox ZFS Storage & Installation Patterns, Proxmox NVMe Partition Management

Sources#

Remind me of the steps we took t · ingested/chats/remind_me_of_the_steps_we_took_t