tester wrote:
Hi,
quoting from zfs docs
"The SPA allocates blocks in a round-robin fashion from the top-level vdevs. A
storage pool with multiple top-level vdevs allows the SPA to use dynamic striping to
increase disk bandwidth. Since a new block may be allocated from any of the top-level
vdevs, the SPA implements dynamic striping by spreading out writes across all available
top-level vdevs"
Now, if I need two filesystems, /protect (mirrored - 2physical) and /fast_unprot (striped - 3physical), is it correct that we end up with 2 top-level vedvs. If that is the case then from the above paragraph does it mean that blocks for either filesystem blocks can end up in any of the 5 physicals. What happens to the intended protection and performance? I am sure, I am missing some basics here.
Thanks for the clarification
What you are missing is that a vdev exists in the context of single
POOL. Pools may have multiple filesystems allocated from their total
storage capacity.
So, in your example, you would have two pools:
zpool create -m /protect tank1 mirror dev1 dev2
and
zpool create -m /fast_unprot tank2 dev3 dev4 dev5
tank1 only has a single vdev, which is a mirror of 2 disks. tank2,
however, has 3 vdevs, each of which is a physical disk.
Any filesystem created in tank1 would be a mirrored fs, while any fs
created in tank2 would be a striped fs.
Essentially, what the man page is talking about is that ZFS does a
round-robin stripe when there are multiple vdevs in a pool.
--
Erik Trimble
Java System Support
Mailstop: usca22-123
Phone: x17195
Santa Clara, CA
Timezone: US/Pacific (GMT-0800)
_______________________________________________
zfs-discuss mailing list
zfs-discuss@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/zfs-discuss