Lvm snapshot
De BlaxWiki
Révision datée du 17 avril 2018 à 10:51 par 127.0.0.1 (discussion) (Page créée avec « Ce script crée des snapshot des volumes LVM des VM présentes <pre> #!/bin/bash lvlist=`lvs | awk '{print $1}' | grep -E "root|system"` vg="vol_kvm" currentdate=$(date "... »)
Ce script crée des snapshot des volumes LVM des VM présentes
#!/bin/bash
lvlist=`lvs | awk '{print $1}' | grep -E "root|system"`
vg="vol_kvm"
currentdate=$(date "+%A-%d%m%y")
lvsize="2G"
retentionday=7
firstsnap=1
function snapshot {
for lv in `echo $lvlist`;do
vm=`echo $lv | cut -d"." -f1`
lvcreate -L$lvsize -s -n snap.$firstsnap.$vm-$currentdate /dev/$vg/$lv
rotate $vm
done
}
function rotate() {
snaplist=`lvdisplay | grep -E "LV Name.*snap.*$1" | grep -v $currentdate | awk '{print $3}' | sort`
for lv in `echo $snaplist`;do
snapcount=`echo $lv | cut -d"." -f2`
if [ $snapcount -eq $retentionday ];then
lvremove -f /dev/$vg/$lv
else
newsnapcount=$(($snapcount+ 1))
newlvname=`echo $lv | sed s/snap.\./snap.$newsnapcount/`
lvrename /dev/$vg/$lv /dev/$vg/$newlvname
fi
done
}
snapshot