年终感想与新年计划

并没有序。

好久好久好久,没有更新博客了,最近一直在折腾监控,原计划十一月把监控弄完,因为自己蹩脚的Python,死活还没把那几个脚本写完,其实也就是解析下Json输出而已。罗列下这几天要完成的文章:

  • MON&OSD部署常见故障处理。(节省大家和我的时间,因为很多故障看过很多很多遍了)
  • 大话AUTH。(这篇文章很久前就开始构思了,只是觉得最后写出来的篇幅会很少,不像RBD和CRUSH那么内容饱满,就一直放在心里,今天一个朋友说道大多数新人遇到的问题都是AUTH带来的,所以就决定完成这篇文章)
  • Ceph应知应会一百条 (最最最基础的Ceph常识介绍。)
  • 红帽Ceph文档的翻译

最近一个很重要的任务是把红帽的文档翻译一遍,之所以选择红帽的,一是因为它有PDF能下载,二是因为它的文档结构很清晰,架构,运维,部署,概念等等分的很清晰。当然翻译肯定是很无聊的,我会做一些批注浅显的介绍些自己的看法,这些工作都是为了下一阶段的大话Ceph来准备的,就当做一遍完整的复习。

写这篇的目的是介绍下这半年来的历程:

  • 2016/4/1: 加入新致软件,开始了接触Ceph这个东西,跌跌撞撞部署了一个星期才装上,遇到过各式各样的跟新人一样的问题。
  • 2016/4/16: 开始知道Markdown这个东西,写完第一篇文档之后就卸载了Word。
  • 2016/5/1: 开始倒腾VIM,记了一大堆快捷键,然后发现还是老朋友Sublime比较友好。
  • 2016/5/12: 开始研究CRUSH的代码,看了二十遍Sage的论文,参考着朱荣泽的算法分析文章,一步一个跟头磨完了代码,前后两个星期。
  • 2016/6/1: 开始研究OSD的代码,又长又臭又长又臭,看了一周看不下去了,本着研究ceph -s的流程结果去研究了ceph-deploy的源码,还好都是Python写的看起来不吃力,用MD写了一大篇代码解析,也是又长又臭。
  • 2016/6/24: 搞inkscope,搞了好几天没搞成,自此对那几个监控没什么好感,坑多。。。转折点来了。
  • 2016/6/25: 下午四点半,同事删了一个生产集群的三个MON的数据库,集群嗝屁,到处求助,认识了磨渣,他教了我们一晚上,一直到一两点,教会我们怎么恢复这个集群,那时候真的很佩服也很感谢他,然后整整折腾了一个星期没怎么睡总算把这个集群恢复了。最大的感悟就是,知道了PG是什么东东。
  • 2016/7/29: 发了一篇Ceph快速部署的文章,帮助别人这个理念开始形成,开始回答群里的6789这一类的问题。
  • 2016/8/25: 公司让写软文,我摊手。没办法,基于恢复集群的经验,写了一篇大话PG,上交了文章,但是因为太专业了,就没了下文,顺手放到群共享,大家反映还不错。于是大话Ceph的概念形成。
  • 2016/9/2: 搭了自己的博客,也是一路懵逼的搭好了,开始在自己的小院子里面种地,因为经常部署集群,就写了一篇Ceph部署完整版,还是有很多人看的,至少参考这篇能搭好一个生产环境。
  • 2016/10/13: 写了大话RBD,这篇文章写了三天吧,死了很多脑细胞,只为让人明白精简置备这个概念就好了。开始酝酿大话CRUSH
  • 2016/10/25: 耐不住寂寞去找了下工作,谈好了H3C,因为老板的挽留继续干活,真的很抱歉。
  • 2016/11/3: 公司让我给内部员工讲云存储Ceph,给一堆Ceph萌新捣鼓了一下午,着重讲了CRUSH算法是怎么计算的。讲完就回头开始写大话CRUSH,推翻了之前的很多草稿,完成了这篇我认为质量很高的小说。果然讲过一次课之后的理解瞬间又提升了很多,而且Ceph的大脑我也不敢轻易去写它。
  • 2016/11/10: 开始折腾Ceph的监控,原因是Zabbix对数据集合显示的不友好,最后选择了Grafana+Graphite+Collectd的组合进行搭建,又回到了开篇,抠脚的Python大大拖慢了速度。等到整个脚本写完了,我就放到Github上,自然还有部署的流程记录。

到了十二月的第一天,也就是今天,原计划开始折腾Ceph的代码了,计划时间是一年,我希望在这一年里阅读完所有的代码,虽然我知道这很长很臭,不过,相信根据我目前对Ceph的理解,应该可以稍微加快点代码的理解。原本打算写一本源码解析的,结果常涛大神都已经出版了,只好拿来学习学习。这并不会影响我出书的计划。

目前的打算是,写上下两册,名叫大话Ceph,上册主要讲Ceph的基本概念,形如大话RBD,大话CRUSH这类的浅显易懂的文章,用于给刚接触Ceph的不想去看docs.ceph.com的朋友看,下册主要讲Ceph的源码,因为我发现讲源码的书都长一个样,所以要写出自己的风格,大话的风格。这些都会在2017年内完成,而前者需要后者去完善理论基础,所以应该会先放上册到gitbook上,下册写完了再修订好上册,一起发出去。加油加油加油!!!

知识只有分享出去才能得到升华,教学相长,这些都是我最近在帮助他人解决问题时候明白的道理。然而一个人的时间又是有限的,不能每天都去处理一些重复的问题,所以要把这些常见的问题整理出来写成文章,节省后人的时间,我知道能力在我上者大有人在,所以如果能节省大家入门Ceph的时间,那就变相得推动了Ceph前进的速度。

明年加油!