💡
原文英文,约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文件组件进行测试,密钥文件必须存储在数据目录之外。
➡️