Best practice for local ZFS disk replacement

4u2fast

Member
Mar 15, 2022
6
2
8
54
Hi,

I have a 4 node Proxmox cluster and one of the nodes has a small 250GB SSD disk, i would like to replace this disk with a 1 TB SSD.
Any suggestions how to perform this ?

thanks
Thomas
 
root@proxmox44:~# zpool list
NAME SIZE ALLOC FREE CKPOINT EXPANDSZ FRAG CAP DEDUP HEALTH ALTROOT
rpool 232G 89.7G 142G - - 43% 38% 1.00x ONLINE -
root@proxmox44:~# zpool status
pool: rpool
state: ONLINE
scan: scrub repaired 0B in 00:08:51 with 0 errors on Sun Jul 10 00:32:52 2022
config:

NAME STATE READ WRITE CKSUM
rpool ONLINE 0 0 0
mirror-0 ONLINE 0 0 0
ata-SanDisk_SDSSDH3_250G_22022E443702-part3 ONLINE 0 0 0
ata-SanDisk_SDSSDH3_250G_22022E450115-part3 ONLINE 0 0 0

errors: No known data errors
 
Last edited:
1. Attach your 1TB disk as a mirror to the old single one. This is critical, the usual pitfall is to add it as an independent vdev, which is fatally wrong
2. The data will get copied; watch zpool status for progress and wait for it to finish.
3. Detach the old, smaller one.

The available space will extend automatically if the "autoexpand"-feature is enabled and ALL disks of a vdev have a larger size than before.

Caution: this is a quick list from my mind, verify every step by other documentation...!
 
Last edited:
Thanks Udo,
current 250GB is not a single, it is mirrored, will remove one disk and replace with larger.
will update on result.
 
Last edited:
What I do in that case is to add the new device as a third mirror element.

This way the resilvering process has two sources to copy from.

If you really have to remove one to add the new one make sure to run a "scrub" in beforehand.

Best regards
 
I succeed to replace the 2 disk and resilver was fine, but autoexpand isn't working :(
any idea ?

thansk
Thomas


root@proxmox44:~# zpool list
NAME SIZE ALLOC FREE CKPOINT EXPANDSZ FRAG CAP DEDUP HEALTH ALTROOT
rpool 232G 89.6G 142G - - 43% 38% 1.00x ONLINE -
root@proxmox44:~# zpool status
pool: rpool
state: ONLINE
scan: resilvered 90.8G in 00:09:19 with 0 errors on Thu Jul 14 21:04:32 2022
config:

NAME STATE READ WRITE CKSUM
rpool ONLINE 0 0 0
mirror-0 ONLINE 0 0 0
ata-Samsung_SSD_850_EVO_1TB_S3PLNF0JA17863R-part3 ONLINE 0 0 0
ata-SanDisk_SDSSDH3_1T00_221348802466-part3 ONLINE 0 0 0

errors: No known data errors
root@proxmox44:~# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 931.5G 0 disk
├─sda1 8:1 0 1007K 0 part
├─sda2 8:2 0 512M 0 part
└─sda3 8:3 0 232.4G 0 part
sdb 8:16 0 931.5G 0 disk
├─sdb1 8:17 0 1007K 0 part
├─sdb2 8:18 0 512M 0 part
└─sdb3 8:19 0 232.4G 0 part

root@proxmox44:~# zpool get autoexpand
NAME PROPERTY VALUE SOURCE
rpool autoexpand on local
 
ok, fixed with installing parted and resize partition 3
Issue resolved !
thanks for great support
Thomas