深入解析Ceph性能调优与分层存储技术
1. Ceph性能调优基础
Ceph RBD默认以4MB对象进行条带化,其块大小为4MB,条带大小为4MB乘以集群中OSD的数量。当预读大小小于4MB时,预读对性能提升作用不大,读取性能可能难以超越单个OSD。在4.4及以上内核中,可将预读值设置得更高,实现每秒数百MB的读取性能。
2. CephFS性能调优
CephFS性能主要由元数据访问速度和数据访问速度决定。在CephFS中,获取文件元数据后,对实际文件数据的读取在客户端关闭文件前无需额外元数据操作;写文件时,只有客户端刷新脏数据时才更新元数据。对于大型顺序缓冲IO,元数据操作在总集群IO中占比小;而处理大量客户端频繁打开和关闭小文件的CephFS文件系统,元数据操作对整体性能影响更大。
元数据性能受两个因素影响:通过RADOS元数据池读写元数据的速度,以及MDS处理客户端请求的速度。为降低元数据请求延迟,可将元数据池置于闪存存储上。MDS有本地缓存概念,默认预留1GB RAM作为缓存,可通过 mds_cache_memory_limit 变量控制。增加缓存内存可减少对RADOS池的请求,降低元数据访问延迟。但增加RAM到一定程度收益不大,可能是缓存已足够大或MDS处理请求能力达到上限。MDS是单线程进程,当元数据请求使MDS占用单个CPU核心100%时,增加缓存或使用SSD都无济于事,建议使用高时钟频率CPU,如四核至强E3,频率接近4GHz。若单MDS仍为瓶颈,可部署多个活跃MDS分担元数据请求。
3. RBD与纠删码池
使用存储在纠删码池中的RBD时,应尽量进行全条带写入,全条带写
超级会员免费看
订阅专栏 解锁全文
128

被折叠的 条评论
为什么被折叠?



