Troubleshoot broken ZFS
- by BBK
I have one zpool called tank in RaidZ1 with 5x1TB SATA HDDs. I'm using Ubuntu Server 11.10 Oneric, kernel 3.0.0-15-server. Installed ZFS from ppa also I'm using zfs-auto-snapshot. The ZFS file system when zfs module loaded to the kernel hangs my computer.
Before it I created few new file systems:
zfs create -V 10G tank/iscsi1
zfs create -V 10G tank/iscsi2
zfs create -V 10G tank/iscsi3
I shared them through iSCSI by /dev/tank/iscsiX path. And my computer started to hanging sometimes when I used tank/iscsiX by iSCSI, do not know why exactly. I switched off iSCSI and started to remove this file systems:
zfs destroy tank/iscsi3
I'm also using zfs-auto-snapshot so I had snapshots and without -r key my command not destroying the FS. So I issued next command:
zfs destroy tank/iscsi3 -r
The tank/iscsi3 FS was clean and contain nothing - it was destroyed without an issue.
But tank/iscsi2 and tank/iscsi1 contained a lot of information. I tried
zfs destroy tank/iscsi2 -r
After some time my computer hang out. I rebooted computer. It didn't boot very fast, HDDs starts working like a crazy making a lot of noise, after 15 minutes HDDs stopped go crazy and OS booted at last. All seems to be ok - tank/iscsi2 was destroyed. After file systems at the tank was accessible, zpool status showed no corruption.
I issued new command:
zfs destroy tank/iscsi1 -r
Situation was repeated - after some time my computer hang out. But this time ZFS seams not to healed itself. After computer switched on it started to work: loading scripts and kernel modules, after zfs starting to work it hanging my computer.
I need to recover else ZFS file systems which lying in the same zpool.
Few month ago I backup OS to flash drive. Booting from backed-up OS and import have the same results - OS starts hanging.
How to recover my data at ZFS tank?