X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;f=gnt-lv-remove-snap.sh;h=07a9c23991139ae1bcd9b6a1569b7fa82d5509b3;hb=f0c73187439148a3e24e518d069b7a45868d4d9b;hp=e364851e5dc566924cd7d0fd7a12601b181645fb;hpb=eeaa68b89f59248174996e4ba0700abdb522fa21;p=gnt-info diff --git a/gnt-lv-remove-snap.sh b/gnt-lv-remove-snap.sh index e364851..07a9c23 100755 --- a/gnt-lv-remove-snap.sh +++ b/gnt-lv-remove-snap.sh @@ -1,5 +1,24 @@ -#!/bin/sh -xe +#!/bin/sh -e +if [ "$1" = "run" ] ; then + +# bind ganeti hanging snapshot dmsetup ls --tree | grep snap-1 | cut -d" " -f1 | xargs -i dmsetup remove {} -ls /dev/mapper/*snap | xargs -i lvremove -f {} +# remove snap lvs +ls /dev/mapper/*.snap | xargs -i lvremove -f {} + +else + +# umount all snapshots +gnt-cluster command -M mount | grep snap | grep -v rbd.disk[0-9].snap | awk '{ print "ssh "$1" umount "$4 }' | sed 's/: / /' | xargs -i sh -exec {} + +# remove mount directories +gnt-cluster command 'rmdir /dev/shm/*.snap' + +# create shell command to run on all nodes +cp $0 /dev/shm/snap-remove.sh +gnt-cluster copyfile /dev/shm/snap-remove.sh +gnt-cluster command -M sh -e /dev/shm/snap-remove.sh run + +fi