Como eu substituo um disco por LUKS no LVM2 - sem invasão, sem intervalo

1

Eu tenho LUKS no LVM (partições LVM criadas primeiro, depois cada partição é criptografada separadamente, seguindo este guia no Arch Wiki).

Estou usando dois grupos de volumes e cada um deles está isolado em uma unidade. Isso é porque eu tenho um SSD e um prato, e eu sabia que eu iria querer substituir o prato na estrada.

Estou agora na estrada e quero substituir o prato.

Layout atual

Aqui está o que eu tenho:

========================

/dev/sda - small SSD

------------------------

/dev/sda1   /boot   unencrypted, GRUB
/dev/sda2   PV, vgssd

------------------------

houses:
LV       VG     Decrypted to => Mounted to
root     vgssd  /dev/mapper/vgssdd-root_crypt => /
swap     vgssd  swap
usrlocal vgssd  /dev/mapper/vgssdd-usrlocal_crypt => /usr/local

========================

/dev/sdb - large platter HDD

------------------------

/dev/sdb1   PV, vghdd

------------------------

houses:
LV       VG     Decrypted to => Mounted to
home     vghdd  /dev/mapper/vghdd-home_crypt => /home
tmp      vghdd  /dev/mapper/vghdd-tmp_crypt => /tmp
varlog   vghdd  /dev/mapper/vghdd-varlog_crypt => /var/log

========================

O que eu tentei

Dado que as criptas são criadas dentro de (e isoladas) as partições, eu pensei que deveria ser capaz de simplesmente fazer:

  • Adicione a nova unidade via caso externo (lista como / dev / sdd)
  • Marque-o como um volume físico para o LVM

    pvcreate /dev/sdd
    
  • Adicione ao grupo de volumes vghdd

    vgextend vghdd /dev/sdd
    
  • Mova as extensões da unidade antiga para a nova unidade

    vgmove /dev/sdb1 /dev/sdd
    
  • Remova a unidade antiga do grupo de volume

    vgreduce vghdd /dev/sdb1
    

Tudo correu bem. Eu então supus, provavelmente incorretamente, que nada precisaria ser ajustado em crypttab, GRUB ou initramfs.

Então, eu desliguei, troquei a unidade antiga e a nova e liguei o sistema para encontrar um pequeno cursor branco piscando em mim, em vez de no GRUB.

Nota de recuperação: Eu então coloquei o drive antigo de volta e consegui inicializar, mas as partições que estavam nele obviamente não estavam lá; Eu inverti o acima, movendo os PEs da nova unidade para a antiga, e então consegui inicializar normalmente.

Crypt & notas fstab

De qualquer forma, agora fico pensando no que mais eu precisaria fazer para migrar. Eu encontrei muita ajuda sobre a extensão de discos com o LUKS no LVM, mas não é exatamente isso que eu estou procurando.

  • Meu crypttab tinha UUIDs; Eu não percebi isso com antecedência, mas isso não deve impedir o carregamento do GRUB, pois ele carregou e inicializou OK quando o disco HDD estava presente, mas vazio.
  • Meu fstab aponta para / var / mapper / blahs; eles não precisam ser modificados, a menos que eu tenha perdido alguma coisa.
  • O GRUB e / ou o initramfs se importam com o GUID de PV ou com os guias de LV?

Perguntas

  1. Preciso reconstruir o GRUB?
  2. Preciso executar novamente o initramfs?
  3. Há mais alguma coisa que eu sinto falta?
  4. Qual é a ordem correta das etapas APÓS o vgmove?
por Damon 12.02.2015 / 21:40

1 resposta

0

Aqui está algo que pode ajudar ... Mesmo que o tamanho da partição permaneça o mesmo, talvez você ainda precise "redimensionar" o volume criptografado.

      cryptsetup --verbose resize cryptroot

Isso é baseado em:

http://www.ms.unimelb.edu.au/~trice/linux/tricks/luksresize/

Embora pelo que eu tenha lido, parece que a maioria recomenda criptografar no nível físico com luks e construir seus vg's e lv's em cima disso.

    
por 13.02.2015 / 03:24