Raid

意外執行了 luksFormat 而不是 luksOpen

  • April 14, 2020

我有兩個磁碟作為 RAID-1 通過 LUKS 加密:

# blkid
...
/dev/md0: UUID="x-x-x-x-x" TYPE="crypto_LUKS"

不小心我執行cryptsetup luksFormat /dev/md0而不是cryptsetup luksOpen /dev/md0 secure. luks 格式返回WARNING: Device /dev/md0 already contains a 'crypto_LUKS' superblock signature.

現在我不能再使用 open 了,以下幾行提供了更多資訊:

# cryptsetup luksOpen /dev/md0 secure
Device /dev/md0 is not a valid LUKS device.
# cryptsetup luksDump /dev/md0
Device /dev/md0 is not a valid LUKS device.
# hexdump -C /dev/md0 | grep LUKS
00000000  4c 55 4b 53 ba be 00 02  00 00 00 00 00 00 40 00  |LUKS..........@.|
hexdump: /dev/md0: Input/output error

我能做些什麼來獲取我的數據嗎?

來自man cryptsetup(luksFormat 部分):

警告:在現有 LUKS 容器上執行 luksFormat 將使舊容器的所有數據永久無法恢復,除非您有標頭備份。

我猜您沒有標頭備份,因此您的數據將成為歷史。

關於這些壞消息我很遺憾。

儘管如此,這hexdump: /dev/md0: Input/output error表明您的一個驅動器有問題!

引用自:https://unix.stackexchange.com/questions/580080