Bienvenue à vous

Vous avez des questions sur le Unix, Linux ? On peut y repondre ...
Des sous rubriques Astuces sont visibles uniquement pour les membres...Devenir membre

Vous n'êtes pas identifié.

Annonce

Si vous souhaitez m’aider à rendre ce site et forum plus conviviale, merci de me signaler si vous trouver des informations politiquement NON correctes, merci d’avance. Mais, bon. Dire que Linux et Unix sont meilleur de Windows (s’est toujours du politiquement réaliste non ??) ;) Jérôme

#1 05-11-2008 16:34:02

jerome
Administrator
Lieu: Paris
Date d'inscription: 22-03-2005
Messages: 251
Site web

baie EMC

pour synchroniser des clones:


fichier de conf:

more /usr/local/etc/clone.cfg
#user :passwd:scope:IP:nom:id
#prdlo2:password:0:16.92.23.9:Clone_Test_CFTDP_LUN_137:0100000000000000
adm:password:0:16.92.23.9:CFTDRP_CLONE_LUN 76:0100000000000000
adm:password:0:16.92.23.9:CFTDRP_CLONE_LUN 77:0100000000000000
adm:password:0:16.92.23.9:CFTDRP_CLONE_LUN 78:0100000000000000
adm:password:0:16.92.23.9:CFTDRP_CLONE_LUN 80:0100000000000000
adm:password:0:16.92.23.9:CFTDRP_CLONE_LUN 81:0100000000000000




#! /usr/bin/ksh

CFG=/usr/local/etc/clone.cfg
FLAG=/usr/local/flag
DATE=$(date +'%x,%X' )
mkdir -p $FLAG

if   [[ -f ${FLAG}/clone_sync ]]
then
        print -u2 "ERREUR: les clones sont deja synchronise"
        print -u2 "supprimer ${FLAG}/clone_sync  pour forcer le lancement du script $0"
        exit 4
fi



echo "${date} " > ${FLAG}/clone_run
rm ${FLAG}/clone_status > /dev/null 2>&1
rm ${FLAG}/clone_fract  > /dev/null 2>&1
# boucle pour coherance

cat ${CFG}|grep -v '^#' | while read ligne
do
IFS=:
set $ligne > /dev/null 2> /dev/null

USER="$1"
PASS="$2"
SC="$3"
IP="$4"
NAME="$5"
CID="$6"
PB="$7"   #poubelle

        #echo "${NAME}|${DATE}||0" >> ${FLAG}/clone_status
done
#

cat ${CFG}|grep -v '^#' | while read ligne
do

IFS=:
set $ligne > /dev/null 2> /dev/null

USER="$1"
PASS="$2"
SC="$3"
IP="$4"
NAME="$5"
CID="$6"
PB="$7"   #poubelle


/opt/Navisphere/bin/naviseccli -User "${USER}" -Password "${PASS}" -Scope "${SC}" -h "${IP}" snapview -Listclone -name "${NAME}" -CloneId "${CID}" -CloneState -CloneCondition -PercentSynced > ${FLAG}/log 2>&1

                STATUS=`cat ${FLAG}/log | grep "CloneCondition" |cut -d":" -f2 | tr -s ' ' '' ` >> /dev/null
                STATUS1=`cat ${FLAG}/log | grep "CloneState" |cut -d":" -f2 | tr -s ' ' '' ` >> /dev/null       
                if  [[ "$STATUS" = " Normal" && "$STATUS1" = " Synchronized" ]]
                then
                        #status: 0 ==> debut de sync
                        #grep -v "${NAME}" ${FLAG}/clone_status > ${FLAG}/clone_status_$$
                        #grep "${NAME}" ${FLAG}/clone_status | sed  "s/|0$/${DATE}|1/" >> ${FLAG}/clone_status_$$
                        #mv ${FLAG}/clone_status_$$ ${FLAG}/clone_status

                        continue

                fi

                 if  [[ "$STATUS" = " Normal" && "$STATUS1" = " Consistent" ]]
                then
                        continue
                fi

/opt/Navisphere/bin/naviseccli -User "${USER}" -Password "${PASS}" -Scope "${SC}" -h "${IP}" snapview -syncclone -name "${NAME}" -CloneId "${CID}" -o
        echo "$NAME , $CID , $DATE"
if  [[ "$?" != "0" ]]
then
        echo "Erreur de syncclone $NAME , $CID , $DATE" >> ${FLAG}/clone_erreur
        print -u2 "Erreur de syncclone $NAME , $CID , $DATE"
        exit 2
fi
done

rm ${FLAG}/clone_run 2> /dev/null

Hors ligne

 

#2 05-11-2008 16:36:43

jerome
Administrator
Lieu: Paris
Date d'inscription: 22-03-2005
Messages: 251
Site web

Re: baie EMC

Pour vérifier le statut des clones:


#! /usr/bin/ksh

CFG=/usr/local/etc/clone.cfg
FLAG=/usr/local/flag
DATE=$(date +'%x,%X' )
mkdir -p $FLAG

