Hi Dave,

Having read through the whole thread, I think there are several things 
that could all be adding to your problems.
At least some of which are not related to ZFS at all.

You mentioned the ZFS docs not warning you about this, and yet I know 
the docs explictly tell you that:

1. While a ZFS pool that has no redundancy (Mirroring or Parity,) like 
your's is missing, can still *detect* errors in the data read from the 
drive, it can't *repair* those errors. Repairing errors requires that 
ZFS be performing (at least) the (top-most level of) Mirroring or Parity 
functions. Since you have no Mirroring or Parity ZFS cannot 
automatically recover this data.

2. As others have said, a zpool can contain many filesystems. 'zfs 
umount' only unmounts a single filesystem. Removing a full pool from a 
machine requires a 'zpool export' no matter what disk technology is 
being used (USB, SCSI, SATA, FC, etc.)  On the new system you would use 
'zpool import' to bring the pool into the new system.

I'm sure this next on is documented by Sun also though not in the ZFS 
docs, probably in some other part of the system dealing with removable 
devices:

3. In addition, according to Casper's message you need to 'off-line' USB 
(and probasbly other types too) storage in Solaris (Just like in 
Windows) before pulling the plug. This has nothing to do with ZFS. This 
will have corrupted (possibly even past the point of repair most other 
filesystems also.

Still, I had an idea on something you might try. I don't know how long 
it's been  since you pulled the drive, or what else you've done since.

Which machine is reporting the errors you've shown us? The machine you 
pulled the drives from? or the machine you moved them too? Were you 
successful in 'zpool import' the pool into the other machines? This idea 
might work either way, but if you haven't successfully immported it into 
another machine there's probably more of a chance.

If the output is from the machine you pulled them out of, then basically 
that machine still thinks the pool is connected to it, and it thinks the 
one and only disk in the pool is now not responding. In this case the 
errors you see in the tables are the errors from trying to contact a 
drive that no longer exists.

Have you reconnected the disk to the original machine yet? If not I'd 
attempt a 'zpool export' now (though that may not work.) and then shut 
the machine down fully, and connect the disk. Then boot it all up. 
Depending on what you've tried to do with this disk to fix the problem 
since it happened I have no idea exactly how the machine will come up.

If you couldn't do the 'zpool' export, then the machine will try to 
mount the FS's in the pool on boot. This may nor may not work.
If you were successful in doing the export with the disks disconnected, 
then it won't try, and you'll need to 'zpool import' them after the 
machine is booted.

Depending on how the import goes, you might still see errors in the 
'zpool status' output. If so, I know a 'zpool clear' will clear those 
errors, and I doubt it can make the situation any worse than it is now. 
You'd have to give us info about what the machine tells you after this 
before I can advise you more. But (and the experts can correct me if I'm 
wrong) this might 'just work(tm)'.

My theory here is that the ZFS may have been successful in keeping the 
state of the (meta)data on the disk consistent after all. The checksum 
and I/O errors listed may be from ZFS trying to access the non-existent 
drive after you removed it. Which (in theory) are all bogus errors, and 
don't really point to errors in the data on the drive.

Of course there are many things that all have to be true for this theory 
to turn out to be true. Depending on what has happened to the machines 
and the disks since they were originally unplugged from each other, all 
bets might be off. And then there's the possibility that the my idea 
never could work at all. People much more expert than I can chime in on 
that.

  -Kyle




D. Eckert wrote:
> Hi,
>
> after working for 1 month with ZFS on 2 external USB drives I have 
> experienced, that the all new zfs filesystem is the most unreliable FS I have 
> ever seen.
>
> Since working with the zfs, I have lost datas from:
>
> 1 80 GB external Drive
> 1 1 Terrabyte external Drive
>
> It is a shame, that zfs has no filesystem management tools for repairing e. 
> g. being able to repair those errors:
>
>        NAME        STATE     READ WRITE CKSUM
>         usbhdd1     ONLINE       0     0     8
>           c3t0d0s0  ONLINE       0     0     8
>
> errors: Permanent errors have been detected in the following files:
>
>         usbhdd1: 0x0
>
>
> It is indeed very disappointing that moving USB zpools between computers ends 
> in 90 % with a massive loss of data.
>
> This is to the not reliable working command zfs umount <poolname>, even if 
> the output of mount shows you, that the pool is no longer mounted and ist 
> removed from mntab.
>
> It works only 1 or 2 times, but removing the device back to the other 
> machine, the pool won't be either recognized at all or the error mentioned 
> above occurs.
>
> Or suddenly you'll find that message inside your messages: "Fault tolerance 
> of the pool may be compromised."
>
> However, I just want to state a warning, that ZFS is far from being that what 
> it is promising, and so far from my sum of experience I can't recommend at 
> all to use zfs on a professional system.
>
> Regards,
>
> Dave.
>   

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

Reply via email to