Dick Davies wrote:
On 13/09/06, Matthew Ahrens <[EMAIL PROTECTED]> wrote:
Dick Davies wrote:
> For the sake of argument, let's assume:
>
> 1. disk is expensive
> 2. someone is keeping valuable files on a non-redundant zpool
> 3. they can't scrape enough vdevs to make a redundant zpool
>    (remembering you can build vdevs out of *flat files*)

Given those assumptions, I think that the proposed feature is the
perfect solution. Simply put those files in a filesystem that has copies>1.

I don't think we disagree that multiple copies in ZFS are a good idea,
I just think the zpool is the right place to do that.

Sure, if you want *everything* in your pool to be mirrored, there is no real need for this feature (you could argue that setting up the pool would be easier if you didn't have to slice up the disk though).

Also note that using files to back vdevs is not a recommended solution.

Understood. But neither is mirroring on a single disk (which is what is
effectively being suggested for laptop users using this solution).

It could be recommended in some situations. If you want to protect against disk firmware errors, bit flips, part of the disk getting scrogged, then mirroring on a single disk (whether via a mirror vdev or copies=2) solves your problem. Admittedly, these problems are probably less common that whole-disk failure, which mirroring on a single disk does not address.

But they raise a lot of administrative issues

Sure, especially if you choose to change the copies property on an existing filesystem. However, if you only set it at filesystem creation time (which is the recommended way), then it's pretty easy to address your issues:

(how many copies do I really have?

whatever you set the 'copies' property to.

Where are they?

If you have multiple disks, they are almost certainly on different disks. Some tiny fraction of the blocks may have both their copies on the same disk if enough disks were nearly full.

Have they all been deleted?

No.

If I set this property, how many copies do I have now?

Whatever you set the 'copies' property to.

How much disk will I get back if I delete fileX?

The space you get back is always the space used by the file, as specified by st_blocks, ls -s, or du. Note that this applies even if you use compression, or change the 'copies' property after creating the filesystem.

How much disk do I bill zone admin foo for this month?

That would be up to your policy. You could bill them for the space used, or divide by the number of copies.

How much disk io are ops on this filesystem likely to cause?

copies * mirror_width * raidz_stripe / (raidz_stripe-1). (this applies even if you change the 'copies' property after creating the filesystem).

How do I dtrace this?)

The same way you'd dtrace ditto blocks today. Do you have a specific event in mind that you'd like to trace?

The users (me too!) want mirror-level reliability on their laptops.
I don't think this is the right way to get that feature, that's all.

I agree; there is no magic. If you want to survive a drive failure in your laptop, you need two drives in there.

--matt
_______________________________________________
zfs-discuss mailing list
zfs-discuss@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/zfs-discuss

Reply via email to