diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-21 11:54:28 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-21 11:54:28 +0000 |
commit | e6918187568dbd01842d8d1d2c808ce16a894239 (patch) | |
tree | 64f88b554b444a49f656b6c656111a145cbbaa28 /src/ceph-osd-prestart.sh | |
parent | Initial commit. (diff) | |
download | ceph-upstream/18.2.2.tar.xz ceph-upstream/18.2.2.zip |
Adding upstream version 18.2.2.upstream/18.2.2
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'src/ceph-osd-prestart.sh')
-rw-r--r-- | src/ceph-osd-prestart.sh | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/src/ceph-osd-prestart.sh b/src/ceph-osd-prestart.sh new file mode 100644 index 000000000..f946bf43b --- /dev/null +++ b/src/ceph-osd-prestart.sh @@ -0,0 +1,52 @@ +#!/bin/sh + +if [ `uname` = FreeBSD ]; then + GETOPT=/usr/local/bin/getopt +else + GETOPT=getopt +fi + +eval set -- "$(${GETOPT} -o i: --long id:,cluster: -- $@)" + +while true ; do + case "$1" in + -i|--id) id=$2; shift 2 ;; + --cluster) cluster=$2; shift 2 ;; + --) shift ; break ;; + esac +done + +if [ -z "$id" ]; then + echo "Usage: $0 [OPTIONS]" + echo "--id/-i ID set ID portion of my name" + echo "--cluster NAME set cluster name (default: ceph)" + exit 1; +fi + +data="/var/lib/ceph/osd/${cluster:-ceph}-$id" + +# assert data directory exists - see http://tracker.ceph.com/issues/17091 +if [ ! -d "$data" ]; then + echo "OSD data directory $data does not exist; bailing out." 1>&2 + exit 1 +fi + +journal="$data/journal" + +if [ -L "$journal" -a ! -e "$journal" ]; then + udevadm settle --timeout=5 || : + if [ -L "$journal" -a ! -e "$journal" ]; then + echo "ceph-osd(${cluster:-ceph}-$id): journal not present, not starting yet." 1>&2 + exit 0 + fi +fi + +# ensure ownership is correct +owner=`stat -c %U $data/.` +if [ $owner != 'ceph' -a $owner != 'root' ]; then + echo "ceph-osd data dir $data is not owned by 'ceph' or 'root'" + echo "you must 'chown -R ceph:ceph ...' or similar to fix ownership" + exit 1 +fi + +exit 0 |