On 08/20/2012 10:15 PM, Jim Klimov wrote:
> 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.
He described that he re-created zpool, so I take it he re-created it
with all component vdevs (both the mirrored disks and the zvol), so
there are no more labels left to coy.
> 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
If he re-created it with only the mirrored disks, then maybe. If he
re-created it with all vdevs, then the data really is gone.
zfs-discuss mailing list