有什么方法可以检查 Luks 容器标头是否损坏?我的 Luks 容器拒绝使用其密钥文件打开,并显示No key available with this pass-phrase.
事件发生的历史:
我正在使用 mdadm raid5 尝试增加 3 组件阵列的磁盘大小。我想我遇到了 mdadm 软件中的错误,被迫关闭 luks 容器并重新组装阵列。md0
目前的配置如下:
Version : 0.90
Raid Level : raid5
Array Size : 3907023872 (3726.03 GiB 4000.79 GB)
Used Dev Size : 1953511936 (1863.01 GiB 2000.40 GB)
Raid Devices : 3
Total Devices : 2
State : clean, degraded
Chunk Size : 64K
Number Major Minor RaidDevice State
0 9 2 0 active sync /dev/md2
1 8 33 1 active sync /dev/sdc1
2 0 0 2 removed
不重要的信息已删除。
/dev/md2/
是一个由最多 1 个 (2TB) 磁盘组成的线性 mdadm 阵列。sdc1
是一个 4TB 磁盘。此阵列仅使用了其中的 2TB,如 所示Used Dev Size
。
md2
当我使用另一个磁盘将线性阵列扩展到 4TB 并尝试增加到md0
新的组件大小时,出现了问题。它抱怨0.90
元数据仅支持 2TB 组件磁盘并显示Used Dev Size: -1
,快速谷歌搜索显示它不好。我的错误是缩减md2
回 1 个磁盘大小(2TB),这表明md0
设备发生故障并进入md0
模式FAILED
。
为了在不重新同步的情况下将该组件添加回阵列,我不得不停止并重新组装阵列。从那时起,luks 容器就无法打开了。
答案1
为了结束,我不妨发布问题所在:事实证明,mdadm 默认创建的阵列版本与我拥有的版本不同,因此在重新组装过程中,它覆盖了磁盘上的某些备份位置,其中一个备份位置与 luks 标头重合,将其清除。从未设法从中恢复数据。吸取教训。