温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

ceph sparse read的示例分析

发布时间:2021-12-17 10:04:42 来源:亿速云 阅读:198 作者:小新 栏目:云计算

这篇文章主要为大家展示了“ceph sparse read的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“ceph sparse read的示例分析”这篇文章吧。

在解释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的示例分析”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI