Menu Close
Settings Close

Language and Page Formatting Options

10.4. 使用 LUKS2 加密块设备上的现有数据

这个过程使用 LUKS2 格式加密设备中的数据。新的 LUKS 标头保存在设备的标头中。

先决条件

  • 块设备包含一个文件系统。
  • 已备份了数据。

    警告

    在加密过程中可能会丢失数据:由于硬件、内核或人为故障。在开始加密数据之前,请确保您有可靠的备份。

步骤

  1. 卸载您要加密的设备中的所有文件系统。例如:

    # umount /dev/sdb1
  2. 为存储 LUKS 标头腾出空间。选择适合您场景的以下一个选项:

    • 如果是加密逻辑卷,您可以扩展逻辑卷而无需调整文件系统的大小。例如:

      # lvextend -L+32M vg00/lv00
    • 使用分区管理工具(如 parted )扩展分区。
    • 缩小该设备的文件系统。您可以对 ext2、ext3 或 ext4 文件系统使用 resize2fs 工具。请注意,您无法缩小 XFS 文件系统。
  3. 初始化加密。例如:

    # cryptsetup reencrypt \
                 --encrypt \
                 --init-only \
                 --reduce-device-size 32M \
                 /dev/sdb1 sdb1_encrypted

    该命令会要求您输入密码短语并启动加密过程。

  4. 挂载该设备:

    # mount /dev/mapper/sdb1_encrypted /mnt/sdb1_encrypted
  5. 启动在线加密:

    # cryptsetup reencrypt --resume-only /dev/sdb1

其他资源

  • cryptsetup(8)lvextend(8)resize2fs(8)parted(8) 手册页