尽管 cryptdisk 状态返回活动且正在使用,但 cryptsetup resize 返回设备不活动(调整 LVM-on-LUKS 大小)

尽管 cryptdisk 状态返回活动且正在使用,但 cryptsetup resize 返回设备不活动(调整 LVM-on-LUKS 大小)

我正在调整 LVM-on-LUKS 的大小,参考这些 帖子作为指南。我以前曾经顺利地完成过一次,但遇到了一个奇怪的问题。当我跑步时

#cryptsetup -b 377523479 resize /dev/mapper/cryptdisk

Device /dev/mapper/cryptdisk is not active.

然而,

#cryptsetup status cryptdisk

 /dev/mapper/cryptdisk is active and is in use.
  type:    LUKS1
  cipher:  aes-xts-plain64
  keysize: 512 bits
  key location: dm-crypt
  device:  /dev/nvme0n1p3
  sector size:  512
  offset:  4096 sectors
  size:    438766176 sectors
  mode:    read/write

任何建议表示赞赏,我不知道如何继续,也没有在网上找到任何信息。

答案1

下面@frostschutz 提供的一个可能的解决方法包括将字节大小更改为可被偏移量整除的数字(在本例中为 4096),即

# cryptsetup -b 377520128 resize cryptdisk

发现这一点是因为 dmseg 中有一行指出“未与(磁盘)的 h/w 逻辑块大小 4096 对齐”。您还可以记下 cryptsetup 状态中的偏移量。

尽管如此,这已被注册为 cryptsetup 中的错误这里(再次感谢frostschutz),因为尺寸检查应该提前进行。

希望这适用于遇到该问题的其他人。请注意,在我使用未修改的字节大小运行第一个命令后,在更改字节大小后我仍然收到错误消息。直到我关闭并重新打开设备后,Frostscutz 的解决方案才起作用。

IE:

# vgchange -an
# cryptsetup luksClose cryptdisk

然后重新打开它并以修改后的字节大小重新启动进程;

# cryptsetup luksOpen /dev/device cryptdisk
# vgchange -ay
# cryptsetup -b 377520128 resize cryptdisk

答案2

您链接的两篇文章都建议cryptsetup resize采用加密设备的短名称,而不是完整路径名。换句话说,试试这个:

# cryptsetup -b 377523479 resize cryptdisk

相关内容