ZFS is a high-performance combined file system and logical volume manager. It is widely used in Proxmox and enterprise storage environments due to its data integrity protection, support for high storage capacities, and efficient snapshots/replication.
Prerequisites
- ZFS Server: A separate server (like TrueNAS, or another Proxmox node) with a ZFS pool already configured.
- iSCSI Target Software: Install
targetcli(for LIO) or similar on the ZFS server. - SSH Access: Passwordless SSH (using Ed25519 keys) from Proxmox nodes to the ZFS server.
Steps on the ZFS Server (e.g., TrueNAS, Ubuntu)
- Create ZVOLs: Create ZFS volumes (zvol) that will become your iSCSI LUNs, e.g.,
zfs create -V 100G mypool/vm-disk1. - Configure iSCSI Target:
- Use
targetclito create a target (with an IQN) and a TPG (Target Portal Group). - Add your ZVOLs as backstores.
- Create an ACL (Access Control List) allowing your Proxmox node(s) to connect.
- Use
Steps in Proxmox VE (GUI)
- Add Storage: In Proxmox, go to Datacenter > Storage > Add > ZFS over iSCSI.
- Configure Settings:
- ID: A friendly name (e.g.,
iscsi-zfs-pool). - iSCSI Provider: Choose LIO (or the one matching your server).
- Portal: The IP address of your ZFS server.
- Pool: The name of the ZFS pool on the remote server.
- Target: The IQN of the iSCSI target you created.
- Username/Password: If using CHAP authentication.
- SSH Key: Ensure the key is placed at
/etc/pve/priv/zfs/<IP_ADDRESS>_id_rsaon Proxmox.
- ID: A friendly name (e.g.,
- Add: Click “Add”.