服务器上的 PGP 全盘加密线程

服务器上的 PGP 全盘加密线程

我希望使用 2010 年的老式四核 Xeon 服务器定期加密 500GB eSATA 驱动器。我有三个问题:

1)我假设当前版本的 WDE 是完全多线程的,并且吞吐量与核心数量大致成线性关系?

2)我是否能够限制 WDE 进程使用的核心数量,以免影响服务器上的其他工作?

3)每次加密大概需要多长时间?

关于 WDE 的线程似乎存在矛盾的信息,甚至在我也问过这个问题的 PGP KB 网站上也是如此(尽管那里几乎已经不存在了),因为很多旧的答案表明它没有提供。

答案1

假设您的 eSATA 驱动器可以提供接近标准 SATA 速度,并且您使用的是 7200 RPM 驱动器,我们预计在理想条件下整个驱动器的速度将维持在 80-100MB/秒左右。

我没有关于 PGP 的任何细节,但 2008 年时代 CPU(3Ghz Core Duo)的 AES 加密速度基准在每核 100-150MByte / 秒范围内很容易找到[例如这条 slashdot 评论表示 2.13 Ghz Pentium M 的 600-700Mhz 可处理 30Meg/秒 ],而且我看到更老的 CPU 也有类似的速率,所以我以此为基准。鉴于您运行的 CPU 比这些 CPU 好得多,我毫不怀疑您服务器上的单个核心可以轻松处理单个 eSATA 驱动器的最大吞吐量。

PGP WDE 是基于块的,这应该有助于吞吐量达到转换的速率,但这是否真的如此完全取决于他们如何实现它,我不知道他们是否做得很好。无论如何,您可以获得的最佳结果是以平均 100Meg/秒的速度完全读取驱动器(按顺序逐块读取),然后完全写入驱动器(按顺序逐块写入)。对于 500GB 的驱动器,这将是 1,000 秒或大约 17 分钟。即使考虑到驱动器 IO 的 CPU 开销,这也不会使服务器上的单个核心饱和。

可能性的平衡是 PGP WDE 的转换算法不能像我上面假设的那样有效地处理 IO,因此加密驱动器所需的时间将大大更长 - 您需要进行测试以确定,但如果它慢了一个数量级,我不会感到惊讶,并且加密任务的 CPU 开销也会相应降低。

最后要注意的是,如果你使用的是 Westmere 级 CPU (Xeon 56xx),那么 PGP WDE支持新的 AES-NI 指令这应该会带来超过 50% 的实际性能提升 - 请参阅此Toms Hardware 的文章展示了 Bitlocker 的优势但 PGP WDE 效益至少应该一样好。

编辑后添加:
我觉得我上面说的不是很清楚——就转换单个驱动器而言,多线程不会帮到你。如果你计划并行运行多个驱动器,它可能会有点帮助,但除非你的硬件可以同时处理多个驱动器,否则驱动器的 IO 限制将是一个比 CPU 利用率更大的瓶颈。网络上的传闻证据 [这里这里例如] 转换速度范围从每小时 25 到 50GB - 我希望一个不错的 eSATA 驱动器比这些例子更快,但似乎不太可能比每小时 100GB 好得多。

最后,在这篇文章的评论中,对磁盘加密的 CPU 开销进行了很好的讨论PGP 博客文章这再次证明了 CPU 不是主要瓶颈,读写延迟才是主要问题。

答案2

在 Google 上进行一些明显的搜索并没有找到关于这个特定产品的问题的任何确切答案,因此这里有一个估计值:

1) 不知道 PGP 是否是多线程的,但是如果是的话,您应该预期每个额外核心/CPU 的处理能力将增加 50-80%。4 个核心只能为某些非常特殊的工作负载提供 400% 的性能 - 而等待需要写回的磁盘数据并不是其中之一。

2)任务管理器允许您设置正在运行的进程的 CPU 优先级,因此这至少是一个选项。

3) 我强烈怀疑开销会很小。任何最新的 Xeon CPU 都可以比一些随机机械磁盘通过 USB 2.0 写入的速度更快地进行加密。它到底是哪个 CPU?您可以在此处查看哪些 CPU 具有对加密(AES-NI)的硬件支持:

http://en.wikipedia.org/wiki/Xeon

答案3

如果你有能力更换工具,请查看Truecrypt

1)Truecrypt 高度并行化,可线性扩展

2)您可以指定要使用的核心数

3) 至于速度,这取决于您连接驱动器的方式、您可以腾出的内核数量、使用的加密算法等。考虑到您拥有的硬件,磁盘 io 可能是瓶颈,即使使用 SATA 连接也是如此。但请下载并运行基准测试,或加密​​驱动器并亲自查看。(有一个便携模式,因此您甚至不需要安装它)。

相关内容