重新审视如何调整 LUKS 设备的大小

重新审视如何调整 LUKS 设备的大小

我读过了:

和别的。

我正在尝试将大小从 250 GB 调整为 500 GB。以前,分区 /dev/sda2 的大小为 250 GB,现在我已将分区大小调整为 500 GB。

但是,位于 /dev/sda2 的 LUKS 设备又如何呢?我该如何调整它的大小?

好吧,手册(用于 cryptsetup)为我们提供了“调整大小”。但是,当我检查 cryptsetup 状态时,我的设备已经是 500 GB。

此外,当我签入parted时,它(加密设备/dev/dm-0或/dev/mapper/cryptdevice,这是一个符号链接)也显示为500 GB。

看来我的加密设备已经是正确的大小了!

那么,为什么当我实际挂载加密设备(/dev/mapper/cryptdevice)时,它显示为 250 GB?

我是不是漏掉了一步?我还需要做什么?

显然,我在执行此操作之间已经重新启动了很多次。我从可启动 USB 设备启动,执行了 cryptsetup,重新启动等。它仍然显示为 250 GB,而我预计它是 500 GB。

请注意,我实际上从未调整过分区本身之外的任何内容的大小。调整分区大小后,cryptsetup 和 parted 开始报告加密卷的大小也被调整——但同样,当我挂载它时,它仍然只有 250 GB。

除此之外我没有 LVM,我只有:

/dev/sda2,其中包含LUKS加密文件系统。我用 cryptsetup luksOpen /dev/sda2 cryptdevice 等打开它。

答案1

您仍然需要调整大小文件系统使用调整大小的块设备。精确的方法和可能的限制取决于每个文件系统。

以下是两个将文件系统大小调整为 EXT4 和 XFS 可用大小的示例。其他文件系统将需要其他特定命令。

  • EXT4 文件系统可以在线或离线放大(也可以缩小,但只能离线)。

    resize2fs /dev/mapper/cryptdevice
    
  • XFS 文件系统只能在线放大(完成后无法缩小)。

    文件系统必须安装才能增长。该命令需要安装点而不是块设备。

    mount -t xfs /dev/mapper/cryptdevice /mnt
    
    xfs_growfs /mnt
    

实际上,您从链接中错过了此步骤两次:

  • 调整 LUKS 卷大小

    在问题中:

    # Step 5: Resize encrypted volume (Trying to give it some space)
    > resize2fs -p /dev/CryptVolumeGroup/root 101G
    

    但在答案中:

    扩大rootfs逻辑卷。从 ext4 开始无需卸载并在安装时放大:lvresize -r -L +100G archvg/home

    lvresize -r自动调整底层文件系统的大小,因此答案中没有特定命令。此答案中没有针对不使用 LVM 的特定情况调整文件系统的大小。

  • 增加 LUKS 加密分区的大小

    最后一步,文件系统需要扩展到新的大小。使用 resize2fs(8) 命令,文件系统将扩展到 LUKS 卷的新大小。

    $ sudo resize2fs /dev/mapper/sdb1_crypt
    resize2fs 1.42.13 (17-May-2015)
    Filesystem at /dev/mapper/sdb1_crypt is mounted on /media/gerhard/Daten; on-line resizing required
    old_desc_blocks = 2, new_desc_blocks = 4
    The filesystem on /dev/mapper/sdb1_crypt is now 14647925 (4k) blocks long.
    
  • 调整 LUKS 上的 LVM 大小

    调整加密卷的大小

    现在我们将调整加密卷本身的大小。考虑逻辑卷的总大小减去一些安全空间:

    # resize2fs -p /dev/CryptVolumeGroup/Home 208G
    

相关内容