Mic*_*kel 6 encryption lvm mdadm luks
我的设置目前是每个 md 分区上的 raid1 + luks 和顶部的 lvm 以在阵列之间进行条带化。目前只有一个卷组和一个逻辑卷。
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
Run Code Online (Sandbox Code Playgroud)
我可以通过以下方式启动设备
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
Run Code Online (Sandbox Code Playgroud)
不幸的是,我无法反其道而行之并关闭它。
umount /mnt/data # ok
vgchange -an /dev/data_raid # ok
cryptsetup luksClose data-crypt0 # fail
Run Code Online (Sandbox Code Playgroud)
出于某种原因,我多次看到以下内容,但设备没有关闭。
device-mapper: remove ioctl on data-crypt0 failed: Device or resource busy
Run Code Online (Sandbox Code Playgroud)
这是在重新启动之后,我所做的只是我在没有使用分区上的任何数据的情况下显示的命令。如果有人对设置或如何关闭它有任何疑问,我想提供一些建议。
我在安装 Ubuntu 13.04 时遇到了类似的问题。由于某种原因(可能是错误),vgchange -a n不会删除设备映射。因此,LVM物理卷(即LUKS容器)仍被认为在使用中,不能被luksClose'd。
检查您是否有相同的问题使用dmsetup ls. 如果它列出了您的任何 data_raid 逻辑卷,并且即使在 之后它们仍然存在vgchange -a n,您可以使用 删除它们dmsetup remove NAME。
删除所有设备映射后,您应该可以关闭 luksClose。