Moore, Joe wrote:
Has anyone done a comparison of the reliability and performance of a mirrored zpool vs. a non-redundant zpool using ditto blocks? What about a gut-instinct about which will give better performance? Or do I have to wait until my Thumper arrives to find out for myself?
It all depends on the configuration. For a single disk system, copies should generally be faster than mirroring. For multiple disks, the performance should be similar as copies are spread out over different disks.
Also, in selecting where a ditto block is written, (other than "far away") does the system take into account the disk's path, so for example, would it write both copies down a single controller?
Paths are not considered, post creation. The copies are placed on adjacent vdevs (N, N+1) and cycle through the vdevs. So if you created the pool with adjacent vdevs on different controllers, then you'll get some diversity. Note: as the file system becomes full, the knowledge of the mapping of copies becomes less predictable. For example, if I have a zpool (stripe) with a 200 GByte vdev and 500 GByte vdev, then with copies=2 I will have effectively 350 GBytes of available space, (200+500)/2. As we get beyond 200 GBytes of space used, both copies will be allocated on the 500 GByte disk. With mirrors, I will have only 200 GBytes of available space min(200, 500). In short, redundant copies of data is better than no redundant copies of data. Whether you use copies=2 or mirroring will be a design decision that you must make. Remember, you can always attach or detach mirrors, so you do have some flexibility to change policies later. -- richard _______________________________________________ zfs-discuss mailing list zfs-discuss@opensolaris.org http://mail.opensolaris.org/mailman/listinfo/zfs-discuss