From 7d150f352063d718f8f03a7321cd29cb21ce2691 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=9A=D0=BE=D1=80=D0=B5=D0=BD=D0=B1=D0=B5=D1=80=D0=B3=20?= =?UTF-8?q?=D0=9C=D0=B0=D1=80=D0=BA?= Date: Sun, 25 Nov 2018 20:59:18 +0500 Subject: [PATCH] RBD pool cleaning command --- pool_clean.sh | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100755 pool_clean.sh diff --git a/pool_clean.sh b/pool_clean.sh new file mode 100755 index 0000000..73caad6 --- /dev/null +++ b/pool_clean.sh @@ -0,0 +1,26 @@ +#!/bin/bash + +set -e -u + +pool=prod + +images=$( rbd -p "$pool" ls ) + +regexp='rbd_directory$|rbd_children$|rbd_info$' +for image in $images; do + prefix=$( rbd --format=json info "$pool/$image" | jq -r .block_name_prefix ) + [[ "$prefix" =~ ^rbd_data\.([a-f0-9]+)$ ]] || exit 1 + #echo "$image - $prefix" + image_id=${BASH_REMATCH[1]} + regexp="$regexp|rbd_[a-z_]+[.]$image_id([.][a-f0-9]+)?" + regexp="$regexp|rbd_id[.]$image" +done +regexp="^($regexp)\$" + +rados -p "$pool" ls | egrep -v "$regexp" > extra.txt + +# xargs rados -p "$pool" rm < extra.txt + +#while read line; do +# rados -p "$pool" stat "$line" +#done < extra.txt > sizes.txt