Encryption

伺服器上 PGP 全盤加密的執行緒化

  • November 22, 2010

我希望使用 2010 年老式四核 Xeon 伺服器定期加密 500GB eSATA 驅動器。我有三個問題:

  1. 我假設目前版本的 WDE 完全是多執行緒的,並且吞吐量與核心數量大致呈線性關係?

  2. 我是否能夠限制 WDE 程序使用的核心數量,以免影響伺服器上的其他工作?

3)我預計每次加密大約需要多長時間?

關於 WDE 的執行緒似乎存在相互矛盾的資訊,即使在我也問過這個問題的 PGP KB 站點上(儘管它幾乎在那裡已經死了),因為許多較舊的答案表明它沒有提供。

假設您的 eSATA 驅動器可以提供接近標準 SATA 速度並且您使用的是 7200 RPM 驅動器,我們希望在理想條件下在整個驅動器上維持大約 80-100MB/秒。

我沒有關於 PGP 的任何細節,但 2008 年 CPU(3Ghz Core Duo)的 AES 加密速度基准在每核 100-150MByte / sec 範圍內很容易找到[例如,這個斜線註釋表示 600-700Mhz一個 2.13 Ghz Pentium M 可以處理 30Meg/sec ],而且我已經看到舊 CPU 的速度相似,所以我將其作為基準。鑑於您執行的 CPU 比那些 CPU 好得多,我毫不懷疑伺服器上的單個核心將輕鬆處理單個 eSATA 驅動器的最大吞吐量。

PGP WDE 是基於塊的,它應該有助於吞吐量達到這些轉換率,但這是否真的完全取決於他們如何實現它,我不知道他們是否做得很好。在任何情況下,您可以獲得的最佳結果是以平均 100Meg/sec 的速度完全讀取驅動器(逐塊順序讀取),然後是驅動器的完全寫入(逐塊順序寫入)。對於 500GB 驅動器,這將是 1,000 秒或大約 17 分鐘。這不會使伺服器上的單個核心飽和,甚至允許驅動器 IO 的 CPU 成本。

可能性的平衡是 PGP WDE 的轉換算法沒有像我上面假設的那樣有效地處理 IO,因此加密驅動器所花費的時間將大大延長 - 您需要對其進行測試以確定但我不會感到驚訝如果它慢了一個數量級,加密任務的 CPU 成本也會相應降低。

最後要注意的是,如果您使用的是 Westmere 級 CPU (Xeon 56xx),那麼 PGP WDE支持新的 AES-NI 指令,該指令應該提供超過 50% 的實際性能提升 - 請參閱這篇Toms 硬體文章,其中展示了 Bitlocker 的好處但 PGP WDE 的好處至少應該一樣好。

編輯補充:

我覺得我在上面並不是很清楚 - 就轉換單個驅動器而言,多執行緒不會幫助你。如果您計劃並行執行多個驅動器,這可能會有所幫助,但除非您擁有可以同時處理多個驅動器的硬體,否則驅動器的 IO 限制將是比 CPU 使用率大得多的瓶頸。網路上的軼事證據 [例如此處此處] 關於轉換速度的範圍為每小時 25 到 50GB - 我希望像樣的 eSATA 驅動器比這些範例更快,但它似乎不太可能比100GB 一小時。

最後,在這篇PGP 部落格文章的評論中對磁碟加密的 CPU 成本進行了很好的討論,強調了 CPU 不是主要瓶頸,讀\寫延遲是主要問題。

引用自:https://serverfault.com/questions/200698