相关疑难解决方法(0)

有没有办法确定 dd 的 bs 参数的最佳值?

有时我会在网上看到“确保你设置 'bs=' 因为默认值会花费太长时间”的评论,以及我自己非常不科学的经验,“这似乎比其他人花费的时间更长上周时间”似乎证明了这一点。因此,每当我使用“dd”(通常在 1-2GB 范围内)时,我都会确保指定 bytes 参数。大约有一半的时间我使用我从中复制的任何在线指南中指定的值;剩下的时间我会从'fdisk -l'列表中选择一些有意义的数字,我认为是较慢的媒体(例如我正在写入的SD卡)。

对于给定的情况(媒体类型、总线大小或其他重要事项),有没有办法确定“最佳”值?容易确定吗?如果没有,是否有一种简单的方法可以达到 90-95%?或者“只选择大于 512 的东西”甚至是正确答案?

我想过自己尝试这个实验,但是(除了工作量很大)我不确定哪些因素会影响答案,所以我不知道如何设计一个好的实验。

performance dd file-copy

81
推荐指数
3
解决办法
6万
查看次数

如何缩小 LUKS 分区,`cryptsetup resize` 有什么作用?

我正在调整包含单个 ext4 文件系统(没有 LVM 或其他东西)的 LUKS 加密分区的大小。该cryptsetup FAQ建议删除旧的分区并重新创建它,但是,像浪费了很多时间的声音。因此,我想手动进行,仔细调整分区大小。

到目前为止,我认为我需要这样做:

  1. 创建文件系统的(加密)备份。重要的!在执行以下任务时,您不会是第一个丢失数据的人。
  2. 卸载现有的 ext4 文件系统(例如通过引导到 Live CD)。如果从 Live CD 启动,请使用以下命令挂载加密分区cryptsetup luksOpen /dev/sdXY ExistingExt4
  3. 调整现有 ext4 文件系统的大小
  4. cryptsetup resize /dev/mapper/ExistingExt4 -b $SECTORS
  5. 使用关闭/“卸载”LUKS 分区 cryptsetup luksClose ExistingExt4
  6. 缩小分区大小。

以上步骤是否正确?

在第 4 步中,我应该选择$SECTORS什么?这一步有必要吗?cryptsetup手册是不是真正描述性的resize选项:

resize <name>
    resizes an active mapping <name>.
    If --size (in sectors) is not specified, the size of the underlying
    block device is used.
Run Code Online (Sandbox Code Playgroud)

最后,如果我将 ext4 分区缩小 15 GiB,我是否可以安全地假设可以使用parted …

partition encryption ext4 luks cryptsetup

19
推荐指数
2
解决办法
3万
查看次数

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 ×2

encryption ×2

ext4 ×2

dd ×1

dm-crypt ×1

file-copy ×1

luks ×1

partition ×1

performance ×1