之前业界一直误会了分布式文件系统。 都认为对象存储的优越性好于NAS。业界部分人认为:对象存储是扁平的,而文件系统是树型的,不够扁平,所以对于海量小文件的性能上,对象存储要比文件存储性能好。在分布式文件系统兴起后,这个结论是错的。原因如下:
1,把对象存储和传统NAS比,传统NAS是在块设备上做xfs+nfs,nfs流量是单点的。 新型的NAS早就以分布式文件系统cephfs代替。cephfs随着mds增多,性能线性扩展。
2,拿树型结构做为文件系统的缺陷也没有依据,这完全看用户需要。用户如果只使用一个目录,那cephfs也是扁平的。且cephfs大部分inode元数据都读缓存了,树型结构已经不是缺陷,而是优点。因为对象存储的元数据大,对rocksdb压力大,元数据大当然没法完全内存缓存。
3,真正的扁平型存储系统,应该以谷歌论文为主的小文件系统haystack,seaweedfs,tfs 等。这些系统文件仅仅是硬盘上的一个id+offset。这边不多做解释,可以查阅haystack相关论文。
在这里不是要褒文件系统,贬对象存储。其实各有优势,对象存储在外网app 场景。 例如外网上传下载,网盘等领域作用比较大的。下面我们看怎么从机械盘的服务器上,单客户端访问让cephfs跑出几万文件每秒。
一,硬件配置:
1,服务器10台,每台服务器2SSD+8SATA。
2,万兆网卡+万兆网络。
3,ceph-12.2.7 &