Ceph项目始于2004年,是为优秀的性能、可靠性和可扩展性而设计的统一的分布式存储系统。
在使用RADOS系统时,客户端程序通过与OSD或者Monitor的交互获取ClusterMap,然后直接在本地进行计算,得出对象的存储位置后,便直接与对应的OSD通信,完成数据的各种操作。可见,在此过程中,只要保证ClusterMap不频繁更新,则客户端显然可以不依赖于任何元数据服务器,不进行任何查表操作,便完成数据访问流程。
在RADOS的运行过程中,Cluster Map的更新完全取决于系统的状态变化,而导致这一变化的常见事件只有两种(OSD出现故障或者RADOS规模扩大)。而正常应用场景下,这两种事件发生的频率显然远远低于客户端对数据进行访问的频率。
OSD依赖底层文件系统Xattrs来记录对象状态和元数据,Xattr必须提供足够的容量大小,ext4仅4KB,xfs 64KB,而btrfs没有限制,Btrfs不够稳定,ext4 Xattr太小,生产部署推荐xfs测试推荐btrfs。
Client:部署在Linux服务器上,实现数据切片,通过Crush算法定位对象位置,并进行对象数据的读写。
OSD:存储数据,处理数据复制,恢复,回填,重新调整&#