3月份启动FastCFS V2.0研发工作,耗时近2个月时间推出了V2.0。为了更好地对接虚拟机和K8s,V2.0主要实现了存储池和访问权限控制,并支持配额。
V2.0支持的核心功能就是用户和权限体系。对于应用系统来说,权限管理是基本功能,实现起来根本就不是事儿。对于基础软件来说,为了保证高性能且不依赖第三方组件,挑战大了不少,其实现方案需要精心设计,实现细节需要仔细推敲。
对一个存储系统来说,把用户、存储池和访问权限相关数据保存到诸如mysql数据库中,当然是可行的,但不讲究,原因如下:一、引入第三方存储系统,增加了部署和运维复杂性;二、分布式文件系统本身就是存储系统,因为用户权限引入其他存储系统,这个做法会非常奇怪,逻辑上经不起推敲。
FastCFS不依赖第三方存储系统,把用户及权限数据保存到服务组件FastDIR中。为了更优雅灵活地支持这一点,FastDIR在3月中旬支持了文件扩展属性(x-attribute)。
FastCFS的访问权限控制采用基于session的分布式访问控制。session由Auth server生成并分发给FastCFS的两大服务组件FastDIR server和FastStore server,从而实现了session本地验证。FastCFS的用户权限体系采用集中管理,分布式验证的做法,做到了极致性能。
另外一个特性分享给大家,FastCFS的用户权限及配额修改后,准实时(1秒内)生效;管理员可以自定义用户配额控制(防止用超)的时间精度,默认为10秒。
欢迎有需要的朋友下载和试用V2.0。FastCFS安装和配置文档,参见 gitee官网:https://gitee.com/fastdfs100/FastCFS