blob: f9f7897b27026b913187f91f493b96213f7b5cad (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
|
$ NUM_OSDS=500
$ POOL_COUNT=1 # data + metadata + rbd
$ SIZE=3
$ PG_BITS=4
#
# create an osdmap with a few hundred devices and a realistic crushmap
#
$ OSD_MAP="osdmap"
$ osdmaptool --osd_pool_default_size $SIZE --pg_bits $PG_BITS --createsimple $NUM_OSDS "$OSD_MAP" > /dev/null --with-default-pool
osdmaptool: osdmap file 'osdmap'
$ CRUSH_MAP="crushmap"
$ CEPH_ARGS="--debug-crush 0" crushtool --outfn "$CRUSH_MAP" --build --num_osds $NUM_OSDS node straw 10 rack straw 10 root straw 0
$ osdmaptool --import-crush "$CRUSH_MAP" "$OSD_MAP" > /dev/null
osdmaptool: osdmap file 'osdmap'
$ OUT="$TESTDIR/out"
#
# --test-map-pgs
#
$ osdmaptool --mark-up-in --test-map-pgs "$OSD_MAP" > "$OUT"
osdmaptool: osdmap file 'osdmap'
$ PG_NUM=$(($NUM_OSDS << $PG_BITS))
$ grep "pg_num $PG_NUM" "$OUT" || cat $OUT
pool 1 pg_num 8000
$ TOTAL=$((POOL_COUNT * $PG_NUM))
$ grep -E "size $SIZE[[:space:]]$TOTAL" $OUT || cat $OUT
size 3\t8000 (esc)
$ STATS_CRUSH=$(grep '^ avg ' "$OUT")
#
# --test-map-pgs --test-random is expected to change nothing regarding the totals
#
$ osdmaptool --mark-up-in --test-random --test-map-pgs "$OSD_MAP" > "$OUT"
osdmaptool: osdmap file 'osdmap'
$ PG_NUM=$(($NUM_OSDS << $PG_BITS))
$ grep "pg_num $PG_NUM" "$OUT" || cat $OUT
pool 1 pg_num 8000
$ TOTAL=$((POOL_COUNT * $PG_NUM))
$ grep -E "size $SIZE[[:space:]]$TOTAL" $OUT || cat $OUT
size 3\t8000 (esc)
$ STATS_RANDOM=$(grep '^ avg ' "$OUT")
#
# cleanup
#
$ rm -f "$CRUSH_MAP" "$OSD_MAP" "$OUT"
|