Red Hat Training
A Red Hat training course is available for RHEL 8
22.4. 使用 LUKS2 加密块设备上的现有数据
这个过程使用 LUKS2 格式加密设备中的数据。新的 LUKS 标头保存在设备的标头中。
先决条件
- 块设备包含一个文件系统。
已备份了数据。
警告在加密过程中可能会丢失数据:由于硬件、内核或人为故障。在开始加密数据之前,请确保您有可靠的备份。
步骤
卸载您要加密的设备中的所有文件系统。例如:
# umount /dev/sdb1
为存储 LUKS 标头腾出空间。选择适合您场景的以下一个选项:
如果是加密逻辑卷,您可以扩展逻辑卷而无需调整文件系统的大小。例如:
# lvextend -L+32M vg00/lv00
-
使用分区管理工具(如
parted
)扩展分区。 -
缩小该设备的文件系统。您可以对 ext2、ext3 或 ext4 文件系统使用
resize2fs
工具。请注意,您无法缩小 XFS 文件系统。
初始化加密。例如:
# cryptsetup reencrypt \ --encrypt \ --init-only \ --reduce-device-size 32M \ /dev/sdb1 sdb1_encrypted
该命令会要求您输入密码短语并启动加密过程。
挂载该设备:
# mount /dev/mapper/sdb1_encrypted /mnt/sdb1_encrypted
在
/etc/crypttab
中为永久映射添加一个条目查找
luksUUID
:# cryptsetup luksUUID /dev/mapper/sdb1_encrypted
这将显示所选设备的
luksUUID
。在您选择的文本编辑器中打开
/etc/crypttab
文件,并在此文件中添加一个设备:$ vi /etc/crypttab
/dev/mapper/sdb1_encrypted luks_uuid none
使用 dracut 刷新 initramfs:
$ dracut -f --regenerate-all
在
/etc/fstab
文件中为永久挂载添加一个条目:查找活跃 LUKS 块设备的
FS UUID
$ blkid -p /dev/mapper/sdb1_encrypted
在您选择的文本编辑器中打开
/etc/fstab
文件,并在此文件中添加一个设备,例如:$ vi /etc/fstab fs__uuid /home auto rw,user,auto 0 0
启动在线加密:
# cryptsetup reencrypt --resume-only /dev/sdb1
其他资源
-
cryptsetup(8)
、lvextend(8)
、resize2fs(8)
和parted(8)
手册页