Discussion:
Nested vdevs
s***@public.gmane.org
2014-06-05 16:30:18 UTC
Permalink
Been pondering an upgrade to my zfs pool to add two more 4TB drives, and I
had a thought that I've been unable to confirm is feasible or not.

I currently have 4 2-TB drives arranged in a RAIDZ2 vdev and the two 4TB
drives are mirrored, all forming one pool together. If I expanded by 2 4TB
drives, would it be possible to set up one raidz2 that contains the 4 4 TB
disks, and the 4 2 TB disks with the 2 TB disks arranged to simulate 2 4 TB
disks, allowing them to be part of the raidz2?

To unsubscribe from this group and stop receiving emails from it, send an email to zfs-discuss+unsubscribe-VKpPRiiRko7s4Z89Ie/***@public.gmane.org
Luke Olson
2014-06-05 16:44:04 UTC
Permalink
Disks can be added to a pool but not removed without destroying the pool.
So you could add the two new disks as a mirror and move on, or you could
put the data from the pool elsewhere temporarily and create it all again
from scratch in a different configuration.

If the data could fit into 4TB then you could create a temporary pool from
the new drives, take a snapshot of the old pool and send it to the
temporary pool, then delete the old pool, make one RAID Z2 in another pool
(the final pool), send the snapshot to the final pool, and finally delete
the temporary pool add the second RAID Z2 to the final pool. If you go this
route hopefully you have a backup of the data just in case.

Luke
Post by s***@public.gmane.org
Been pondering an upgrade to my zfs pool to add two more 4TB drives, and I
had a thought that I've been unable to confirm is feasible or not.
I currently have 4 2-TB drives arranged in a RAIDZ2 vdev and the two 4TB
drives are mirrored, all forming one pool together. If I expanded by 2 4TB
drives, would it be possible to set up one raidz2 that contains the 4 4 TB
disks, and the 4 2 TB disks with the 2 TB disks arranged to simulate 2 4 TB
disks, allowing them to be part of the raidz2?
To unsubscribe from this group and stop receiving emails from it, send an
To unsubscribe from this group and stop receiving emails from it, send an email to zfs-discuss+unsubscribe-VKpPRiiRko7s4Z89Ie/***@public.gmane.org
SanMadJack
2014-06-05 16:48:37 UTC
Permalink
This does not answer my question at all. I'm not asking if I can expand my
existing pool, I'm asking if my theoretical pool setup is possible. My
theoretical pool is vastly different than my existing pool, so it would
require completely recreating the pool from scratch no matter how you look
at it.

^Matt(hew)?[ ]Barbour$
Post by Luke Olson
Disks can be added to a pool but not removed without destroying the pool.
So you could add the two new disks as a mirror and move on, or you could
put the data from the pool elsewhere temporarily and create it all again
from scratch in a different configuration.
If the data could fit into 4TB then you could create a temporary pool from
the new drives, take a snapshot of the old pool and send it to the
temporary pool, then delete the old pool, make one RAID Z2 in another pool
(the final pool), send the snapshot to the final pool, and finally delete
the temporary pool add the second RAID Z2 to the final pool. If you go this
route hopefully you have a backup of the data just in case.
Luke
Post by s***@public.gmane.org
Been pondering an upgrade to my zfs pool to add two more 4TB drives, and
I had a thought that I've been unable to confirm is feasible or not.
I currently have 4 2-TB drives arranged in a RAIDZ2 vdev and the two 4TB
drives are mirrored, all forming one pool together. If I expanded by 2 4TB
drives, would it be possible to set up one raidz2 that contains the 4 4 TB
disks, and the 4 2 TB disks with the 2 TB disks arranged to simulate 2 4 TB
disks, allowing them to be part of the raidz2?
To unsubscribe from this group and stop receiving emails from it, send an
To unsubscribe from this group and stop receiving emails from it, send an email to zfs-discuss+unsubscribe-VKpPRiiRko7s4Z89Ie/***@public.gmane.org
Luke Olson
2014-06-05 16:54:10 UTC
Permalink
The nesting isn't possible in ZFS that I'm aware of (someone correct me if
that's not the case) but it could be done with something like ZFS built on
top of hardware RAID. I'd personally stick with two RAID Z2 (or RAID Z)
VDEV given that hardware.

Luke
Post by SanMadJack
This does not answer my question at all. I'm not asking if I can expand my
existing pool, I'm asking if my theoretical pool setup is possible. My
theoretical pool is vastly different than my existing pool, so it would
require completely recreating the pool from scratch no matter how you look
at it.
^Matt(hew)?[ ]Barbour$
Post by Luke Olson
Disks can be added to a pool but not removed without destroying the pool.
So you could add the two new disks as a mirror and move on, or you could
put the data from the pool elsewhere temporarily and create it all again
from scratch in a different configuration.
If the data could fit into 4TB then you could create a temporary pool
from the new drives, take a snapshot of the old pool and send it to the
temporary pool, then delete the old pool, make one RAID Z2 in another pool
(the final pool), send the snapshot to the final pool, and finally delete
the temporary pool add the second RAID Z2 to the final pool. If you go this
route hopefully you have a backup of the data just in case.
Luke
Post by s***@public.gmane.org
Been pondering an upgrade to my zfs pool to add two more 4TB drives, and
I had a thought that I've been unable to confirm is feasible or not.
I currently have 4 2-TB drives arranged in a RAIDZ2 vdev and the two 4TB
drives are mirrored, all forming one pool together. If I expanded by 2 4TB
drives, would it be possible to set up one raidz2 that contains the 4 4 TB
disks, and the 4 2 TB disks with the 2 TB disks arranged to simulate 2 4 TB
disks, allowing them to be part of the raidz2?
To unsubscribe from this group and stop receiving emails from it, send
To unsubscribe from this group and stop receiving emails from it, send an
To unsubscribe from this group and stop receiving emails from it, send an email to zfs-discuss+unsubscribe-VKpPRiiRko7s4Z89Ie/***@public.gmane.org
Luke Olson
2014-06-05 16:59:28 UTC
Permalink
Here's a definitive answer from the man page for zpool.

Virtual devices cannot be nested, so a mirror or raidz virtual device can
only contain files or disks. Mirrors of mirrors (or other combinations) are
not allowed.

A pool can have any number of virtual devices at the top of the
configuration (known as "root vdevs"). Data is dynamically distributed
across all top-level devices to balance data among devices. As new virtual
devices are added, ZFS automatically places data on the newly available
devices.


Luke
Post by Luke Olson
The nesting isn't possible in ZFS that I'm aware of (someone correct me if
that's not the case) but it could be done with something like ZFS built on
top of hardware RAID. I'd personally stick with two RAID Z2 (or RAID Z)
VDEV given that hardware.
Luke
Post by SanMadJack
This does not answer my question at all. I'm not asking if I can expand
my existing pool, I'm asking if my theoretical pool setup is possible. My
theoretical pool is vastly different than my existing pool, so it would
require completely recreating the pool from scratch no matter how you look
at it.
^Matt(hew)?[ ]Barbour$
Post by Luke Olson
Disks can be added to a pool but not removed without destroying the
pool. So you could add the two new disks as a mirror and move on, or you
could put the data from the pool elsewhere temporarily and create it all
again from scratch in a different configuration.
If the data could fit into 4TB then you could create a temporary pool
from the new drives, take a snapshot of the old pool and send it to the
temporary pool, then delete the old pool, make one RAID Z2 in another pool
(the final pool), send the snapshot to the final pool, and finally delete
the temporary pool add the second RAID Z2 to the final pool. If you go this
route hopefully you have a backup of the data just in case.
Luke
Post by s***@public.gmane.org
Been pondering an upgrade to my zfs pool to add two more 4TB drives,
and I had a thought that I've been unable to confirm is feasible or not.
I currently have 4 2-TB drives arranged in a RAIDZ2 vdev and the two
4TB drives are mirrored, all forming one pool together. If I expanded by 2
4TB drives, would it be possible to set up one raidz2 that contains the 4 4
TB disks, and the 4 2 TB disks with the 2 TB disks arranged to simulate 2 4
TB disks, allowing them to be part of the raidz2?
To unsubscribe from this group and stop receiving emails from it, send
To unsubscribe from this group and stop receiving emails from it, send
To unsubscribe from this group and stop receiving emails from it, send an email to zfs-discuss+unsubscribe-VKpPRiiRko7s4Z89Ie/***@public.gmane.org
Bernd P. Ziller
2014-06-05 17:05:10 UTC
Permalink
My theoretical pool is vastly different than my existing pool, so it would require completely recreating the pool from scratch no matter how you look at it.
So would like to create a 4+2 raidz2?

You could create two 4TB md stripes out of the four 2TB disks. ZFS would just happily use these block devices as vdevs.
But as soon as you budget allows, I would recommend to replace these two md stripes.

To unsubscribe from this group and stop receiving emails from it, send an email to zfs-discuss+unsubscribe-VKpPRiiRko7s4Z89Ie/***@public.gmane.org
Linda Kateley
2014-06-05 17:11:36 UTC
Permalink
I think if i get the question, you want to create a larger pool but you
want to create the raidz2 set out of the large disks and the smaller
disks in a stripe/concat sets?

The answer is maybe. Unless you use some other volume management utility
to concat the 2 TB drives which gives a device name you can use to add
to the pool?
Post by Luke Olson
Disks can be added to a pool but not removed without destroying the
pool. So you could add the two new disks as a mirror and move on, or
you could put the data from the pool elsewhere temporarily and create
it all again from scratch in a different configuration.
If the data could fit into 4TB then you could create a temporary pool
from the new drives, take a snapshot of the old pool and send it to
the temporary pool, then delete the old pool, make one RAID Z2 in
another pool (the final pool), send the snapshot to the final pool,
and finally delete the temporary pool add the second RAID Z2 to the
final pool. If you go this route hopefully you have a backup of the
data just in case.
Luke
Been pondering an upgrade to my zfs pool to add two more 4TB
drives, and I had a thought that I've been unable to confirm is
feasible or not.
I currently have 4 2-TB drives arranged in a RAIDZ2 vdev and the
two 4TB drives are mirrored, all forming one pool together. If I
expanded by 2 4TB drives, would it be possible to set up one
raidz2 that contains the 4 4 TB disks, and the 4 2 TB disks with
the 2 TB disks arranged to simulate 2 4 TB disks, allowing them to
be part of the raidz2?
To unsubscribe from this group and stop receiving emails from it,
To unsubscribe from this group and stop receiving emails from it, send
To unsubscribe from this group and stop receiving emails from it, send an email to zfs-discuss+unsubscribe-VKpPRiiRko7s4Z89Ie/***@public.gmane.org
Richard Yao
2014-06-05 16:59:18 UTC
Permalink
This requires block pointer rewrite.
Post by s***@public.gmane.org
Been pondering an upgrade to my zfs pool to add two more 4TB drives, and I
had a thought that I've been unable to confirm is feasible or not.
I currently have 4 2-TB drives arranged in a RAIDZ2 vdev and the two 4TB
drives are mirrored, all forming one pool together. If I expanded by 2 4TB
drives, would it be possible to set up one raidz2 that contains the 4 4 TB
disks, and the 4 2 TB disks with the 2 TB disks arranged to simulate 2 4 TB
disks, allowing them to be part of the raidz2?
s***@public.gmane.org
2014-06-05 17:16:46 UTC
Permalink
That seems pretty definitive, and exactly what I needed to know. I don't
think it's a good idea to use an external raid solution to combine the 2
TBs into fake 4 TB disks, so I'll probably just stick with 2 raidz2 arrays.
Long-long term is for all the drives to be 4 TB, at which point this will
all be moot, but I'm glad to know what I have to work with at this point.
Thank you everyone for your feedback!
Post by s***@public.gmane.org
Been pondering an upgrade to my zfs pool to add two more 4TB drives, and I
had a thought that I've been unable to confirm is feasible or not.
I currently have 4 2-TB drives arranged in a RAIDZ2 vdev and the two 4TB
drives are mirrored, all forming one pool together. If I expanded by 2 4TB
drives, would it be possible to set up one raidz2 that contains the 4 4 TB
disks, and the 4 2 TB disks with the 2 TB disks arranged to simulate 2 4 TB
disks, allowing them to be part of the raidz2?
To unsubscribe from this group and stop receiving emails from it, send an email to zfs-discuss+unsubscribe-VKpPRiiRko7s4Z89Ie/***@public.gmane.org
Loading...