考虑一个从故障的 Thecus NAS RAID6 中恢复数据的案例。RAID6 可以在降级模式下组装,直到检测到 10TB zfs_member 文件系统,其文件系统标签为 zfspool0。但 zpool import 失败...
# zpool import
pool: zfspool0
id: 11477212963182401177
state: FAULTED
status: One or more devices contains corrupted data.
action: The pool cannot be imported due to damaged devices or data.
The pool may be active on another system, but can be imported using
the '-f' flag.
see: http://zfsonlinux.org/msg/ZFS-8000-5E
config:
zfspool0 FAULTED corrupted data
lv0 FAULTED corrupted data
此外,zdb -l 可以解压标签 0、1 和 3。但标签 2 无法解压(为简洁起见,省略了标签 1 和 3)...
# zdb -l /dev/vg0/lv0
--------------------------------------------
LABEL 0
--------------------------------------------
version: 13
name: 'zfspool0'
state: 0
txg: 9140386
pool_guid: 11477212963182401177
hostname: 'thecus'
top_guid: 8696440750124555725
guid: 8696440750124555725
vdev_tree:
type: 'disk'
id: 0
guid: 8696440750124555725
path: '/dev/vg0/lv0'
whole_disk: 0
metaslab_array: 23
metaslab_shift: 31
ashift: 9
asize: 11389711679488
is_log: 0
--------------------------------------------
LABEL 2
--------------------------------------------
failed to unpack label 2
我的想法是,如果我能以某种方式解压标签 2,那么 zpool import 可能是可行的。关于如何/是否可以修复标签 2,您有什么想法吗?也许可以用十六进制编辑器手动修复?如果是这样,如果有人知道标签的位置,那会很有帮助。