首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在不备份/恢复现有数据的情况下加密外部磁盘?

如何在不备份/恢复现有数据的情况下加密外部磁盘?
EN

Unix & Linux用户
提问于 2020-01-05 10:06:06
回答 1查看 1.6K关注 0票数 1

我有一个带有未加密ext4的外部USB磁盘:

代码语言:javascript
复制
/dev/sda1       3.6T  2.9T  613G  83% /data

我希望在不丢失数据的情况下加密这个磁盘。我将这个磁盘从Raspberry3迁移到Raspberry4,因为我现在希望加密更好的性能。

我读过关于文件系统堆叠级加密和块设备级加密的文章,但是它似乎是最安全的和Debian标准。

我读了这本指南:

警告!下面的命令将删除正在加密的分区上的所有数据。你会失去你所有的信息!因此,在输入以下任何命令之前,请确保将数据备份到外部源(如NAS或硬盘)。

代码语言:javascript
复制
# cryptsetup -y -v luksFormat /dev/xvdc

我不能将4TB数据复制到另一个磁盘,因为我没有这么大容量的磁盘。

如何在不备份/还原现有数据的情况下加密此磁盘?有可能吗?

EN

回答 1

Unix & Linux用户

回答已采纳

发布于 2020-01-05 11:02:29

这是可能的,但随着所有的就地转换,有一定的风险,数据丢失.

要为LUKS报头腾出空间,除非您打算使用外部报头,否则必须首先缩小文件系统(如果是resize2fs,则使用ext4)。对于LUKS1,您应该将其缩小2MiB。对于LUKS2,你可以将它缩小4米、16米或多达6400万。如果您打算使用高级功能(dm-完整性),您可能需要进一步缩小它。

或者,如果磁盘分区布局允许的话,您也可以使分区更大。

使用脱机cryptsetup-reencrypt实用程序加密现有数据:(并非由所有发行版安装,可能位于单独的包中,否则从源抓取)

代码语言:javascript
复制
# cryptsetup-reencrypt --new --type luks1 --reduce-device-size 2M /dev/sdXn
Enter new passphrase: 
Verify passphrase: 
[A wild progress bar appears.]

使用联机cryptsetup reencrypt进行LUKS2:

代码语言:javascript
复制
# cryptsetup reencrypt --new --reduce-device-size 16M /dev/sdXn

WARNING!
========
This will overwrite data on LUKS2-temp-2c9761be-a765-4349-aa0a-553203e534f1.new irrevocably.

Are you sure? (Type uppercase yes): 

Enter passphrase for LUKS2-temp-2c9761be-a765-4349-aa0a-553203e534f1.new: 
Verify passphrase: 
[A wild progress bar appears.]

因此,这是可行的,只要在整个过程中没有电力或电缆闪点发生。

正如cryptsetup-reencrypt手册页面所指出的:

在使用此工具之前,

始终要确保您有可靠的备份。

票数 3
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/560439

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档