Bug 27982

Summary: raid (0.9) & luks
Product: Sisyphus Reporter: timonbl4 <timonbl4>
Component: cryptsetupAssignee: Nikolay A. Fetisov <naf>
Status: CLOSED NOTABUG QA Contact: qa-sisyphus
Severity: normal    
Priority: P3 CC: aen, legion, mike, naf, shaba
Version: unstable   
Hardware: all   
OS: Linux   

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 не помешало бы, но это отдельный вопрос.