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

Reply via email to