ZFS
Useful packages to add
apt install lldpd snmpd
Upgrade single disk rpool to mirrored rpool
I added a second M.2 drive to a laptop already running Proxmox VE. From the zpool-attach man page:
If the existing device is a mirror or plain device (e.g. specified as "sda" or "mirror-7"), the new device will be mirrored with the existing device, a resilver will be initiated, and the new device will contribute to additional redundancy once the resilver completes.
Steps:
- Use gdisk or sgdisk to copy the partition table from the existing drive to the new drive and change the GUID.
- Make the second disk bootable
- Attach the new disk to the existing disk using zpool attach.
# backup partition table from the existing disk nvme0n1
gdisk /dev/nvme0n1
b
gdisk.part.nvme0n1
q
# restore the backed up partition table to the new disk nvme1n1
gdisk /dev/nvme1n1
r
l
gdisk.part.nvme0n1
x
g
R
w
# same result as using gdisk above
# I have not actually used this method yet
sgdisk --replicate=/dev/nvme1n1 /dev/nvme0n1
sgdisk --randomize-guids /dev/nvme1n1
pve-efiboot-tool status
# Setup the UEFI bootloader
pve-efiboot-tool format /dev/nvme1n1p2 --force
pve-efiboot-tool init /dev/nvme1n1p2
pve-efiboot-tool status
#
# BEFORE
#
root@pve1:~# zpool status
pool: rpool
state: ONLINE
status: Some supported and requested features are not enabled on the pool.
The pool can still be used, but some features are unavailable.
action: Enable all features using 'zpool upgrade'. Once this is done,
the pool may no longer be accessible by software that does not support
the features. See zpool-features(7) for details.
config:
NAME STATE READ WRITE CKSUM
rpool ONLINE 0 0 0
nvme-BC711_NVMe_SK_hynix_256GB____FYB1N066013901U4N-part3 ONLINE 0 0 0
zpool attach rpool nvme-BC711_NVMe_SK_hynix_256GB____FYB1N066013901U4N-part3 nvme-KBG40ZNS256G_NVMe_KIOXIA_256GB_Y96PC1TDPTLL-part3
#
# AFTER
#
root@pve1:~# zpool status
pool: rpool
state: ONLINE
status: Some supported and requested features are not enabled on the pool.
The pool can still be used, but some features are unavailable.
action: Enable all features using 'zpool upgrade'. Once this is done,
the pool may no longer be accessible by software that does not support
the features. See zpool-features(7) for details.
scan: resilvered 30.6G in 00:03:12 with 0 errors on Thu Aug 7 16:40:11 2025
config:
NAME STATE READ WRITE CKSUM
rpool ONLINE 0 0 0
mirror-0 ONLINE 0 0 0
nvme-BC711_NVMe_SK_hynix_256GB____FYB1N066013901U4N-part3 ONLINE 0 0 0
nvme-KBG40ZNS256G_NVMe_KIOXIA_256GB_Y96PC1TDPTLL-part3 ONLINE 0 0 0
HPE Proliant