所以我想在我的嵌入式设备上对加密和正常数据存储进行一些性能测试。
这根本就不是我期望看到的!
你能解释一下刚才发生了什么吗?为什么dd
命令输出是 1843200+0 条记录进出,但df -h
显示文件系统磁盘空间使用情况为13TB?
这是我的工作流程:
dd if=/dev/urandom of=enc_per_test.img bs=512 count=2097152
dd if=/dev/urandom of=normal_per_test.img bs=512 count=2097152
并收到 2 张每张 1GB 的图像 - 正如我所预测的那样。
losetup /dev/loop1 enc_per_test.img
losetup /dev/loop2 normal_per_test.img
之后我执行:
dmsetup -v create enc_per_test --table "0 $(blockdev --getsz /dev/loop1) crypt <crypt_setup> 0 /dev/loop1 0 1 sector_size:512"
mkfs.ext4 /dev/mapper/enc_per_test
mkdir /mnt/enc_per_test
mount -t ext4 /dev/mapper/enc_per_test /mnt/enc_per_test/
正如我所料,df-h
显示了已安装的 enc_per_test:
Filesystem ############## Size ### Used ## Avail ## Use% ### Mounted on #####
/dev/mapper/enc_per_test ## 976M ## 2.6M ## 907M ## 1% #### /mnt/enc_per_test
我清除缓存:
echo 3 > /proc/sys/vm/drop_caches
最后执行 dd 命令来填充 enc_per_test:
time dd if=/tmp/random of=/dev/mapper/enc_per_test conv=fsync
1843200+0 records in
1843200+0 records out
943718400 bytes (944 MB, 900 MiB) copied, 152.098 s, 6.2 MB/s
所以我想,好吧,没问题。这就是我想要的。让我们看看它在 df -h 中是什么样子:
Filesystem ############## Size ### Used ## Avail ## Use% ### Mounted on #####
/dev/mapper/enc_per_test ## 13T ## 13T ## 0 ## 100% #### /mnt/enc_per_test
这里发生了什么事?
谢谢你!