我目前有一个未加密的外部硬盘驱动器,可以用作我的加密(带LUKS)主机的备份。要更新备份,我只需登录到主机并rsync到我的外部硬盘驱动器。显然,首先对值得加密的材料进行未加密的备份是一个坏主意。但是,由于时间限制,如果没有rsync之类的帮助,我将无法定期更新备份。因此,我在外部驱动器上使用的任何加密方法都必须与rsync兼容。但是,我遇到了以下问题:
总体而言,对于加密外部驱动器并使用rsync使驱动器保持最新状态而言,看起来#2可能是我最好的选择,但是我真的不知道从哪里开始,而且我不太愿意尝试这种方法。我可能必须先擦除驱动器,然后再对其进行加密。我缺少任何有用的东西吗?
如今,cryptsetup
它本身支持使用reencrypt子命令将非加密分区无损地转换为加密的LUKS设备。
假设您可以通过访问外部驱动器/dev/sdX
并且当前文件系统位于其中,则/dev/sdXY
需要首先收缩文件系统,以便为LUKS标头腾出空间,并为加密操作腾出一些临时空间(32 MiB可用)。确切的命令取决于您的文件系统,例如ext4:
e2fsck -f /dev/sdXY
resize2fs /dev/sdXY NEWSIZE
(请注意,XFS不支持缩小,因此您首先需要这样做fstransform
...)
触发加密:
cryptsetup reencrypt --encrypt /dev/sdXY --reduce-device-size 32M
再次扩大文件系统:
cryptsetup open /dev/sdXY backup
resize2fs /dev/mapper/backup
cryptsetup close backup
(不带大小参数resize2fs会使用所有可用空间)
由于您不更改现有文件系统的内容,因此可以继续使用rsync。而不是像
mount /dev/sdXY /mnt/backup
rsync -a /home /mnt/backup
umount /mnt/backup
您现在必须执行以下操作:
cryptsetup open /dev/sdXY backup
mount /dev/mapper/backup /mnt/backup
rsync -a /home /mnt/backup
umount /mnt/backup
既然您提到了时间限制:cryptsetup reencrypt
并不一定要cryptsetup luksFormat
紧跟新的rsync之后。
上述方法的替代方法是切换到Restic来满足您的备份需求。Restic对所有备份进行加密,支持增量备份,并且速度非常快。
如果外部驱动器足够大,则可以通过在新的子目录中初始化Restic存储库来从Restic开始。第一次Restic备份完成后,您可以删除旧的未加密备份文件。最后,您必须擦除可用空间以销毁旧的未加密备份文件的任何痕迹。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句