Во-первых, порядок LUKS и LVM зависит от того, хотите ли вы иметь разные пароли LUKS или другие настройки для разных LV. Если, скажем, вам нужно установить разные пароли для разных LV, вам определенно нужно поставить LUKS поверх LVM. С другой стороны, если все LV имеют один и тот же пароль и настройки, как keylen, вам нужно, чтобы LUKS был ниже LVM, чтобы вам не приходилось сталкиваться с накладными расходами при наличии более одного раздела LUKS (подумайте, что вы придется делать, когда нужно сменить пароль).
Во-вторых, вы почти всегда хотите, чтобы RAID был на самом низком уровне, поэтому, когда один диск умирает, его можно легко и прозрачно заменить. Если бы вы установили RAID поверх LVM, вам пришлось бы заменить PV, когда один из дисков умирает, что было бы большой болью в шее. Кроме того, RAID поверх LVM полностью уничтожил бы гибкость LVM. Тогда вам, вероятно, потребуется снова установить второй уровень LVM поверх RAID!
Поэтому, поскольку в большинстве случаев людям просто нужно использовать один пароль, этого будет достаточно:
RAID -> LUKS -> LVM -> ext4
В некоторых случаях вам может понадобиться использовать LVM для объединения нескольких RAID-устройств в большой том, тогда вы можете сделать следующее:
RAID -> LVM -> LUKS (-> LVM) -> ext4
Теоретически порядок не должен сильно влиять на производительность, если каждый слой настроен правильно , и на практике я не видел, чтобы эта настройка имела особенно плохую производительность. Самое главное, вероятно, выравнивание:
- убедитесь, что ваши разделы выровнены на 1 МБ (очень важно для SSD);
- для уровня RAID выбирайте размер фрагмента с умом;
- для LVM убедитесь, что вы установили
--dataalignment
соответствующий размер чанка RAID ( это может быть полезно).
Кроме того, если на SSD, убедитесь , что вы включили LUKS TRIM / DISCARD Сквозного путем добавления rd.luks.options=discard
к /etc/default/grub
и discard
к /etc/crypttab
(это то , что я делаю на Red Hat / Fedora Linux. Может быть немного отличается от Debian.) L и RAID автоматически поддержка Отклона если вы используете новое ядро.
Конечно, это всего лишь общие рекомендации. Если у вас есть особые потребности, не стесняйтесь обновить свой вопрос или комментарий здесь.
Если вы хотите все RAID, LUKS и LVM, я бы порекомендовал
RAID -> LUKS -> LVM -> FS
.RAID --> LVM --> LUKS --> LVM --> FS
не лучше, чемRAID -> LUKS -> LVM
- для расширения томов просто добавьте большеRAID -> LUKS
устройств в группу томов.RAID --> LVM --> LUKS --> FS
- шифрование только определенных логических томов имеет функцию не шифрования всего по умолчанию (может рассматриваться как преимущество или недостаток), но это облегчит расширение корневой FS.Расширение LUKS поверх логических томов является распространенным источником проблем, когда пользователи расширяют / изменяют их размер в неправильном порядке. Наличие LUKS на всем устройстве md RAID упростит изменение размера - добавьте новое устройство md, создайте LUKS поверх этого, добавьте устройство в / etc / crypttab (по крайней мере, в клонах Fedora и RHEL) и расширьте группу томов. Если root FS входит в группу томов, вам нужно добавить еще одну
rd.luks.uuid
запись в ядро cmdline (отредактируйте / etc / default / grub и перегенерируйте grub.cfg.)LUKS -> RAID
обычно неверно - данные будут зашифрованы несколько раз, потребляя больше циклов ЦП без усиления. Существует также вероятность ошибочной замены неисправного диска на новый без настройки LUKS в случае сбоя диска.Расширение и сокращение:
При вытягивании всегда уходите с низа стопки, при сжимании сверху.
Пример:
Расширение
RAID -> LVM -> LUKS -> FS
(первые два шага необязательны, если в группе томов достаточно свободного места):Сокращение
RAID -> LVM -> LUKS -> FS
:источник