加密文件系统和Linux缓冲区缓存

时间:2009-05-13 21:41:21

标签: linux filesystems

我目前使用Java服务器前端的Berkeley DB来获得高性能的磁盘备份缓存。如果您在允许它面对实时流量之前进行预热,您的更新速率很低,并且您的工作集适合内存,则Linux缓冲区缓存非常出色。它比memcache快得多,部分原因是你不需要上下文切换到memcached和重新读取。我们对表现非常满意。

我们将把一些数据添加到缓存中,我们不习惯以纯文本形式留在磁盘上。我们已经测量过并且对请求处理期间解密的性能不满意,因此我们正在寻找只有在从磁盘加载数据然后将其保留在内存中时才能解密的解决方案。

在构建这样做之前,我想知道我们是否可以简单地在加密文件系统中滑动并继续依赖操作系统为我们管理缓存。我没有找到任何文档告诉我在哪个层解密完成。

所以我的问题是:任何人都可以告诉我,对于任何特定的Linux加密FS,(en | de)加密是在缓冲区缓存之下(因此缓存包含明文)还是以上(并且缓存包含密文) )?

2 个答案:

答案 0 :(得分:3)

缓冲区缓存位于实际文件系统下方,因此它将缓存加密数据。请参阅IBM's Anatomy of a Filesystem处的图表。由于您希望缓存未加密的数据,只要您的加密文件系统是使用“循环”设备创建的,缓冲区缓存也将包含未加密的数据副本,因此它应该很快(以FS的更多内存为代价)缓冲区在使用中。)

答案 1 :(得分:0)

我没有玩过这个,但我很确定缓冲区缓存和VM都不知道加密,所以你应该看到与你的用法相当的性能。