public inbox for pve-user@lists.proxmox.com
 help / color / mirror / Atom feed
* [PVE-User] zfs raidz2 expansion
@ 2025-05-20  1:24 Randy Bush
  2025-05-20  7:05 ` Aaron Lauterer
  0 siblings, 1 reply; 8+ messages in thread
From: Randy Bush @ 2025-05-20  1:24 UTC (permalink / raw)
  To: ProxMox Users

running 8.4.1 with images on 4x2tb raidz2 ssds (zfs-2.2.7-pve2).  we
want to double the space.  the net of a million lies says all sorts of
things about expanding raidz2.  as we do full replication, we could just
create a new pool for replocation and call it a day.  but i am curious
if we can just expand the current pool.  my reading says doubtful, but
am not deeply clued.

randy

---

https://forum.proxmox.com/threads/raidz-expansion.135413/
https://github.com/openzfs/zfs/pull/15022

_______________________________________________
pve-user mailing list
pve-user@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-user


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PVE-User] zfs raidz2 expansion
  2025-05-20  1:24 [PVE-User] zfs raidz2 expansion Randy Bush
@ 2025-05-20  7:05 ` Aaron Lauterer
  2025-05-20 17:21   ` Randy Bush
  0 siblings, 1 reply; 8+ messages in thread
From: Aaron Lauterer @ 2025-05-20  7:05 UTC (permalink / raw)
  To: Proxmox VE user list, Randy Bush

You can always add a new  VDEV to the pool (man zpool-add). Expanding a 
raidz2 VDEV itself is only possible with ZFS 2.3 AFAIU and we do not 
ship that yet [0].

But if this is for VM storage, you might want to consider a ZFS pool of 
multiple mirrored VDEVs. [1] has more details.

While performance might not be much of an issue anymore with recent 
NVMEs that provide a ton of IOPS, the additional space usage might still 
be something to think about in a raidz pool used for VMs (ZVOL).


[0] 
https://forum.proxmox.com/threads/proxmox-ve-8-4-released.164821/#post-762367
[1] 
https://pve.proxmox.com/pve-docs/pve-admin-guide.html#sysadmin_zfs_raid_considerations

On  2025-05-20  03:24, Randy Bush wrote:
> running 8.4.1 with images on 4x2tb raidz2 ssds (zfs-2.2.7-pve2).  we
> want to double the space.  the net of a million lies says all sorts of
> things about expanding raidz2.  as we do full replication, we could just
> create a new pool for replocation and call it a day.  but i am curious
> if we can just expand the current pool.  my reading says doubtful, but
> am not deeply clued.
> 
> randy
> 
> ---
> 
> https://forum.proxmox.com/threads/raidz-expansion.135413/
> https://github.com/openzfs/zfs/pull/15022
> 
> _______________________________________________
> pve-user mailing list
> pve-user@lists.proxmox.com
> https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-user
> 
> 



_______________________________________________
pve-user mailing list
pve-user@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-user


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PVE-User] zfs raidz2 expansion
  2025-05-20  7:05 ` Aaron Lauterer
@ 2025-05-20 17:21   ` Randy Bush
  2025-05-22 13:23     ` Aaron Lauterer
  0 siblings, 1 reply; 8+ messages in thread
From: Randy Bush @ 2025-05-20 17:21 UTC (permalink / raw)
  To: Aaron Lauterer; +Cc: Proxmox VE user list

ok, makes sense.  thanks.  as this is production, we probably would not
want to be early adopters of zfs 2.3 anyway.

so, can i specify a second pool to be replication target, as i suggested
in

>> as we do full replication, we could just create a new pool for
>> replocation and call it a day.

i do not see an attribute for relocation pool in storage.cfg

randy

_______________________________________________
pve-user mailing list
pve-user@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-user


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PVE-User] zfs raidz2 expansion
  2025-05-20 17:21   ` Randy Bush
@ 2025-05-22 13:23     ` Aaron Lauterer
  2025-05-22 21:03       ` Randy Bush
  0 siblings, 1 reply; 8+ messages in thread
From: Aaron Lauterer @ 2025-05-22 13:23 UTC (permalink / raw)
  To: Randy Bush; +Cc: Proxmox VE user list



On  2025-05-20  19:21, Randy Bush wrote:
> ok, makes sense.  thanks.  as this is production, we probably would not
> want to be early adopters of zfs 2.3 anyway.
> 
> so, can i specify a second pool to be replication target, as i suggested
> in
> 
>>> as we do full replication, we could just create a new pool for
>>> replocation and call it a day.
> 
> i do not see an attribute for relocation pool in storage.cfg

Where does the quote here come from? Did I miss an email in this thread?

> 
> randy
> 



_______________________________________________
pve-user mailing list
pve-user@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-user


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PVE-User] zfs raidz2 expansion
  2025-05-22 13:23     ` Aaron Lauterer
