Page 1 of 1

Raidz2 pool mailfunction

Posted: 09 Dec 2013 12:08
by Sergius
N4F is running on virtual machine (proxmox). A few days ago vm suddenly restarted and entered boot-cycle: every time n4f tried to mount mount pool it throwed fatal trap 12. I tried to import pool in other FreeBSD derivatives and also in Solaris and OpenIndiana. Only Solaris let me import this pool, but with -Vf flags, marking everything as unavailable. FreeBSD and OI just rebooted. Also i've looked on labels on vm's disks and noticed, that the last succeded transaction wasn't among transactions in uberblocks.

zdb -l output on one of the disks. On others its the same

Code: Select all

--------------------------------------------
LABEL 0
--------------------------------------------
    version: 28
    name: 'r1'
    state: 0
    txg: 4273868
    pool_guid: 4651652232851139502
    hostname: ''
    top_guid: 5698945487837190948
    guid: 5103665716231737406
    vdev_children: 1
    vdev_tree:
        type: 'raidz'
A naive step to change txg to any transaction found in uberblocks didn't help. What else can I try to extract data from pool?

Re: Raidz2 pool mailfunction

Posted: 11 Dec 2013 23:56
by Onichan
No idea how to try and fix that, but did you have the disks attached to the N4F virtual with RAW mode or direct access? Because its very possible and likely that since N4F was itself a virtual the host had written extra/other data/metadata to the disks which could cause problems when trying to import them other ways. One of the big reasons N4F should be the host system.

Re: Raidz2 pool mailfunction

Posted: 12 Dec 2013 06:24
by Sergius
N4F had 4 virtual disks -- just raw files. Host couldn't make anything to these. And I'm trying to save any files rather than fix that pool. Labels and uberblock array are fine, but out of sync. Aren't there any tool, which can look on pool ignoring some corrupted information in lables? Or how can labels be modified, so zfs would accept zpool? Simpy changing txg value resulted in nothing.

Re: Raidz2 pool mailfunction

Posted: 15 Dec 2013 20:40
by substr
You could try zpool import -fF mypool and see if it works.

Another option, which is undocumented, is zpool import -T 4273868 -o readonly=on mypool

Try reducing the number by one or two, and see if either of those works. The number came from your label (txg). More at: http://www.c0t0d0s0.org/archives/7621-B ... ort-T.html or

Re: Raidz2 pool mailfunction

Posted: 20 Dec 2013 11:54
by Sergius
Thanks, that helped.

Actually, I increased this number up to one of the latest txg -- something about 4402000. Thanks a lot, substr