mirror of https://github.com/ceph/ceph
66 lines
1.7 KiB
Bash
66 lines
1.7 KiB
Bash
#! /bin/bash
|
|
|
|
### BEGIN INIT INFO
|
|
# Provides: ceph ceph-mon ceph-osd
|
|
# Required-Start: $network $remote_fs
|
|
# Required-Stop: $network $remote_fs
|
|
# Should-Start: network-remotefs
|
|
# Should-Stop: network-remotefs
|
|
# Default-Start: 3 5
|
|
# Default-Stop: 0 1 2 6
|
|
# Short-Description: Ceph is a distributed object, and block, storage platform
|
|
# Description: Ceph is a distributed object, block, and file storage platform
|
|
### END INIT INFO
|
|
|
|
SYSTEMD_NO_WRAP=1 . /etc/rc.status
|
|
rc_reset
|
|
|
|
action=$1 ; shift
|
|
|
|
# default cluster name to "ceph"
|
|
cluster="ceph"
|
|
|
|
# Shared variables by many actions
|
|
dir_mon="/var/lib/ceph/mon/"
|
|
dir_osd="/var/lib/ceph/osd/"
|
|
if test -d ${dir_mon} ; then
|
|
lmon=`ls ${dir_mon} | grep ${cluster}`
|
|
fi
|
|
if test -d ${dir_osd} ; then
|
|
losd=`ls ${dir_osd} | grep ${cluster}`
|
|
fi
|
|
prefix="${cluster}-"
|
|
|
|
case $action in start | stop | status | enable | disable | mask | unmask | restart | is-active | is-failed | show | kill | reset-failed )
|
|
n=0
|
|
if test -n "${lmon}" ; then
|
|
for s in ${lmon#=${prefix}} ; do
|
|
systemctl "${action}" ceph-mon@${s#$prefix}.service
|
|
rc_check
|
|
((++n))
|
|
done
|
|
fi
|
|
if test -n "${losd}" ; then
|
|
for s in ${losd#=${prefix}} ; do
|
|
systemctl "${action}" ceph-osd@${s#$prefix}.service
|
|
rc_check
|
|
((++n))
|
|
done
|
|
fi
|
|
if test $n -gt 0 ; then
|
|
rc_status
|
|
else
|
|
rc_status -u
|
|
fi
|
|
systemctl "${action}" ceph.target
|
|
rc_check
|
|
;;
|
|
*)
|
|
echo "Invalid parameter : $action"
|
|
echo "Valid parameters : start | stop | status | enable | disable | mask | unmask | restart | is-active | is-failed | show | kill | reset-failed"
|
|
;;
|
|
esac
|
|
|
|
rc_exit
|
|
|