@ 2025-05-22 21:03       ` Randy Bush
  2025-05-23  8:50         ` Aaron Lauterer
  0 siblings, 1 reply; 8+ messages in thread
From: Randy Bush @ 2025-05-22 21:03 UTC (permalink / raw)
  To: Aaron Lauterer; +Cc: Proxmox VE user list

>> so, can i specify a second pool to be replication target, as i
>> suggested in
>>>> as we do full replication, we could just create a new pool for
>>>> replocation and call it a day.
>> 
>> i do not see an attribute for relocation pool in storage.cfg

> Where does the quote here come from? Did I miss an email in this thread?

all the above are from my keyboard on this thread

randy

_______________________________________________
pve-user mailing list
pve-user@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-user


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PVE-User] zfs raidz2 expansion
  2025-05-22 21:03       ` Randy Bush
@ 2025-05-23  8:50         ` Aaron Lauterer
  2025-05-23 18:17           ` Randy Bush
  0 siblings, 1 reply; 8+ messages in thread
From: Aaron Lauterer @ 2025-05-23  8:50 UTC (permalink / raw)
  To: Randy Bush; +Cc: Proxmox VE user list

On  2025-05-22  23:03, Randy Bush wrote:
>>> so, can i specify a second pool to be replication target, as i
>>> suggested in
>>>>> as we do full replication, we could just create a new pool for
>>>>> replocation and call it a day.
>>>
>>> i do not see an attribute for relocation pool in storage.cfg
> 
>> Where does the quote here come from? Did I miss an email in this thread?
> 
> all the above are from my keyboard on this thread

ah sorry. I was too blind yesterday to see that in your first email.

There is no option to replicate a full ZFS pool to another.

So, you have a current pool with one raidz2 VDEV made up of 4x 2TB disks.

What kind of pool layout/sitation do you want to have in the end?

Because if you have another set of 4x 2TB disks, you can just expand the 
pool with another raidz2 VDEV, without expanding the current VDEV you have.

Right now, `zpool status` will show you something like:

pool
   raidz2-0
     disk0
     disk1
     disk2
     disk3

If you add another VDEV, the pool could have the following layout:

pool
   raidz2-0
     disk0
     disk1
     disk2
     disk3
   raidz2-1
     disk4
     disk5
     disk6
     disk7

If you want to create a new pool, then things will be a bit more 
complicated, as you would need to create a new storage config for it as 
well, Move-Disk all the disks over to it. If you have a cluster and use 
the VM replication feature, that new pool must be present on the other 
nodes as well and you will have to remove the replication jobs before 
you move the disks to the new pool and then re-create them once all VM 
disks are on the new pool.



_______________________________________________
pve-user mailing list
pve-user@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-user


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PVE-User] zfs raidz2 expansion
  2025-05-23  8:50         ` Aaron Lauterer
@ 2025-05-23 18:17           ` Randy Bush
  2025-05-26  7:38             ` Aaron Lauterer
  0 siblings, 1 reply; 8+ messages in thread
From: Randy Bush @ 2025-05-23 18:17 UTC (permalink / raw)
  To: Aaron Lauterer; +Cc: Proxmox VE user list

> There is no option to replicate a full ZFS pool to another.

not exactly what i want to do.  my bad in saying "full replication."
what i meant was all vms are replicated. on other nodes.

i was thinking that each node could have one pool for primary vm images
and a second to receive replication from other nodes.

> So, you have a current pool with one raidz2 VDEV made up of 4x 2TB
> disks.

yup


> Because if you have another set of 4x 2TB disks, you can just expand
> the pool with another raidz2 VDEV, without expanding the current VDEV
> you have.

yup.  what are the performance implications?

> If you add another VDEV, the pool could have the following layout:
> 
> pool
>   raidz2-0
>     disk0
>     disk1
>     disk2
>     disk3
>   raidz2-1
>     disk4
>     disk5
>     disk6
>     disk7

