-
Notifications
You must be signed in to change notification settings - Fork 1.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
zpool rw import fails after attempting to destroy old corrupt fs #4030
Comments
With a damanged space map any write can nuke your pool by overwriting seemingly free space, which isn't free. So only do read-write experiments in case you have full and tested block-level backups of the old pool. Since you can import read-only and zfs list the filesystems/snapshots: can you still zfs send them (for example to /dev/null, or zstreamdump) ? If so: |
Thanks. That's pretty close to what we decided to do in the end. I think before we reclaim the old disks I may check to see if the Only trouble we're running into now is that the new pool is smaller than Anyways, thanks for your response. Cheers, Gregor Kopka notifications@github.com 2015-11-23 13:58:
|
Hi, lots of backstory first ...
A long time ago, we were setting up a home grown rsync backup on top of zfs system on linux using posixacls via xattrs=sa and daily snapshots and ran into a bug (#2863) that caused some filesystem corruption.
While we were working on the fix for that and testing patches we'd stashed the bad fs away on the side (eg: tank/archive/somethingsomething - I honestly don't remember what it was called now, but it unfortunately wasn't labeled as "don't look at me sideways - there be dragons here").
The patches (against 0.6.3-1~wheezy) fixed our problem at the time and we ran more or less happily in our main layout (tank/rsyncbackup/...) until early this week when we attempted to remove that old corrupted filesystem.
When that happened, we encountered a stack dump:
After a reboot, now the system won't do the standard zpool import/mount in read-write mode (it reports the same error above) and instead we have to try and manually import it in read-only mode.
However, in read-only mode, it fails to mount all the fs in the fs hierarchy.
When we first started the system (on linux, last November), things were mounted in this sort of organization:
Later (last February), we added support for other groups in our college, by zfs renaming things to be under an organization fs:
Now, after the latest panic and zfs import read-only, the system fails to mount everything because it doesn't see the organization level hierarchies. It's almost as if the "tank/rsyncbackup" directory structure is stuck with one from the distant past.
However, "zfs list" still shows all of the expected filesystems and their snapshots and mountpoints.
We tried to just do a simple "aptitude safe-upgrade" to get the latest zfs packages (v0.6.5.2-2-wheezy), but it had the same results.
At this point, we have another set of disks we haven't put into action yet, and would like to basically start rebuilding.
Ideally, we'd be able to
I think at this point we think there are problems with the original pool and want to start with a clean pool, but want to try and avoid loosing our historical data, but also want to try and become at least semi operational while we wait on step (2) (~128T could take a while to transfer).
While reviewing the git commit logs between our old and current version (zfs-0.6.3..zfs-0.6.5.2), I ran across the zfs_recover module parameter (specifically commit ids 53b1d97, which I think was maybe a more complete fix to our original problem, and 7d2868d, due to the bad DVA message, had caught my attention).
However, the zfs-module-paramaters man page comments for the zfs_recover option says:
Right now I'm just wondering if you guys think it's safe to do that to attempt to recover so that we can get step (1) of our plan going or if you have other ideas (eg: skip auto mounting and try and reconstruct the mount hierarchy to avoid that top level old appearing fs, or ...)?
Also, this problem appears to be with the free space map. That's a zpool item, not an fs item, correct? So, a zfs send/recv to a new pool shouldn't bring that issue with it, correct?
Thanks,
Brian
The text was updated successfully, but these errors were encountered: