ceph的数据管理始于ceph client的写操作,鉴于ceph使用多副本及强一致性策略来保证数据的安全性和完整性,一个写请求的数据会首先被写入到primary OSD上去,然后primary OSD会进一步将数据复制到secondary和其它tertiary OSD上去并一直等待他们的完成通知,然后再将最终的完成确认发送给client。这篇文章主要从ceph数据管理这个方面入手,通过具体的实例介绍一下如何在ceph中找到数据的存放位置。
1、我们先创建一个包含数据的test文件、一个ceph pool并且设置pool的副本数为
$ echo "Hello ceph, I'm learning the data management part." > /tmp/testfile
$ cat /tmp/testfile
Hello ceph, I'm learning the data management part.
$ ceph osd pool create helloceph 192 192
pool 'helloceph' created
$ ceph osd pool set helloceph size 3
set pool 3 size