Bug 27982 - raid (0.9) & luks
Summary: raid (0.9) & luks
Status: CLOSED NOTABUG
Alias: None
Product: Sisyphus
Classification: Development
Component: cryptsetup (show other bugs)
Version: unstable
Hardware: all Linux
: P3 normal
Assignee: Nikolay A. Fetisov
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-11-15 17:11 MSK by timonbl4@altlinux.org
Modified: 2012-11-16 20:42 MSK (History)
5 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description timonbl4@altlinux.org 2012-11-15 17:11:04 MSK
Создаём raid:
mdadm --create --level=0 /dev/md0 --metadata=0.9 --raid-devices=2 /dev/sdb1 /dev/sdb2

Зашифровываем его:
cryptsetup luksFormat /dev/md0

Проверяем:
# cryptsetup isLuks /dev/md0 && echo Yes
Yes

Но:
# cryptsetup isLuks /dev/sdb1 && echo Yes
Yes
Comment 1 timonbl4@altlinux.org 2012-11-15 17:17:46 MSK
Почему --metadata=0.9?
Потому что EVMS именно такой создаёт

Почему важно, чтобы cryptsetup isLuks /dev/sdb1 отвечал отрицательно?
Во время загрузки initrd, идёт такая проверка.. Получается так, что он пытается расшифровать /dev/sdb1, когда должен использовать этот раздел в качесте raid диска
Comment 2 Nikolay A. Fetisov 2012-11-15 20:24:32 MSK
MD RAID при использовании формата 0.9 размещает метаданные в конце диска.
Т.е., разницы между диском с размещённым на нём разделом MD RAID-1 0.9 и диском
без MD RAID нет - начало файловой системы (или заголовок LUKS) размещается с
нулевого блока дискового устройства.
(Как следствие, диски RAID-1 с форматом 0.9 можно использовать с загрузчиками,
не знающими ничего о MD RAID. Или монтировать файловую систему с них, не
поднимая MD RAID - это характерное свойство старого формата MDRAID).

cryptsetup определяет, отформатирован ли диск в LUKS, по наличию заголовка LUKS
в начале диска. Соответственно, для него входящий в MD RAID-1 диск с форматом
0.9 будет диском LUKS - поведение cryptsetup корректно. Тип устройства, на
котором размещён диск (физический диск, раздел MD RAID, что-то ещё) cryptsetup
не интересует и интересовать не должен.


Соответственно, вопрос или решается с использованием форматов мета-данных 1.1, или изменением логики подключения дисковых устройств в initrd. 
Так описанная ситуация - это особенность формата MD RAID 0.9,
диск sdb1 здесь (как, кстати, и sda1) - это и диск MD RAID, и раздел LUKS -
одновременно.
Comment 3 Michael Shigorin 2012-11-16 20:42:50 MSK
(In reply to comment #2)
> > Почему --metadata=0.9?
> > Потому что EVMS именно такой создаёт
> Соответственно, вопрос или решается с использованием форматов мета-данных 1.1,
Да, --metadata из этого века в libevms не помешало бы, но это отдельный вопрос.