Ceph-Volume源码分析osd创建和开机自启

一. 前言


ceph-deploy部署流程分析中,最后介绍了ceph-deploy 是通过ceph-volume创建osd,这一篇主要分析ceph-volume 在创建osd的过程中都做了些什么。

在低于L版的版本中,集群是通过 udev 管理osd工作目录挂载的,但是在L 版之后官方已经不依赖于udev去完成这些工作,这一切都是通过 ceph-volume 来完成的,所以说ceph-volume 是部署当中非常重要的一环,内容也比较多,这也是为什么需要另起篇幅的原因,到底服务器重启的时候 osd是如何自动挂载的?是如何分辨这个磁盘就是属于这个osd呢?

(源码分析中会发现两个ceph-volume代码的bug,这里先留个彩蛋~)

看完并理解整个过程之后可以学会几个技能

二. ceph-volumn 创建osd的过程


这里以 ceph-volume lvm create 命令为例分析创建osd的过程

ceph-volume lvm create --data /dev/vdc --osd-id=0 --bluestore

在这里我指定了 –osd-id , 因为指定osd id 创建是一个很好用的功能,特别是在批量并行创建osd的时候

到此prepare 阶段就完成了

总结下prepare阶段做了什么吧:


到此整个 activate 阶段结束

再次总结一下active 整个过程做了什么

三. 服务器重启 osd 是如何启动挂载


四. 参考文档: