小编fre*_*ret的帖子

cryptsetup 和 ext4 带来多少存储开销?

我想使用 cryptsetup 对具有 ext4 文件系统的容器中的目录内容进行加密。容器的大小应该尽可能小,必要时尽可能大,因为我只想写一次然后备份。

首先尝试:将容器的大小设置为内容的大小。

dirsize=$(du -s -B512 "$dir" | cut -f 1)
dd if=/dev/zero of=$container count=$dirsize
losetup /dev/loop0 $container
fdisk /dev/loop0 # 1 Partition with max possible size
cryptsetup luksFormat --key-file $keyFile /dev/loop0
cryptsetup luksOpen --key-file $keyFile /dev/loop0 container
mkfs.ext4 -j /dev/mapper/container
mkdir /mnt/container
mount /dev/mapper/container /mnt/container
rsync -r "$dir" /mnt/container
Run Code Online (Sandbox Code Playgroud)

Rsync 返回没有足够的空间来容纳数据。看起来很合理,因为加密和文件系统必须有一些开销。

我尝试使用相对偏移量:

dirsize=$(($dirsize + ($dirsize + 8)/9))
Run Code Online (Sandbox Code Playgroud)

这可以解决大于 100 MB 的目录的问题,但不能解决小于 50 MB 的目录的问题。

如何确定容器必须比目录大的相应字节数?

encryption ext4 dm-crypt cryptsetup

5
推荐指数
1
解决办法
5345
查看次数

标签 统计

cryptsetup ×1

dm-crypt ×1

encryption ×1

ext4 ×1