#
# cd /tmp/tmp.rbd_mirror
# ls
-# less rbd-mirror.<pid>.log
+# less rbd-mirror.local.<pid>.log
# ceph --cluster remote -s
# ceph --cluster local -s
# rbd --cluster remote -p mirror ls
RMT_CLUSTER=remote
POOL=mirror
RBD_MIRROR_PID_FILE=
-RBD_MIRROR_ASOK=
+RBD_MIRROR_LOC_ASOK=
+RBD_MIRROR_RMT_ASOK=
SRC_DIR=$(readlink -f $(dirname $0)/../../../src)
TEMPDIR=
start_mirror()
{
RBD_MIRROR_PID_FILE=${TEMPDIR}/rbd-mirror.pid
- RBD_MIRROR_ASOK=${TEMPDIR}/rbd-mirror.asok
+ RBD_MIRROR_LOC_ASOK=${TEMPDIR}/rbd-mirror.${LOC_CLUSTER}.asok
+ RBD_MIRROR_RMT_ASOK=${TEMPDIR}/rbd-mirror.${RMT_CLUSTER}.asok
rbd-mirror \
--cluster ${LOC_CLUSTER} \
--pid-file=${RBD_MIRROR_PID_FILE} \
- --log-file=${TEMPDIR}/rbd-mirror.\$pid.log \
- --admin-socket=${RBD_MIRROR_ASOK} \
+ --log-file=${TEMPDIR}/rbd-mirror.\$cluster.\$pid.log \
+ --admin-socket=${TEMPDIR}/rbd-mirror.\$cluster.asok \
--debug-rbd=30 --debug-journaler=30 \
--debug-rbd_mirror=30 \
--daemonize=true
done
ps auxww | awk -v pid=${pid} '$2 == pid {print; exit 1}'
fi
- rm -f ${RBD_MIRROR_ASOK}
- rm -f ${RBD_MIRROR_PID_FILE}
+ rm -f ${RBD_MIRROR_LOC_ASOK} ${RBD_MIRROR_RMT_ASOK} ${RBD_MIRROR_PID_FILE}
RBD_MIRROR_PID_FILE=
- RBD_MIRROR_ASOK=
+ RBD_MIRROR_LOC_ASOK=
+ RBD_MIRROR_RMT_ASOK=
}
flush()
local image=$1
local image_id cmd
- test -n "${RBD_MIRROR_ASOK}"
+ test -n "${RBD_MIRROR_LOC_ASOK}"
image_id=$(remote_image_id ${image})
test -n "${image_id}"
- cmd=$(ceph --admin-daemon ${RBD_MIRROR_ASOK} help |
+ cmd=$(ceph --admin-daemon ${RBD_MIRROR_LOC_ASOK} help |
sed -nEe 's/^.*"(rbd mirror flush.*'${image_id}'])":.*$/\1/p')
test -n "${cmd}"
- ceph --admin-daemon ${TEMPDIR}/rbd-mirror.asok ${cmd}
+ ceph --admin-daemon ${RBD_MIRROR_LOC_ASOK} ${cmd}
}
test_image_replay_state()
local test_state=$2
local current_state=stopped
- test -n "${RBD_MIRROR_ASOK}"
+ test -n "${RBD_MIRROR_LOC_ASOK}"
- ceph --admin-daemon ${RBD_MIRROR_ASOK} help | fgrep "${image_id}" &&
+ ceph --admin-daemon ${RBD_MIRROR_LOC_ASOK} help | fgrep "${image_id}" &&
current_state=started
test "${test_state}" = "${current_state}"
}
test -n "${TEMPDIR}"
RBD_MIRROR_PID_FILE=${TEMPDIR}/rbd-mirror.pid
- RBD_MIRROR_ASOK=${TEMPDIR}/rbd-mirror.asok
RBD_MIRROR_NOCLEANUP=
cleanup