Juin 152011
lorsque l’on synchronise un miroir LVM, on a dès fois envie de savoir ou il en est de sa synchronisation.
la fonction suivante vous permettra de le savoir très simplement.
cette fonction prend en argument le vg qui est en cours de synchronisation.
affichera le lvol en cours de synchro et affichera progressivement le nombre d’extents restant à synchroniser.
Download : extr.sh
extr() { vg=$1 [ -z "$vg" ] && return 1 while [ true ] do LVOLS= for i in $(find /dev/$vg -type b);do [ "$(lvdisplay -v $i |grep stale |wc -l)" -ne "0" ] && LVOLS="$LVOLS $i"; done [ -z "$LVOLS" ] && { echo "les extends de tout les lvols de $vg sont synchronises" break 2 } for LVOL in $LVOLS do x=$(lvdisplay -v $LVOL |grep stale |wc -l ; sleep 2) [ "$x" -eq "$(lvdisplay -v $LVOL |grep stale |wc -l)" -o "$x" -eq "0" ] && continue M="$LVOL - extends a mirorrer : " y=$(expr length "$M") w=$(lvdisplay -v $LVOL |grep stale |wc -l |sed 's/[0-9]/ /g') tput clear /usr/bin/printf "$M" while [ true ] do z=$(lvdisplay -v $LVOL |grep stale |wc -l) tput cup 0 $y && /usr/bin/printf "$z$w" [ "$z" -eq "0" ] && break done done sleep 2 done }
pour une utilisation en dehors d’un script, faites simplement un copier-coller de cette fonction dans votre shell (ksh ou bash) et tapez:
# extr vg00