Hi, we found some bugs when cluster name is not ‘ceph' in version 0.80.1, ----- diff --git a/src/ceph-disk b/src/ceph-disk index f79e341..153e344 100755 --- a/src/ceph-disk +++ b/src/ceph-disk @@ -1611,6 +1611,8 @@ def start_daemon( [ svc, 'ceph', + '-c', + '/etc/ceph/{cluster}.conf'.format(cluster=cluster), 'start', 'osd.{osd_id}'.format(osd_id=osd_id), ], diff --git a/src/ceph_common.sh b/src/ceph_common.sh index 01781b7..8d14a3c 100644 --- a/src/ceph_common.sh +++ b/src/ceph_common.sh @@ -49,13 +49,13 @@ check_host() { get_conf user "" "user" #echo host for $name is $host, i am $hostname - - if [ -e "/var/lib/ceph/$type/ceph-$id/upstart" ]; then + cluster=$1 + if [ -e "/var/lib/ceph/$type/$cluster-$id/upstart" ]; then return 1 fi # sysvinit managed instance in standard location? - if [ -e "/var/lib/ceph/$type/ceph-$id/sysvinit" ]; then + if [ -e "/var/lib/ceph/$type/$cluster-$id/sysvinit" ]; then host="$hostname" echo "=== $type.$id === " return 0 diff --git a/src/init-ceph.in b/src/init-ceph.in index 846bd57..24c52d9 100644 --- a/src/init-ceph.in +++ b/src/init-ceph.in @@ -189,7 +189,7 @@ for name in $what; do num=$id name="$type.$id" - check_host || continue + check_host $cluster|| continue binary="$BINDIR/ceph-$type" cmd="$binary -i $id" @@ -231,7 +231,7 @@ for name in $what; do cmd="$cmd -c $conf" if echo $name | grep -q ^osd; then - get_conf osd_data "/var/lib/ceph/osd/ceph-$id" "osd data" + get_conf osd_data "/var/lib/ceph/osd/$cluster-$id" "osd data" get_conf fs_path "$osd_data" "fs path" # mount point defaults so osd data get_conf fs_devs "" "devs" if [ -z "$fs_devs" ]; then @@ -323,7 +323,7 @@ for name in $what; do if [ "${update_crush:-1}" = "1" -o "${update_crush:-1}" = "true" ]; then # update location in crush get_conf osd_location_hook "$BINDIR/ceph-crush-location" "osd crush location hook" - osd_location=`$osd_location_hook --cluster ceph --id $id --type osd` + osd_location=`$osd_location_hook --cluster $cluster --id $id --type osd` get_conf osd_weight "" "osd crush initial weight" defaultweight="$(df -P -k $osd_data/. | tail -1 | awk '{ print sprintf("%.2f",$2/1073741824) }')" get_conf osd_keyring "$osd_data/keyring" "keyring" @@ -354,7 +354,7 @@ for name in $what; do get_conf mon_data "/var/lib/ceph/mon/ceph-$id" "mon data" if [ "$mon_data" = "/var/lib/ceph/mon/ceph-$id" -a "$asok" = "/var/run/ceph/ceph-mon.$id.asok" ]; then echo Starting ceph-create-keys on $host... - cmd2="$SBINDIR/ceph-create-keys -i $id 2> /dev/null &" + cmd2="$SBINDIR/ceph-create-keys --cluster $cluster -i $id 2> /dev/null &" do_cmd "$cmd2" fi fi ----------- Best regards, yy, eXtreme Spring Network Technology Limited. Co.��.n��������+%������w��{.n����z��u���ܨ}���Ơz�j:+v�����w����ޙ��&�)ߡ�a����z�ޗ���ݢj��w�f