Date: Tue, 11 Sep 2012 13:07:59 +0200 From: =?iso-8859-1?Q?Thomas_G=F6llner_=28Newsletter=29?= <Newsletter@goelli.de> To: <freebsd-fs@freebsd.org> Subject: ZFS: Corrupted pool metadata after adding vdev to a pool - no opportunity to rescue data from healthy vdevs? Remove a vdev? Rewrite metadata? Message-ID: <001a01cd900d$bcfcc870$36f65950$@goelli.de>
next in thread | raw e-mail | index | archive | help
Hi all, I recently crashed my pool with adding a new vdev to my pool. I=92m running NAS4Free 9.0.0.1 - Sandstorm (Revision 188). My Pool "GoelliZFS1" has one vdv - a raidz out of 3 discs =E1 3TB. As I needed = more space I put 3 discs =E1 1.5TB in the mashine and created a new raidz = vdev. Now something must have happened when I added the new vdev to the existing = pool. I think somehow the disclables got mixed up or something. Because after adding the vdev my pool had a capacity of 16TB o_O Until that point I = did everything via webGUI. I thought a restart could help, but after that my pool was gone. Now I did some reading and tried via CLI over SSH. I don't want to put = the whole log here, because it might be to long. I'll give shortup and if = you want to know more, just ask ;-) With "zpool import" I can see my pool. I checked the smart logs to = verify the disc names. Options -F and -X didn't help. With option -V the pool = was imported, but still faulty. goelli-nas4free:~# zpool import -faV goelli-nas4free:~# zpool status pool: GoelliZFS1 state: FAULTED status: The pool metadata is corrupted and the pool cannot be opened. action: Destroy and re-create the pool from a backup source. see: http://www.sun.com/msg/ZFS-8000-72 scan: none requested config: NAME STATE READ WRITE CKSUM GoelliZFS1 FAULTED 1 0 0 missing-0 ONLINE 0 0 0 raidz1-1 ONLINE 0 0 0 ada3 ONLINE 0 0 0 ada4 ONLINE 0 0 0 ada4 ONLINE 0 0 0 I used "zdb -l" for all discs. There are all 4 Labels on each disc. "zdb" also gave me some feedback (too long to post). I'm sure now, that my data is on the discs. After adding the new vdev I = had nothing changed. So there must be a chance to tell the zfs to dissmiss the wrong entry in = the metadata - or to edit the metadata myself... When I think of the following case, you would agree that there has to be = an opportunity to detach vdevs... If you have a pool of 4 vdevs, which is full of data, you are supposed = to add more space to the pool by adding a new vdev, right? If now, for some reason, after a short time and not much new data the new attached vdev completely fails - what do you do? ZFS is allways consistend on-disk. = ZFS has copy-on-write, so no data is changed until it's touched. In this = case you have a pool with 4 healthy vdevs with all you data and one faulty = vdev with almost no data. And you get the message to discard all your data, destroy the pool and roll-back from backup?! Somehow rediculous, right? I hope someone can tell me what I can try to do. I will appreachiate any kind of help... Greetings, Thomas
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?001a01cd900d$bcfcc870$36f65950$>