clustermd_tests: add test case to test switching bitmap against cluster-raid10

01r10_Grow_bitmap-switch:
It tests switching bitmap during three modes include of
clustered, none and internal, this case is testing the
clustered raid10.

Signed-off-by: Zhilong Liu <zlliu@suse.com>
Signed-off-by: Jes Sorensen <jsorensen@fb.com>
This commit is contained in:
Zhilong Liu 2018-02-02 14:10:52 +08:00 committed by Jes Sorensen
parent 4a557d9d1d
commit b3d330436a
1 changed files with 51 additions and 0 deletions

View File

@ -0,0 +1,51 @@
#!/bin/bash
mdadm -CR $md0 -l10 -b clustered --layout n2 -n2 $dev0 $dev1 --assume-clean
ssh $NODE2 mdadm -A $md0 $dev0 $dev1
check all nosync
check all raid10
check all bitmap
check all state UU
# switch 'clustered' bitmap to 'none', and then 'none' to 'internal'
stop_md $NODE2 $md0
mdadm --grow $md0 --bitmap=none
[ $? -eq '0' ] ||
die "$NODE1: change bitmap 'clustered' to 'none' failed."
mdadm -X $dev0 $dev1 &> /dev/null
[ $? -eq '0' ] &&
die "$NODE1: bitmap still exists in member_disks."
check all nobitmap
mdadm --grow $md0 --bitmap=internal
[ $? -eq '0' ] ||
die "$NODE1: change bitmap 'none' to 'internal' failed."
sleep 1
mdadm -X $dev0 $dev1 &> /dev/null
[ $? -eq '0' ] ||
die "$NODE1: create 'internal' bitmap failed."
check $NODE1 bitmap
# switch 'internal' bitmap to 'none', and then 'none' to 'clustered'
mdadm --grow $md0 --bitmap=none
[ $? -eq '0' ] ||
die "$NODE1: change bitmap 'internal' to 'none' failed."
mdadm -X $dev0 $dev1 &> /dev/null
[ $? -eq '0' ] &&
die "$NODE1: bitmap still exists in member_disks."
check $NODE1 nobitmap
mdadm --grow $md0 --bitmap=clustered
[ $? -eq '0' ] ||
die "$NODE1: change bitmap 'none' to 'clustered' failed."
ssh $NODE2 mdadm -A $md0 $dev0 $dev1
sleep 1
for ip in $NODES
do
ssh $ip "mdadm -X $dev0 $dev1 | grep -q 'Cluster name'" ||
die "$ip: create 'clustered' bitmap failed."
done
check all bitmap
check all state UU
check all dmesg
stop_md all $md0
exit 0