[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: linux software raid (1) + dm-crypto: how?



andrey i. mavlyanov пишет:
Доброго времени суток.

Вот уже почти сутки (да-да, йа тормоз) пытаюсь сделать следующее:

есть два SATAшных винта (контроллер дистрибным ядром видится)
есть debian gnu/linux 4.0 etch

хочется

software raid 1

и _как минимум_ /var зашифрованный dm-crypt

в идеале зашифровать всё, включая /

я вот только не понял как правильно сделать это. к сожалению в инсталлере нет автоматической инсталляции с подобным извратом (есть только lvm+dm_crypt но мне надо чтобы это ещё и на raid1 висело.

Запускаешь инсталлятор в режиме expert (в других я обычно не ставлю, может и там можно)
В инсталляторе выбираешь ручную разбивку.
Делаешь на каждом винте по 2 раздела: primary:100Mb,secondary: остальное, для них указываешь использовать как физический том для RAID
Затем выбираешь
меню "настроить RAID" и создаешь 2 устройства, в первое RAID1 устройства включаешь первые 100Mb разделы со всех винтов, там будет жить /boot второе RAIDx (x может быть любым) вносишь вторые разделы всех винтов. затем говоришь что закончил.

Опять попадаешь в основное меню разбивки, там будет 2 RAID устройства. Выбираешь второе (которое большое) и создаешь на нем раздел с типом LVM затем переходишь к настройке LVM и в LVM создаешь несколько томов.... я создавал:
root
swap
secure
data

После создания и завершения работы с LVM попадешь опять в меню разбивки, там уже должны быть видны /md0 который RAID1 и который будет использоваться как /boot На LMV будут root swap secure data. Далее наступает время экспериментов :) - возможно заработает а возможно нет. Я пробовал шифровать только swap и secure. В твоем случае на root, swap надо создать разделы и их типом назначить "физический том для шифрования" затем пойти в меню "настройка шифрования" В настройке шифрования надо swap указать что шифруется произвольным ключем а root указать что шифруется ключевой фразой (ну или root оставить не шифрованным а сделать раздел для /var) и опять указать что закончил.

Опять попадаешь в основное меню разбивки.... теперь дерево получается примерно такое:
hd1 hd2 hdx
1     1      1 RAID1 /boot
5     5      5 RAIDx->LVM->root->crypt(root_crypt)
                                            swap->crypt(swap_crypt)
                                            secure->crypt(secure_crypt)
                                            data

т.е. тебе надо указать (возможно сбросится все что указывал до этого)
Где у тебя будет /boot (обязательно не глубже чем raid1)
Где будет корень - в твоем случае скорее всего это будет root_crypt
Где будет swap - в твоем случае это будет swap_crypt
Это дефолтное поименование устройств инсталлятором.

В итоге смысл в том что соответствие разделов и шифрованных устройств живет в /etc/crypttab
т.е. получается что-то типа того:
root_crypt /dev/lvm2/volume/root
swap_crypt /dev/lvm2/volume/swap

И после монтирования шифрованных устройств получаются расшифрованные:
/dev/mapper/root_crypt
/dev/mapper/swap_crypt

А они в свою очередь уже указываются в
/etc/fstab для монтирования на / и подключения свопа.

В общем то что ты хочешь вполне реализуемо даже средствами менюшного инсталлятора..... хотя в случае использования LVM можно тупо сделать md0(RAID1)/boot и md1(RAIDx)LVM и на нем только нешифрованный /root а потом загрузиться в систему и медитировать до просветления создавая с помощью LVM еще один root и все что тебе надо шифрованные и пытаясь с них загрузиться. В этом случае у тебя всегда останется один рабочий /root и ты из него сможешь модифицировать все параметры. В финале если захочешь его удалишь а освободившееся место прицепишь куда надо...

Я все пишу чисто из головы, так что могу где-то в чем-то наврать но надеюсь что из моего сбивчивого объяснения тебе будет понятна суть того что надо получить в итоге. В общем-то у меня подобная схема работает, но просто LVM2 на RAID5 и второй вариант evms на RAID5. шифрование применял только во втором случае и только к /secure и к swap. Корни шифрованные не люблю :) - потому что тогда без пароля система даже не загрузится.....


Олег.



Reply to: