Назад | Перейти на главную страницу

Почему mkfs перезаписывает заголовок шифрования LUKS на LVM на разделах RAID в Ubuntu 12.04?

Я пытаюсь настроить пару разделов с шифрованием LUKS, которые будут смонтированы после загрузки на новом сервере Ubuntu, который был установлен с LVM поверх программного RAID. После запуска cryptsetup luksFormat, на томе хорошо виден заголовок LUKS. После запуска любого варианта mkfs заголовок перезаписывается (чего не происходит в других системах, которые были настроены без LVM), и cryptsetup больше не распознает устройство как устройство LUKS.

# cryptsetup -y --cipher aes-cbc-essiv:sha256 --key-size 256 luksFormat /dev/dm-1
WARNING!
========
This will overwrite data on /dev/dm-1 irrevocably.

Are you sure? (Type uppercase yes): YES
Enter LUKS passphrase: 
Verify passphrase:
# hexdump -C /dev/dm-1|head -n5
00000000  4c 55 4b 53 ba be 00 01  61 65 73 00 00 00 00 00  |LUKS....aes.....|
00000010  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
00000020  00 00 00 00 00 00 00 00  63 62 63 2d 65 73 73 69  |........cbc-essi|
00000030  76 3a 73 68 61 32 35 36  00 00 00 00 00 00 00 00  |v:sha256........|
00000040  00 00 00 00 00 00 00 00  73 68 61 31 00 00 00 00  |........sha1....|
# cryptsetup luksOpen /dev/dm-1 web2-var
# mkfs.ext4 /dev/mapper/web2-var
[..snip..]
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done   
# hexdump -C /dev/dm-1|head -n5
# cryptsetup luksClose /dev/mapper/web2-var
00000000  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
00000400  00 40 5d 00 00 88 74 01  66 a0 12 00 17 f2 6d 01  |.@]...t.f.....m.|
00000410  f5 3f 5d 00 00 00 00 00  02 00 00 00 02 00 00 00  |.?].............|
00000420  00 80 00 00 00 80 00 00  00 20 00 00 00 00 00 00  |......... ......|
# cryptsetup luksOpen /dev/dm-1 web2-var
Device /dev/dm-1 is not a valid LUKS device.

Я также пробовал mkfs.ext2 с тем же результатом. Основываясь на настройках, которые я успешно выполнил на Debian и Ubuntu (но не на LVM или Ubuntu 12.04), трудно понять, почему это не удается.

Если устройство действительно названо /dev/web2/var, то это означает, что вы используете LVM и зашифрованный том является var логический том внутри web2 группа томов. Это означает, что есть уже устройство с именем /dev/mapper/web2-var также, и cryptsetup, вероятно, не перезаписывает его, когда вы говорите ему разблокировать том. Таким образом, вы форматируете исходный том, а не расшифрованный том.

Я не уверен, почему вы не получаете сообщение об ошибке от cryptsetup. Возможно, вы захотите сообщить об ошибке. Или хотя бы проверьте, автоматически ли он переименовывает разблокированное устройство в /dev/mapper/web2-var2 или т.п.

А пока дайте расшифрованному тому новое имя. Пытаться

cryptsetup luksOpen /dev/dm-1 web2-var_crypt