# analyser CLONE apres CLONE pour connaitre son etat

COUNT=0
suite=0
CPT=0
NBREC=` cat /usr/local/etc/clone.cfg | grep -v '^#' | grep -v '^ *$' |wc -l | sed 's/ //g'`

rm /tmp/status$$.ksh 2> /dev/null

while :
do
echo $( date +'%x,%X'): TEST Synchronized des clones

        cat ${CFG}|grep -v '^#' | while read LIG
        do
        CPT=$CPT
        IFS=:
        set $LIG

        USER="$1"
        PASS="$2"
        SC="$3"
        IP="$4"
        NAME="$5"
        CID="$6"
        PB="$7"   #poubelle


echo    /opt/Navisphere/bin/naviseccli -User \"${USER}\" -Password \"${PASS}\" -Scope \"${SC}\" -h \"${IP}\" snapview -Listclone -name \"${NAME}\" -CloneId \"${CID}\" -CloneState -CloneCondition -PercentSynced >> /tmp/status$$.ksh

done

sync
sleep 2
CPT=` ksh /tmp/status$$.ksh | tee $FLAG/log | grep -c Synchronized `

echo "##$NBREC##"
echo "##$CPT##"

if [[ "$NBREC" == "$CPT" ]]
then

        break
fi

echo "#############################" >> $FLAG/log_sync
date >> $FLAG/log_sync
cat $FLAG/log >> $FLAG/log_sync
echo "#############################" >> $FLAG/log_sync
echo on refait les tests ...

sleep 30
rm /tmp/status$$.ksh 2> /dev/null

done


echo ok
exit 0
rm /tmp/status$$.ksh

Hors ligne

 

#3 05-11-2008 16:37:28

jerome
Administrator
Lieu: Paris
Date d'inscription: 22-03-2005
Messages: 251
Site web

Re: baie EMC

pour fracturer les clones:


#! /usr/bin/ksh

CFG=/usr/local/etc/clone.cfg
REP=/usr/local/bin
FLAG=/usr/local/flag
DATE=$(date +'%x,%X' )
mkdir -p $FLAG



[[ "${1}" == "force" ]] || if ( ${REP}/clone_sync_status.ksh  )  > /dev/null
then
echo test ok

fi

cat ${CFG}|grep -v '^#' | while read ligne
#cat  ${FLAG}/clone_status |grep -v '^#' | grep  '|1 *$' | grep -v '^ *$'| while read LIG
do

        IFS=:
        set $ligne > /dev/null 2> /dev/null

        USER="$1"
        PASS="$2"
        SC="$3"
        IP="$4"
        NAME="$5"
        CID="$6"
        PB="$7"  #poubelle

        /opt/Navisphere/bin/naviseccli -User "${USER}" -Password "${PASS}" -Scope "${SC}" -h "${IP}" snapview -fractureclone -name "${NAME}" -CloneId "${CID}" -o
done

rm ${FLAG}/clone_sync 2> /dev/null

Hors ligne

 

#4 05-11-2008 16:39:11

jerome
Administrator
Lieu: Paris
Date d'inscription: 22-03-2005
Messages: 251
Site web

Re: baie EMC

script master:


more backup_clone.ksh
#! /usr/bin/ksh

# Commande unix pour s'assurer que les buffers sont bien ecrit sur les FS
echo Attention 6 minutes de pause pour synchro des disques
#sync
#sleep 2
#sync
#sleep 2
#sync
#sleep 2

umount /backup/rep1 2> /dev/null
umount /backup/rep2 2> /dev/null
umount /backup/rep3 2> /dev/null
umount /backup/rep4 2> /dev/null
umount /backup/rep5 2> /dev/null

REP=/usr/local/bin

FLAG=/usr/local/flag

cd $FLAG
rm clone_* 2> /dev/null

${REP}/clone_sync.ksh

# controle du status doit être "Synchronise" "Normal"

echo ${REP}/clone_sync_status.ksh
${REP}/clone_sync_status.ksh

if [[ $? != "0" ]]
then

        print -u2 'probleme de controle du status doit être "Synchronise" "Normal"'
        exit 3

fi


echo Sync 5 mn
sync
sleep 5

# controle du status doit etre "Synchronise" "Normal"
echo ${REP}/clone_sync_status.ksh

${REP}/clone_sync_status.ksh
if [[ $? != "0" ]]
then

        print -u2 'probleme de controle du status doit etre "Synchronise" "Normal"'
        exit 3

fi
# Fracture
echo ${REP}/clone_fracture.ksh

${REP}/clone_fracture.ksh

# controle du status doit etre "Fractured"

echo ${REP}/clone_fract_status.ksh
${REP}/clone_fract_status.ksh


# Montage des FS Clone (/backup/oracle/PRD/....)
mount /backup/rep1
mount /backup/rep2
mount /backup/rep3
mount /backup/rep4
mount /backup/rep5

# Demontge des FS clone

Hors ligne

 

Pied de page des forums

Propulsé par FluxBB
Traduction par FluxBB.fr