On 18.01.10 20:12, Stéphane wrote:
Hello,

I am a French user of OpenSolaris for 2 years now.

This morning I had an electricity issue and my server stop.
But after I restart him, I had a very very big problem : my zpool disappeared !

No it is not.

I opened a terminal and write :

# zpool status
  pool: raid
 state: FAULTED
status: An intent log record could not be read.
        Waiting for adminstrator intervention to fix the faulted pool.
action: Either restore the affected device(s) and run 'zpool online',
        or ignore the intent log records by running 'zpool clear'.
   see: http://www.sun.com/msg/ZFS-8000-K4
 scrub: none requested
config:

        NAME        STATE     READ WRITE CKSUM
        raid        FAULTED      0     0     0  bad intent log
          raidz1    ONLINE       0     0     0
            c7t0d0  ONLINE       0     0     0
            c7t1d0  ONLINE       0     0     0
            c7t2d0  ONLINE       0     0     0
            c7t3d0  ONLINE       0     0     0
            c7t4d0  ONLINE       0     0     0
            c7t5d0  ONLINE       0     0     0
            c7t6d0  ONLINE       0     0     0
            c7t7d0  ONLINE       0     0     0
        logs        FAULTED      0     0     0  bad intent log
          c8d1      UNAVAIL      0     0     0  corrupted data


Output above tells that automatic open of your pool during boot failed and the reason was some issue with some ZIL record on your log disk. So pool is imported but cannot be used so it is in FAULTED state.

ZIL is important to guarantee data integrity from application standpoint. Even though ZIL record cannot be read, your ZFS pool is still consistent on disk.

# zpool import -f raid
cannot import 'raid': no such pool available

This fails because your pool 'raid' is present in ZFS namespace or, in other words, is already imported, so you cannot import it second time.

# zpool import

--> And nothing, my zpool completely disappeared when I type "zpool import" !!!

Again, this is because your pool is imported, and there are no other pools available to import.

So you need to make sure first that your log device is at least readable. I suggest trying

zdb -l /dev/rdsk/c8d1s0

If it shows 4 labels, then disk itself is probably readable and fine, so it is the problem with the ZIL record. If it is the case, then you have a choice of dropping last few seconds of synchronous writes that are recorded in the ZIL to recover your pool.

You can do it with 'zpool clear raid'. Remember, that this will result in some files being inconsistent from the application standpoint, so you'll have to check your applications and fix any it may have.

if there are issues with your log disk c8d1 - e.g. it is unreadable at all, you may try to deal with it first before using 'zpool clear'

hth,
victor
_______________________________________________
opensolaris-help mailing list
[email protected]

Reply via email to