Percona XtraDB Cluster 中的 GCache 和 Record-Set 缓存加密——第二部分

Percona XtraDB Cluster 中的 GCache 和 Record-Set 缓存加密——第二部分

💡 原文英文,约1300词,阅读约需5分钟。
📝

内容提要

本文介绍了Percona XtraDB Cluster中的数据静态加密的实现原理和功能。通过使用GCache和Record-Set缓存加密,实现了在内存中对数据进行加密。同时介绍了RAM页面缓存的使用和加密密钥的管理和更新。

🎯

关键要点

  • 本文介绍了Percona XtraDB Cluster中的数据静态加密的实现原理和功能。
  • 通过使用GCache和Record-Set缓存加密,实现了在内存中对数据进行加密。
  • Record Set缓存和GCache通过API与客户端应用程序(Galera库)进行交互。
  • 使用mmap将文件映射到进程的虚拟内存,避免了文件I/O操作。
  • EncMMap类作为MMap的装饰器,封装了所有加密细节,应用程序接口保持不变。
  • 加密缓存使用相对较小的RAM页面池作为虚拟内存的后端。
  • 当访问未映射的页面时,触发SIGSEGV信号处理程序,进行页面映射和解密。
  • 加密页面的大小和数量可以通过gcache.encryption_cache_page_size和gcache.encryption_cache_size参数控制。
  • 每个文件使用其文件密钥进行加密,RingBuffer文件的密钥需要存储以便重启后解密。
  • 主密钥存储在服务器的Keyring组件中,可以随时旋转。
  • 如果使用Keyring文件组件进行测试,密钥文件必须存储在数据目录之外。
➡️

继续阅读