重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
这篇文章主要为大家展示了“ceph sparse read的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“ceph sparse read的示例分析”这篇文章吧。
成都创新互联长期为1000多家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为霍山企业提供专业的成都网站制作、成都网站设计,霍山网站改版等技术服务。拥有10多年丰富建站经验和众多成功案例,为您定制开发。
在解释ceph的sparse read前,先要解释一个概念:文件系统的fiemap。
ext4已经支持的一个特性是基于Extent 的文件存储,简写为fiemap.
现代很多文件系统都采用了 extent 替代 block 来管理磁盘。Extent 能有效地减少元数据开销。
再说ceph 的sparse read
ceph 基于fiemap特性来实现sparse read. 具体举例来说:
1. client 发出sparse-read 某个object请求.
2. osd 收到请求,传递至filestore,它 通过FS_IOC_FIEMAP ioctl判断底层文件系统是否支持fiemap,还要判断ceph配置选项是否默认打开fiemap.
3. 如果两个选项都支持,filestore通过此ioctl进一步获取到extent map信息,即哪些extent存有真实的数据。
4. filestore 利用extent map 分析出这个object的哪些部分真正在磁盘上分配了空间并存储了数据, 然后把这些部分读出并返回给客户端。
注意:
1. ext4默认支持了fiemap, 但是 ceph 默认是关闭了fiemap选项, 原因是测试发现某系kernel/fs的bug. 所以 所有的client sparse read 在ceph内部都是走的跟一般的read一样的路径。
2. sparse read 对大读有性能提高,但是对小读,如小于一个block size(4096B)的读,则没有性能提升。所以要避免对小读做sparse read.
以上是“ceph sparse read的示例分析”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注创新互联行业资讯频道!