从虚拟机中的文件到RADOS的object

Ceph将虚拟机的卷映射到最终的OSD,经过了两次映射。第一次,从object名到PG做简单hash,并结合pool_id作为前缀,第二次,从PG到OSD通过CRUSH算法计算得到。我们想知道卷最终被映射到哪些主机、哪些OSD、哪些object还是比较麻烦的。
我这里摸索出了,从虚拟机的某个文件找到该文件所在rados的object, osd, host的方法 (基于J版Ceph) 。如下:

Read more »

Shell 学习

因为平时写 Shell 脚本比较多,并且 Shell 的语法规则比较零散,这里做一些学习和实践总结。

Read more »

从 2016 年底就开始阅读 《SRE Google 运维解密》 这本书,断断续续看得差不多。对于 Google 这种超大规模的互联网公司,他的运维体系在相当长的时间内都是领先业界很多,虽然说其公开的资料已经是 Google 几年前的事情了,但是其体系还是有很大的研究和实践价值。
这本书的重点是指导思想+具体实践,其中的关键词是分布式。众所周知,Google 在分布式系统方面的理论和实践相当先进,其分布式存储 GFS、分布式计算 MapReduce,分布式数据库 BigTable 也是被广泛地研究与学习。

Read more »

ceph集群中的心跳机制研究3

之前研究了Ceph集群的心跳机制和故障检测机制,那从心跳机制到故障判断的过程又是什么样的?因为涉及多个源代码文件,并且函数调用嵌套很多层,这里看起来不是那么清晰,所以这也是我最后要讲的地方。

Read more »

ceph集群中的心跳机制研究2

我知道Ceph的基石是RADOS,而RADOS的含义是Reliable Autonomic Distributed Object Storage,而Autonomic(自治)的实现则依赖于Ceph中很好的故障检测机制。
下面进入正题。

Read more »

ceph集群中的心跳机制研究

基于Ceph 0.94.5版本,进行Ceph集群中的心跳机制进行研究。
在ceph中,心跳机制通过ping来实现,用来作为集群中故障检测的方法。分为两类:osd与osd之间的心跳,osd与mon之间的心跳。下面去一探究竟。

Read more »

A mind map about storage

我个人现在的工作方向是云存储,这要求我既对目前接触的分布式存储方案、技术(Ceph)有深入的研究,对于存储这个较大的领域的一些基本原理、通用性、本质性的东西也很需要有所了解。先贴一张自己总结的思维导图,以后会基于此图进行补充或者细化。

Read more »

日常工作中经常会遇到哈希算法,出于好奇想多了解一些关于哈希的理论。
在Ceph中(一种分布式存储系统),从Object到PG的映射就是采用了一种哈希算法,名为“rjenkins”。所以就是从这里作为切入点,看了一些资料。

Read more »