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 This message posted from opensolaris.org
tester writes: > 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. > you probably end up with 2 pools, 1 mirrored vdev, and 1 stripe of 3 vdevs. -r > Thanks for the clarification > > > This message posted from opensolaris.org > _______________________________________________ > zfs-discuss mailing list > zfs-discuss at opensolaris.org > http://mail.opensolaris.org/mailman/listinfo/zfs-discuss
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)