检查 Luks 标头是否损坏

检查 Luks 标头是否损坏

有什么方法可以检查 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 标头重合,将其清除。从未设法从中恢复数据。吸取教训。

相关内容