> From: zfs-discuss-boun...@opensolaris.org [mailto:zfs-discuss- > boun...@opensolaris.org] On Behalf Of Tony MacDoodle > > zpool create tank mirror c1t2d0 c1t3d0 mirror c1t4d0 c1t5d0 spare c1t6d0 > > Is this a 0 then 1 (mirror of stripes) > or > 1 then 0 (stripe of mirrors)
Strictly speaking, ZFS doesn't do striping as what you would call striping in raid terms. In raid terms, a stripe has logically arranged sequential virtual blocks on different volumes, so if you read a sequence of blocks, you're guaranteed to hit each drive. This has some limitations, like, all drives in the stripe set must be same size, and if you have small files which are larger than a single block, the stripe set actually hurts performance, etc. Cannot expand the stripe by simply adding another device. By comparison, raid concatenation has different limitations. It can expand with randomly sized disks, and helps accelerate small operations, but cannot accelerate large sequential operations. ZFS "striping" is different. Blocks may be allocated physically on the same disk, or separate disks, according to whatever ZFS felt like at the time. This gives you all the benefits of striping and concatenation, without any of the negative effects. Here's a good example: I wonder if anybody can factually confirm or deny this is the behavior of ZFS? I am speaking hypothetically, and I don't actually know if ZFS behaves this way: Suppose you have 3 disks in a ZFS stripe. You fill them up mostly (say, 90%) and then you add another disk. A while later, after some usage, you have 3 disks at 85% and 1 disk at 10%. You start some massive read operation. So disks 1, 2 and 3 are entirely utilized for reads. Meanwhile, you also create some writes. Well, disk 4 is idle, so the writes all hit disk 4, while disks 1,2,3 are all reading. ZFS can load balance all your reads & writes to utilize the idle cycles of your hardware optimally. This is something which cannot be done with simple raid (raid-5 or striping) because they don't have any knowledge of the filesystem. They're only able to systematically map blocks, and hope that's in some way close to optimal for your usage pattern. But ZFS can actually look at your requested usage pattern and choose to behave differently based on pending operations and hardware utilization. _______________________________________________ zfs-discuss mailing list zfs-discuss@opensolaris.org http://mail.opensolaris.org/mailman/listinfo/zfs-discuss