MD + LUKS + LVM não será desligado corretamente

MD + LUKS + LVM não será desligado corretamente

Minha configuração atualmente é raid1 + luks em cada partição md e lvm na parte superior para distribuir entre os arrays. Atualmente, há apenas um grupo de volumes com um volume lógico.

sdc                             8:32   0   1.8T  0 disk
└─sdc1                          8:33   0   1.8T  0 part
  └─md127                       9:127  0   1.8T  0 raid1
    └─data-crypt0 (dm-3)      252:3    0   1.8T  0 crypt
      └─data_raid-data (dm-5) 252:5    0   2.7T  0 lvm   /mnt/data
sdd                             8:48   0 931.5G  0 disk
└─sdd1                          8:49   0 931.5G  0 part
  └─md126                       9:126  0 931.4G  0 raid1
    └─data-crypt1 (dm-4)      252:4    0 931.4G  0 crypt
      └─data_raid-data (dm-5) 252:5    0   2.7T  0 lvm   /mnt/data

Consigo inicializar o dispositivo via

cryptsetup luksOpen /dev/md/data:0 data-crypt0     # decrypt
cryptsetup luksOpen /dev/md/data:1 data-crypt1     # decrypt
vgchange -ay /dev/data_raid                        # turn on lvm
mount /dev/data_raid/data /mnt/data                # mount

Infelizmente não consigo ir na direção oposta e desligar a coisa.

umount /mnt/data            # ok
vgchange -an /dev/data_raid # ok
cryptsetup luksClose data-crypt0 # fail

Por algum motivo, vejo o seguinte várias vezes e o dispositivo não desliga.

device-mapper: remove ioctl on data-crypt0 failed: Device or resource busy

Isso ocorreu após uma reinicialização e tudo o que fiz foram os comandos que mostrei, sem nunca usar nenhum dos dados da partição. Gostaria de algumas sugestões se alguém tiver algo sobre a configuração ou como desligá-lo.

Responder1

Eu tive um problema semelhante ao instalar o Ubuntu 13.04. Por algum motivo (possivelmente um bug), vgchange -a nnão remove os mapeamentos de dispositivos. Como resultado, o volume físico do LVM (ou seja, o contêiner LUKS) ainda é considerado em uso e não pode ser luksClose'd.

Verifique se você tem o mesmo problema usando dmsetup ls. Se ele listar algum dos seus volumes lógicos data_raid e eles persistirem mesmo depois de vgchange -a n, você poderá removê-los usando dmsetup remove NAME.

Depois que todos os mapeamentos de dispositivos forem removidos, você poderá luksClose.

informação relacionada