Primeiro, a ordem de LUKS e LVM depende se você deseja ter senhas LUKS diferentes ou outras configurações para LVs diferentes. Se, digamos, você precisar configurar senhas diferentes para LVs diferentes, você definitivamente precisará colocar LUKS no topo do LVM. Por outro lado, se todos os LVs compartilharem a mesma senha e configurações como keylen, convém ter LUKS abaixo do LVM, para que você não precise lidar com a sobrecarga de ter mais de uma partição LUKS (pense no que você teria que fazer quando você precisar alterar a senha).
Segundo, você quase sempre deseja que o RAID seja o nível mais baixo, para que, quando um disco morrer, ele possa ser trocado com facilidade e transparência. Se você configurasse o RAID sobre o LVM, teria que substituir um PV quando um disco morrer, isso seria uma grande dor no pescoço. Também o RAID sobre o LVM derrotaria totalmente a flexibilidade do LVM. Você provavelmente precisará configurar a segunda camada do LVM sobre o RAID novamente!
Portanto, como na maioria dos casos as pessoas só precisam usar uma única senha, isso seria suficiente:
RAID -> LUKS -> LVM -> ext4
Em alguns casos, pode ser necessário usar o LVM para combinar vários dispositivos RAID em um grande volume, e você pode:
RAID -> LVM -> LUKS (-> LVM) -> ext4
Teoricamente, a ordem não deve afetar muito o desempenho, se todas as camadas estiverem configuradas corretamente e, na prática, eu não vi essa configuração ter um desempenho particularmente ruim. O mais importante é provavelmente o alinhamento:
- verifique se suas partições estão alinhadas com 1 MB (muito importante para SSD);
- para camada RAID, escolha sabiamente o tamanho do pedaço ;
- para LVM, certifique-se de definir
--dataalignment
o tamanho do pedaço RAID ( isso pode ser útil).
Além disso, se no SSD, certifique-se de permitir que LUKS TRIM / DISCARD pass-through pela adição rd.luks.options=discard
de /etc/default/grub
e discard
para /etc/crypttab
(Estes são o que eu faço no Red Hat / Fedora Linux. Pode ser um pouco diferente em Debian.) LVM e RAID deve descartar o apoio automaticamente se você usar um kernel new-ish.
Obviamente, estas são apenas diretrizes gerais. Se você tiver necessidades especiais, atualize sua pergunta ou comentário aqui.
Se você deseja todos os RAID, LUKS e LVM, eu recomendaria
RAID -> LUKS -> LVM -> FS
.RAID --> LVM --> LUKS --> LVM --> FS
não é melhor queRAID -> LUKS -> LVM
- para estender volumes, basta adicionar maisRAID -> LUKS
dispositivos a um grupo de volumes.RAID --> LVM --> LUKS --> FS
- criptografar apenas volumes lógicos específicos tem o recurso de não criptografar tudo por padrão (pode ser visto como vantagem ou desvantagem), mas facilitará a extensão do FS raiz.Estender LUKS sobre volumes lógicos é uma fonte comum de problemas quando os usuários os estendem / redimensionam na ordem errada. Ter o LUKS em todo o dispositivo md RAID simplificará o redimensionamento - adicione um novo dispositivo md, crie LUKS além disso, adicione o dispositivo ao / etc / crypttab (pelo menos nos clones do Fedora e RHEL) e estenda seu grupo de volumes. Se o FS raiz estiver no grupo de volumes, você precisará adicionar outra
rd.luks.uuid
entrada ao cmdline do kernel (edite / etc / default / grub e gere novamente o grub.cfg.)LUKS -> RAID
geralmente está errado - os dados serão criptografados várias vezes, consumindo mais ciclos de CPU sem ganho. Também é possível substituir por engano um disco com falha por um novo sem configurar o LUKS quando um disco falhar.Estendendo e encolhendo:
Ao estender, vá sempre do fundo da pilha, ao encolher por cima.
Exemplo:
Estendendo
RAID -> LVM -> LUKS -> FS
(as duas primeiras etapas são opcionais se houver espaço livre suficiente no grupo de volumes):Encolhendo
RAID -> LVM -> LUKS -> FS
:fonte