yup

> If you want to create a new pool, then things will be a bit more
> complicated, as you would need to create a new storage config for it
> as well, Move-Disk all the disks over to it. If you have a cluster and
> use the VM replication feature, that new pool must be present on the
> other nodes as well and you will have to remove the replication jobs
> before you move the disks to the new pool and then re-create them once
> all VM disks are on the new pool.

we would keep the nodes all symmetric, so that would not be an issue.
and it's just a few hours of ops pain to de-repl and re-repl.  but what
i do not see is how to tell `/etc/pve/storage.cfg` that pool0 is for
images and pool1 is for incoming replication.  maybe i am just trying to
do something too weird.

randy

_______________________________________________
pve-user mailing list
pve-user@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-user


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PVE-User] zfs raidz2 expansion
  2025-05-23 18:17           ` Randy Bush
@ 2025-05-26  7:38             ` Aaron Lauterer
  0 siblings, 0 replies; 8+ messages in thread
From: Aaron Lauterer @ 2025-05-26  7:38 UTC (permalink / raw)
  To: Randy Bush; +Cc: Proxmox VE user list



On  2025-05-23  20:17, Randy Bush wrote:
>> There is no option to replicate a full ZFS pool to another.
> 
> not exactly what i want to do.  my bad in saying "full replication."
> what i meant was all vms are replicated. on other nodes.
> 
> i was thinking that each node could have one pool for primary vm images
> and a second to receive replication from other nodes.

Ah okay. No, the way it works is that you have ZFS pools in both nodes 
with the same name. Then when the replication is configured for a guest, 
its disk images are replicated to the other node to the pool with the 
same name.

> 
>> So, you have a current pool with one raidz2 VDEV made up of 4x 2TB
>> disks.
> 
> yup
> 
> 
>> Because if you have another set of 4x 2TB disks, you can just expand
>> the pool with another raidz2 VDEV, without expanding the current VDEV
>> you have.
> 
> yup.  what are the performance implications?

As usually with ZFS, the change will only affect newly written data. It 
will be spread over both VDEVs, with likely a bias to the newer, much 
emptier VDEV. So if you are already happy with the current performance, 
you should see similar or better performance, depending if one or both 
VDEVs are used to read/write data.

> 
>> If you add another VDEV, the pool could have the following layout:
>>
>> pool
>>    raidz2-0
>>      disk0
>>      disk1
>>      disk2
>>      disk3
>>    raidz2-1
>>      disk4
>>      disk5
>>      disk6
>>      disk7
> 
> yup
> 
>> If you want to create a new pool, then things will be a bit more
>> complicated, as you would need to create a new storage config for it
>> as well, Move-Disk all the disks over to it. If you have a cluster and
>> use the VM replication feature, that new pool must be present on the
>> other nodes as well and you will have to remove the replication jobs
>> before you move the disks to the new pool and then re-create them once
>> all VM disks are on the new pool.
> 
> we would keep the nodes all symmetric, so that would not be an issue.
> and it's just a few hours of ops pain to de-repl and re-repl.  but what
> i do not see is how to tell `/etc/pve/storage.cfg` that pool0 is for
> images and pool1 is for incoming replication.  maybe i am just trying to
> do something too weird.

Yeah, see my reply at the beginning. I think you have a more complicated 
view of the replication than it actually is.

If you are okay with the current performance, I would just add the 
second VDEV to the pool with
`zpool add {pool} raidz2 /dev/disk/by-id/nvme-… /dev/disk/by-id/nvme-…`

Before you do it on a production system, you can test the procedure in a 
(virtual) test machine to make sure you get the CLI command correct.

By extending the pool, you don't need to change anything in the storage 
config or replication settings.

> 
> randy
> 



_______________________________________________
pve-user mailing list
pve-user@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-user

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2025-05-26  7:38 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-05-20  1:24 [PVE-User] zfs raidz2 expansion Randy Bush
2025-05-20  7:05 ` Aaron Lauterer
2025-05-20 17:21   ` Randy Bush
2025-05-22 13:23     ` Aaron Lauterer
2025-05-22 21:03       ` Randy Bush
2025-05-23  8:50         ` Aaron Lauterer
2025-05-23 18:17           ` Randy Bush
2025-05-26  7:38             ` Aaron Lauterer

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal