2012-08-20 23:39, Sašo Kiselkov пишет:
We then tried to recreate the pool, which was successful - but without data…

A zpool create overwrites all labels on a device (that's why you had to
add "-f", which essentially means "blame me if all goes wrong"). Since
the vdev labels contain the root block pointer (which points to the root
block of the entire pool object tree) and the value in this block
pointer moves around as new data is added (due to COW semantics), your
data is now toast. Sorry about that.

As was recently discussed on the list, it is difficult to recreate
the label for the disks. Not impossible, however, but quite an
experiment - and an undocumented one AFAIK.

You might be in a bit of luck, because your zvol-based component
of the pool might have some important data (last known TXG number
and address of the current three copies of the root block for ZFS
data tree).

Assuming that you did not write much to the pool disks after that
forced creation of the new pool, recreation of labels for those
disks (or one of them since they were mirrored) should theoretically
be possible and help. Perhaps some bytes were overwritten and lost
forever in the data area of the pool during creation of the new
pool's root dataset and other structures, but most data should be

Good luck,

zfs-discuss mailing list

Reply via email to