web-dev-qa-db-fra.com

MD + LUKS + LVM ne s'arrêtera pas correctement

Ma configuration est actuellement raid1 + luks sur chaque partition md et lvm au-dessus pour s’aligner entre les tableaux. Il n'y a actuellement qu'un groupe de volumes avec un volume logique.

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

Je suis en mesure de démarrer l'appareil 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

Malheureusement, je ne peux pas aller dans la direction opposée et éteindre la chose.

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

Pour une raison quelconque, je vois ce qui suit plusieurs fois et le périphérique ne s’éteint pas.

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

Ceci est après un redémarrage et tout ce que j'ai fait sont les commandes que j'ai montrées sans jamais utiliser les données de la partition. J'aimerais des suggestions si quelqu'un a quelque chose à dire sur la configuration ou sur la façon de l'arrêter.

6
Michael Merickel

J'ai eu un problème similaire lors de l'installation d'Ubuntu 13.04. Pour une raison quelconque (éventuellement un bogue), vgchange -a n ne supprime pas les mappages de périphériques. Par conséquent, le volume physique LVM (c’est-à-dire le conteneur LUKS) est toujours considéré comme étant en cours d’utilisation et ne peut pas être luksclose.

Vérifiez si vous avez le même problème en utilisant dmsetup ls. S'il répertorie l'un de vos volumes logiques data_raid et qu'il persiste même après vgchange -a n, vous pouvez les supprimer à l'aide de dmsetup remove NAME.

Une fois que tous les mappages de périphériques ont été supprimés, vous devriez être en mesure de lire.

7
frostschutz