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

Reply via email to