【分析】Ceph数据一致性检查

来源:互联网 发布:管家婆删除数据 编辑:程序博客网 时间:2024/04/26 22:24

          Ceph实现了Scrub机制,采用一种通过后台扫描的方案来解决ceph数据一致性的问题。

          Ceph系统内部实现了一个数据检查的工具——Ceph Scrub。其原理为:通过对比各个对象副本的数据和元数据,完成副本一致性检查。

          Ceph Scrub的优点,数据可以发现由于磁盘损坏导致的数据不一致现象。缺点是发现的时机比较之后。

          (注:网络上很多技术资料都说ceph实现了端到端的数据校验,由上述分析可知,ceph并没有实现端到端的数据校验,而是事后校验方法Scrub机制)

          Scrub按照扫描的内容可以分为两种:

          1. Scrub——仅仅对比对象各副本的元数据,来检查数据的一直。由于只检查元数据,读取数据量和计算量都比较小,速度比较快,是一种轻度的数据检查。

          2. deep-Scrub——不但检查对象各副本的元数据,还检查对象的数据内容是否一致,实现深度扫描,几乎要扫描磁盘上所有的数据并计算其CRC32校验值,耗时耗资源。

          (两个方式,前者就是关键数据扫描,后者是全部数据扫描)

          Scrub按照扫描的方式可以分为:

          1. 在线扫描——不影响正常业务,即不中断系统当前的读写请求,客户端可以继续完成读写访问,整个系统并不会暂停,但是后天正在进行Scrub的对象要被阻止读写,指导该对象完成Scrub才会解除阻止。

          2. 离线扫描——整个系统暂停或者冻结。


参考<Ceph源码分析>

原创粉丝点击