[改进后的中文总结内容]

会议纪要:将 FSCRYPT 引入 CephFS 用户空间

会议主题: 将 FSCRYPT(文件系统加密)引入 CephFS 用户空间
主讲人: Christopher Hoffman, IBM 软件工程师
日期: 未知
时长: 未知


1. 会议概述

  • FSCRYPT 是一组内核库,支持透明文件系统加密,适用于多种文件系统,如 ext4、e2fs、Lustre 等。
  • 会议重点讨论了如何将 FSCRYPT 从内核空间迁移到用户空间,以实现更广泛的分布式文件系统(如 Ceph)的加密应用。

2. 主要议题

  • FSCRYPT 的工作原理
    • 文件名和数据内容均被加密,支持多种加密算法,每个文件有自己的密钥,由主密钥派生。
    • 文件名加密后存储为 Base64 编码,避免不可见字符问题。
    • 加密操作可能带来性能开销,包括读写时的填充和数据块的正确性处理。
  • 访问语义
    • 支持锁定和解锁模式,锁定模式只能读取元数据,解锁模式可正常读写数据。
  • 用户空间实现
    • 目前用户空间对 FSCRYPT 的支持有限,主要通过 FUSE 实现,但存在数据损坏风险。
  • 挑战
    • 文件名显示、逻辑大小支持、访问语义实现等。

3. 决定事项

  • 用户空间 FSCRYPT 的实现
    • 核心功能已完成,包括加密/解密、FUSE 支持、CLI 工具、测试框架等。
    • 需要进一步完善访问语义、多解锁支持、I/O 控制(ioctls)的正确性等问题。
  • 测试与验证
    • 通过多种工具进行元数据和数据路径的测试,验证了单客户端的稳定性。
    • 正在进行多客户端的互操作性测试,特别是针对不同客户端的缓存行为和截断操作的验证。

4. 后续行动计划

  • 完成用户空间实现的上游合并
    • 完成剩余的 PR 工作,确保用户空间实现符合 FSCRYPT 规范。
  • 性能测试
    • 计划进行性能测试,评估 FSCRYPT 引入用户空间后的性能开销,并与内核客户端进行对比。
  • 未来工作
    • 支持加密文件系统的备份。
    • 完善语义强制和性能优化。

5. 问答环节

  • 问题1:关于写入时如何处理已有数据的问题,主讲人解释了读-修改-写的工作流程。
  • 问题2:关于性能测试的问题,主讲人表示性能测试尚未进行,但计划在未来进行。
  • 问题3:关于加密库的选择,主讲人表示使用的是标准的 C++ 加密库。

6. 总结

  • 本次会议详细讨论了 FSCRYPT 在用户空间的实现进展、挑战和未来计划。主要目标是实现与内核空间的功能对等,并确保用户空间实现的稳定性和性能。

备注: 会议内容涉及较多技术细节,特别是关于 FSCRYPT 的工作原理和用户空间实现的挑战。后续工作将集中在性能测试和功能完善上。