1,在Ubuntu14.04 下,Ceph默认使用upstart方式管理ceph服务;
1.1 系统开机启动服务解释:
在 /etc/init/ceph-osd-all-starter.conf 文件下,可以看到如下代码;
- find -L /var/lib/ceph/osd/ -mindepth 1 -maxdepth 1 -regextype posix-egrep -regex '.*/[A-Za-z0-9]+-[A-Za-z0-9._-]+' -printf '%P\n' \
- | while read f; do
- if [ -e "/var/lib/ceph/osd/$f/ready" ] && [ -e "/var/lib/ceph/osd/$f/upstart" ] && [ ! -e "/var/lib/ceph/osd/$f/sysvinit" ]; then
- cluster="${f%%-*}"
- id="${f#*-}"
- initctl emit ceph-osd cluster="$cluster" id="$id"
- fi
- done
1.2 如果需要指定管理某个服务可以直接使用如下命令:
#initctl start ceph-osd id=0 #启动osd.0服务;
#initctl stop ceph-osd id=0 #停止osd.0服务;
#initctl restart ceph-osd id=0 #重启osd.0服务;
2,在Ubuntu16.04 下,Ceph默认使用systemd方式管理ceph服务;
2.1 系统开机启动服务解释:
在/etc/systemd/system/ceph-osd.target.wants 目录下,可以看到两个软连接ceph-osd@12.service ceph-osd@4.service 指向同一文件/lib/systemd/system/ceph-osd@.service
文件内核心的三行配置代码
- Environment=CLUSTER=ceph
- ExecStart=/usr/bin/ceph-osd -f --cluster ${CLUSTER} --id %i --setuser ceph --setgroup ceph
- ExecStartPre=/usr/lib/ceph/ceph-osd-prestart.sh --cluster ${CLUSTER} --id %i
2.2 指定管理某个服务使用如下命令:
#systemctl start ceph-osd@12.service
#systemctl stop ceph-osd@12.service
#systemctl restart ceph-osd@12.service
#systemctl status ceph-osd@12.service