17.5. 使用带有分离标头的 LUKS2 在块设备上加密现有数据
您可以加密块设备上的现有数据,而无需为存储 LUKS 标头创建可用空间。标头存储在分离的位置,它也充当额外的安全层。该流程使用 LUKS2 加密格式。
先决条件
- 块设备有一个文件系统。
您的数据已备份。
警告由于硬件、内核或人为故障,您可能会在加密过程中丢失数据。在开始加密数据之前,请确保您有可靠的备份。
流程
卸载设备上的所有文件系统,例如:
umount /dev/<nvme0n1p1>
# umount /dev/<nvme0n1p1>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将
<nvme0n1p
1> 替换为与您要卸载的分区对应的设备标识符。初始化加密:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 替换:
-
</home/header
>,带有分离 LUKS 标头的文件的路径。分离的 LUKS 标头必须可以访问,以便稍后解锁加密设备。 -
<nvme_encrypted
> 替换为加密后创建的设备映射器的名称。
-
挂载该设备:
mount /dev/mapper/<nvme_encrypted> /mnt/<nvme_encrypted>
# mount /dev/mapper/<nvme_encrypted> /mnt/<nvme_encrypted>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 向
/etc/crypttab
文件添加持久映射的一个条目:<nvme_encrypted> /dev/disk/by-id/<nvme-partition-id> none header=</home/header>
# <nvme_encrypted> /dev/disk/by-id/<nvme-partition-id> none header=</home/header>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将
<nvme-partition-id
> 替换为 NVMe 分区的标识符。使用
dracut
重新生成 initramfs:dracut -f --regenerate-all -v
# dracut -f --regenerate-all -v
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 向
/etc/fstab
文件中添加一个永久挂载条目:查找活跃 LUKS 块设备的文件系统 UUID:
blkid -p /dev/mapper/<nvme_encrypted>
$ blkid -p /dev/mapper/<nvme_encrypted> /dev/mapper/<nvme_encrypted>: UUID="37bc2492-d8fa-4969-9d9b-bb64d3685aa9" BLOCK_SIZE="4096" TYPE="xfs" USAGE="filesystem"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在文本编辑器中打开
/etc/fstab
,并在此文件中添加一个设备,例如:vi /etc/fstab
$ vi /etc/fstab UUID=<file_system_UUID> /home auto rw,user,auto 0
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将
<file_system_UUID
> 替换为您的文件系统的 UUID。
恢复在线加密:
cryptsetup reencrypt --resume-only --header </home/header> /dev/<nvme0n1p1>
# cryptsetup reencrypt --resume-only --header </home/header> /dev/<nvme0n1p1> Enter passphrase for /dev/<nvme0n1p1>: Auto-detected active dm device '<nvme_encrypted>' for data device /dev/<nvme0n1p1>. Finished, time 00m51s, 10 GiB written, speed 198.2 MiB/s
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
验证
验证使用带有分离标头的 LUKS2 块设备上的现有数据是否已加密:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 查看加密的空白块设备的状态:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow