我有一个 LUKs-on-LVM 设置。我正在尝试lvresize
,这样我就可以删除 pv。但是,我不断收到错误:
使用 my_vg/luks_lv 无法找到活动的 LUKS dm-crypt 设备。
更多信息:
我的设置:
我的_vg:6TB
- luks_lv:6TB(6TB ext4)
- 小_pv1:3TB
- 小_pv2:3TB
我添加了一个新的大驱动器。
我的_vg:12TB
- luks_lv:12 TB(12 TB ext4)
- 小_pv1:3 TB
- 小_pv2:3 TB
- big_pv3:6 TB
我想将所有范围从small_pv1 移动到其他pv。然后从vg中删除small_pv1。因此,首先我用 .ext4 缩小了 ext4 文件系统resize2fs
。
我的_vg:12TB
- luks_lv:12 TB(8 TB ext4)
- 小_pv1:3 TB
- 小_pv2:3 TB
- big_pv3:6 TB
我打算在删除pv后,扩展lv和文件系统以占用整个vg。
我认为我需要使用 调整 luks_lv LUKS 分区的大小cryptsetup resize
。这似乎并没有起到任何作用。然后我看到这个帖子,这表示这是不必要的,因为我会cryptsetup luksClose
在执行之前使用lvresize
.
所以我尝试了lvresize --size 8500G /dev/my_vg/luks_lv
。但是,我收到了这个错误:
使用 my_vg/luks_lv 无法找到活动的 LUKS dm-crypt 设备。
cryptsetup status /dev/my_vg/luks_lv
返回:
/dev/my_vg/luks_lv 处于活动状态。
我仍然可以解密并挂载 luks_lv。文件系统已按预期调整大小,但 lv 仍然跨越整个 vg。
再次强调,我的最终目标是:
我的_vg:9TB
- luks_lv:9 TB(9TB ext4*)
- 小_pv2:3 TB
- big_pv3:6 TB
*我知道我无法获得确切的 9TB,因为 LUKS 需要一些空间。
这是怎么回事?我该如何解决这个问题?谢谢。
编辑:添加@telcoM 请求的信息
lsblk
返回:
姓名 | 少:最小 | R M | 尺寸 | 反渗透 | 类型 | 挂载点 |
---|---|---|---|---|---|---|
SDDC | 8:32 | 0 | 2.7T | 0 | 磁盘 | |
- my_vg-luks_lv | 254:1 | 0 | 10.9吨 | 0 | 左室厚度 | |
SDD | 8:48 | 0 | 5.5T | 0 | 磁盘 | |
- my_vg-luks_lv | 254:1 | 0 | 10.9吨 | 0 | 左室厚度 | |
斯德 | 8:64 | 0 | 2.7T | 0 | 磁盘 | |
- my_vg-luks_lv | 254:1 | 0 | 10.9吨 | 0 | 左室厚度 |
*为了简单起见,我在最初的问题中使用了整数。
编辑2:
我正在运行 Arch Linux:cryptsetup 2.6.1-3、linux 6.5.4.arch-1、lvm2 2.03.22-2。
答案1
所以我尝试了
lvresize --size 8500G /dev/my_vg/luks_lv
。但是,我收到了这个错误:
Cannot find active LUKS dm-crypt device using my_vg/luks_lv.
这似乎难以置信——LVM 工具甚至不应该寻找 dm-crypt 设备。是实际的命令吗cryptsetup resize --size 8500G /dev/my_vg/luks_lv
?
cryptsetup resize
需要加密映射的名称(即您用来挂载加密文件系统的名称),而不是底层设备的名称(在本例中为 LV)。
cryptsetup status
这与可以接受其中任何一个不同。
换句话说,如果你正在做类似的事情:
cryptsetup open /dev/my_vg/luks_lv my_crypt --type luks
mount /dev/mapper/my_crypt /where/ever
然后cryptsetup resize
会想要类似的东西:
cryptsetup resize --device-size 8300G my_crypt
lvresize --size 8500G /dev/my_vg/luks_lv
如果仍然有问题,请显示 的输出以及或lvdisplay -m my_vg/luks_lv
的相关行。dmsetup ls --tree -o blkdevname
lsblk