并行化 openssl 作为 dd 的输入

并行化 openssl 作为 dd 的输入

我在用@tremby 好主意用随机数据填充磁盘。

这涉及通过管道openssl将大量零加密到dd (bs=4M)

我正在最大化运行该程序的单个核心(我还有 7 个),但我远未达到最大 I/O 的水平。

我正在寻找一种将输入并行化的方法dd

我想我能做到像这样,但我真正寻找的是一种并行化openssl和写入的方法dd,以便对磁盘的写入是连续的。

有人有建议吗?

答案1

重要的是有一种方法可以合并多个命令的输出openssl。我相信 FIFO 可以解决您的问题。尝试这个

mkfifo foo
openssl <whatever your command is> > foo &
openssl <whatever your command is> > foo &
openssl <whatever your command is> > foo &
dd if=foo of=/dev/sda bs=4M

编辑:根据需要添加尽可能多的行openssl以最大化您的系统;您甚至可以在调用后添加它们dd

正如OP在下面的评论中提到的,可以cat foo | pv | dd of=/dev/sda监控进度。

相关内容