Created
November 17, 2021 12:13
-
-
Save ideepika/2a902d0536425f2f6245eacfc12680d4 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #!/bin/bash | |
| set -ex | |
| echo "===setup clusters ===" | |
| mon=1 osd=1 mds=0 ../src/mstart.sh site-a --short -n --without-dashboard | |
| mon=1 osd=1 mds=0 ../src/mstart.sh site-b --short -n --without-dashboard | |
| echo "===rbd mirror setup for clusters ===" | |
| key=$(../src/mrun site-a ceph auth get client.admin --format=json | jq -r .[0].key) | |
| mon_host_a=$(grep "mon host" run/site-a/ceph.conf | awk '{print $4}') | |
| ceph_conf=./run/site-a/ceph.conf bin/rbd-mirror --mon_host $mon_host_a --key $key --debug-rbd 5 --debug-rbd-mirror 30 | |
| mon_host_b=$(grep "mon host" run/site-b/ceph.conf | awk '{print $4}') | |
| key=$(../src/mrun site-b ceph auth get client.admin --format=json | jq -r .[0].key) | |
| ceph_conf=./run/site-b/ceph.conf bin/rbd-mirror --mon_host $mon_host_b --key $key --debug-rbd 5 --debug-rbd-mirror 30 | |
| echo "===create pools==" | |
| ../src/mrun site-a ceph osd pool create data | |
| ../src/mrun site-b ceph osd pool create data | |
| echo "make them rbd pool...\n" | |
| ../src/mrun site-a rbd pool init data | |
| ../src/mrun site-b rbd pool init data | |
| echo "===connect the 2 site clusters==" | |
| ../src/mrun site-a rbd mirror pool enable --site-name site-a data image | |
| token=$(../src/mrun site-a rbd mirror pool peer bootstrap create data) | |
| ../src/mrun site-b rbd mirror pool peer bootstrap import --site-name site-b data - <<< $token | |
| echo "===enable snapshot on ext4 rbd device for site-a===" | |
| ../src/mrun site-a rbd create --size 1G --mirror-image-mode snapshot --image-feature layering data/a1 | |
| dev=$(sudo bin/rbd device map --conf ./run/site-a/ceph.conf --device-type nbd data/a1) | |
| sudo mkfs.ext4 $dev | |
| sudo bin/rbd device unmap --conf ./run/site-a/ceph.conf --device-type nbd $dev | |
| echo "enable snapshot mode..." | |
| ../src/mrun site-a rbd mirror image enable data/a1 snapshot | |
| echo "add snap schedule..." | |
| ../src/mrun site-a rbd mirror snapshot schedule add --pool data --image a1 2m | |
| echo "schedule ls" | |
| ../src/mrun site-a rbd mirror snapshot schedule status | |
| echo "snap ls" | |
| ../src/mrun site-a rbd snap ls data/a1 --all | |
| echo "demote site-a" | |
| ../src/mrun site-a rbd mirror image demote data/a1 | |
| echo "check demotion of site-a ..." | |
| ../src/mrun site-a rbd snap ls data/a1 --all | |
| echo "promote site-b" | |
| ../src/mrun site-b rbd mirror image promote data/a1 | |
| echo "add schedule to site-b" | |
| ../src/mrun site-b rbd mirror snapshot schedule add --pool data --image a1 2m | |
| echo "schedule status check" | |
| ../src/mrun site-b rbd mirror snapshot schedule ls --recursive | |
| echo "demote site-b" | |
| ../src/mrun site-b rbd mirror image demote data/a1 | |
| echo "promote site-a again" | |
| ../src/mrun site-a rbd mirror image promote data/a1 | |
| echo "snap list from site-a" | |
| ../src/mrun site-a rbd snap ls data/a1 --all | |
| echo "snap status check for site-a" | |
| ../src/mrun site-a rbd mirror snapshot schedule status | |
| echo "try failove to site-b" | |
| ../src/mrun site-a rbd mirror demote data/a1 | |
| ../src/mrun site-b rbd mirror promote data/a1 | |
| echo "schedule and snap status for site-b" | |
| ../src/mrun site-b rbd mirror snapshot schedule status | |
| ../src/mrun site-b rbd mirror snap ls data/a1 --all | |
| sleep 125 | |
| echo "check if snaps taken or not" | |
| ../src/mrun site-b rbd mirror snap ls data/a1 --all | |
| echo "add schedule again on site-b" | |
| ../src/mrun site-b rbd mirror snapshot schedule add --pool data --image a1 2m | |
| echo "wait 2mins..." | |
| sleep 125 | |
| ../src/mrun site-b rbd mirror snapshot schedule status |
Author
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
the local image has following status: