之前一直在关注Ceph读写过程与修复,现将之前看到的内容记录下来。欢迎探讨。
读写过程
上图大体可以表示从文件到保存在存储实体上的过程,详细步骤如下:
1. RADOS中需要配置Object Size的值,也就是每个Object大小的最大值,一般情况下会设置为2M到4M。当一个file存进ceph中时,会根据Object Size将file进行切分。若file的大小不足Object Size,则直接按原大小映射到一个Object中;若file的大小大于Object Size,则file会被切分为若干个完整大小的Object,和一个不完整大小的Object。对于小文件,映射不足一个完整的Object时,并不会发生填充,Object大小就是原始文件的大小。
Object的大小,可以在ceph.file.layout中object_size进行配置。
$ touch file
$ getfattr -n ceph.file.layout file
# file: file
ceph.file.layout="stripe_unit=4194304 str