meta data for this page
  •  

Különbségek

A kiválasztott változat és az aktuális verzió közötti különbségek a következők.

Összehasonlító nézet linkje

Előző változat mindkét oldalonElőző változat
Következő változat
Előző változat
Következő változatKövetkező változat mindkét oldalon
shell:oravm:ovm_cpu_pin_map [2020/05/06 15:38] adminshell:oravm:ovm_cpu_pin_map [2021/02/16 17:50] admin
Sor 4: Sor 4:
 #!/bin/bash #!/bin/bash
 ##################################################### #####################################################
-# OVM CPU PIN MAP v1.2+# OVM CPU PIN MAP v1.4
 # Keszitette: Agoston Peter # Keszitette: Agoston Peter
 ##################################################### #####################################################
-CPU_SUM_WARN=2+CPU_SUM_WARN=5
 CPU_SUM_CRIT=10 CPU_SUM_CRIT=10
-OVM_ADMIN_PASSWD=PAssword12 +OVM_ADMIN_PASSWD=PAssword123 
-OVMC="/u01/app/oracle/ovm-manager-3/ovm_utils/ovm_vmcontrol"+OVMC="/opt/ovm_utils/ovm_vmcontrol" 
 +OVS_SSH_KEY="/root/.ssh/id_ecdsa_ovs"
 SSHC="ssh -n -p 10000 admin@localhost" SSHC="ssh -n -p 10000 admin@localhost"
 if [[ -z "$OVM_ADMIN_PASSWD" ]]; then if [[ -z "$OVM_ADMIN_PASSWD" ]]; then
-            read -s -p "Add meg az oracle VM Manager admin jelszavat: " OVM_ADMIN_PASSWD+ read -s -p "Add meg az oracle VM Manager admin jelszavat: " OVM_ADMIN_PASSWD
 fi fi
  
Sor 74: Sor 75:
         fi         fi
 fi fi
 +
 +<< 'komment'
 +echo Kulcs ellenorzese az OVS-ekhez...
 +if [[ -z $SSH_AUTH_SOCK ]]; then
 + printf "ssh-agent (újra)indítása... "
 + eval `ssh-agent -s`
 + echo "Ha jelszó védett az ($OVS_SSH_KEY) kulcsod, akkor azt most add meg: "
 + ssh-add $OVS_SSH_KEY
 +else
 + if [[ $(ssh-add -l 2>&1) == "Could not open a connection to your authentication agent." ]]; then
 + killall ssh-agent
 + eval `ssh-agent -s`
 + fi
 + if [[ $(ssh-add -l | grep -c "$OVS_SSH_KEY") -eq 0 ]]; then
 + printf "Ha jelszó védett az ($OVS_SSH_KEY) kulcsod, akkor azt most add meg: "
 +     ssh-add $OVS_SSH_KEY
 + fi
 +fi
 +set +x
 +komment
  
 CURR_DIR=$(pwd) CURR_DIR=$(pwd)
Sor 82: Sor 103:
 fi fi
 SCRIPT_VER=$(grep -oP '(?<=# OVM CPU PIN MAP )[^)]*$' $CURR_DIR/$0) SCRIPT_VER=$(grep -oP '(?<=# OVM CPU PIN MAP )[^)]*$' $CURR_DIR/$0)
 + 
 function pin_map { function pin_map {
 printf "Melyik OVS(ek) pin terkepet mutassam (szokozokkel elvalasztva)? " printf "Melyik OVS(ek) pin terkepet mutassam (szokozokkel elvalasztva)? "
-read -e -i "${SERVERS## }" SOME_SERVERS +read -e SOME_SERVERS 
-for OVS in $SOME_SERVERS; do+for OVS in ${SOME_SERVERS:=$SERVERS}; do
     [[ $($SSHC show server name="$OVS" | grep -c 'Status: Success') -eq 0 ]] && continue;     [[ $($SSHC show server name="$OVS" | grep -c 'Status: Success') -eq 0 ]] && continue;
     unset CPU_PIN_SUM     unset CPU_PIN_SUM
Sor 97: Sor 118:
         continue         continue
     fi     fi
 + 
     # CPU PIN MAP     # CPU PIN MAP
 + # VCPU sorszámok
     for CPU in $(seq 0 $(($CPU_NUM-1))); do     for CPU in $(seq 0 $(($CPU_NUM-1))); do
-        printf "|${yel}%02d${end}" $CPU+    [[ $(($CPU % ${CORES_PER_SOCKETS[$OVS]})) -eq 0 ]] && separator="$(env printf '\u2551')" || separator="$(env printf '\u2503')" 
 +        printf "${separator}${yel}%02d${end}" $CPU
     done     done
-    echo "vCPU" +    echo "$(env printf '\u2551'vCPU" 
-    for I in $(seq 0 $(($MAX_CPU_NUM-1))); do printf "+--"done + # Elválasztó vonal 
-    echo "++    for I in $(seq 0 $(($MAX_CPU_NUM-1))); do 
-        while read VM; do+        [[ $(($I % ${CORES_PER_SOCKETS[$OVS]})) -eq 0 ]] && printf "$(env printf '\u256b')--" ||printf "$(env printf '\u2542')--" 
 +    done 
 +    echo "$(env printf '\u256b')
 + while read VM; do
         VM_NAME=$(echo $VM | grep -oP '(?<=\[).*(?=\])')         VM_NAME=$(echo $VM | grep -oP '(?<=\[).*(?=\])')
         VM_ID=$(echo $VM | awk '{print $5}')         VM_ID=$(echo $VM | awk '{print $5}')
Sor 119: Sor 145:
             PINS=$(echo $PINS | sed 's/,/ /g')             PINS=$(echo $PINS | sed 's/,/ /g')
         fi         fi
 +
         for CPU in $(seq 0 $(($CPU_NUM-1))); do         for CPU in $(seq 0 $(($CPU_NUM-1))); do
 +     [[ $(($CPU % ${CORES_PER_SOCKETS[$OVS]})) -eq 0 ]] && separator=$(env printf '\u2551') || separator=$(env printf '\u2503')
             if [[ $(echo $PINS | grep -Pc "\b$CPU\b") -eq 1 ]]; then             if [[ $(echo $PINS | grep -Pc "\b$CPU\b") -eq 1 ]]; then
-                printf "|${whi}##${end}"+                printf "${separator}${whi}##${end}"
                 CPU_PIN_SUM[$CPU]=$((${CPU_PIN_SUM[$CPU]}+1))                 CPU_PIN_SUM[$CPU]=$((${CPU_PIN_SUM[$CPU]}+1))
             else             else
-                printf " "+                printf "${separator}${end}  "
             fi             fi
         done         done
 +
         if [[ -z $PINS ]]; then         if [[ -z $PINS ]]; then
-                echo -e "${red}$VM_NAME [${PINS:-Nincs pinelve}]${end}"+                echo -e "$(env printf '\u2551'${red}$VM_NAME [${PINS:-Nincs pinelve}]${end}"
         else         else
-                echo -e "${whi}$VM_NAME [${PINS:-Nincs pinelve}]${end}"+                echo -e "$(env printf '\u2551'${whi}$VM_NAME [${PINS:-Nincs pinelve}]${end}"
         fi         fi
-        done <<< "`$SSHC "show server name=$OVS" | grep '^.*Vm .*\[.*\]' | sort`"+ done <<< "`$SSHC "show server name=$OVS" | grep '^.*Vm .*\[.*\]' | sort`"
     # CPU pin szumma / cpu     # CPU pin szumma / cpu
-    for I in $(seq 0 $(($MAX_CPU_NUM-1))); do printf "+--"done +    for I in $(seq 0 $(($MAX_CPU_NUM-1))); do 
-    echo "+"+  [[ $(($I % ${CORES_PER_SOCKETS[$OVS]})) -eq 0 ]] && printf "$(env printf '\u256b')--" ||printf "$(env printf '\u2542')--" 
 + done 
 +    echo "$(env printf '\u256b')"
     for CPU in $(seq 0 $(($CPU_NUM-1))); do     for CPU in $(seq 0 $(($CPU_NUM-1))); do
 +  [[ $(($CPU % ${CORES_PER_SOCKETS[$OVS]})) -eq 0 ]] && separator="$(env printf '\u2551')" || separator="$(env printf '\u2503')"
         if [[ ${CPU_PIN_SUM[$CPU]} -ge $CPU_SUM_CRIT ]]; then         if [[ ${CPU_PIN_SUM[$CPU]} -ge $CPU_SUM_CRIT ]]; then
-            printf "|${red}%02d${end}" ${CPU_PIN_SUM[$CPU]}+            printf "${separator}${red}%02d${end}" ${CPU_PIN_SUM[$CPU]}
         elif [[ ${CPU_PIN_SUM[$CPU]} -ge $CPU_SUM_WARN ]]; then         elif [[ ${CPU_PIN_SUM[$CPU]} -ge $CPU_SUM_WARN ]]; then
-            printf "|${yel}%02d${end}" ${CPU_PIN_SUM[$CPU]}+            printf "${separator}${yel}%02d${end}" ${CPU_PIN_SUM[$CPU]}
         elif [[ ${CPU_PIN_SUM[$CPU]} -gt 0 ]]; then         elif [[ ${CPU_PIN_SUM[$CPU]} -gt 0 ]]; then
-            printf "|${grn}%02d${end}" ${CPU_PIN_SUM[$CPU]}+            printf "${separator}${grn}%02d${end}" ${CPU_PIN_SUM[$CPU]}
         else         else
-            printf " "+            printf "${separator}${end}  "
         fi         fi
     done     done
-    echo "Pins / vCPU"+    echo "$(env printf '\u2551'Pins / vCPU"
 done done
 echo echo
 } }
 + 
 function vm_pin { function vm_pin {
     printf "Mi a VM neve, amit pinelni szeretnel? "     printf "Mi a VM neve, amit pinelni szeretnel? "
Sor 172: Sor 204:
     fi     fi
 } }
 +
 +function vm_pin_query {
 +    printf "Mi a VM neve? "
 +    read INPUT_VM
 +    [[ $INPUT_VM == "" ]] && continue;
 +    if [[ $($SSHC show vm name="$INPUT_VM" | grep -c 'Status: Success') -eq 0 ]]; then
 +        echo "Nincs ilyen VM nalam."
 +        echo "Nyomj ENTER-t a visszatereshez."; read
 +        continue;
 +    fi
 +    $OVMC -u admin -p $OVM_ADMIN_PASSWD -h localhost -v "$INPUT_VM" -c getvcpu
 +
  
 function backup { function backup {
     printf "Melyik OVS pin-jeit mentsuk (${SERVERS## })? "     printf "Melyik OVS pin-jeit mentsuk (${SERVERS## })? "
-    read OVS+    read OVSEK 
 +  for OVS in $OVSEK; do
     [[ $OVS == "" ]] && continue;     [[ $OVS == "" ]] && continue;
     if [[ $($SSHC show server name="$OVS" | grep -c 'Status: Success') -eq 0 ]]; then     if [[ $($SSHC show server name="$OVS" | grep -c 'Status: Success') -eq 0 ]]; then
-        echo "Nincs ilyen OVS nalam." +        echo "$OVS: nincs ilyen OVS nalam."
-        echo "Nyomj ENTER-t a visszatereshez."; read+
         continue;         continue;
     fi     fi
Sor 210: Sor 254:
         echo "$OVS;$VM_NAME;$PINS" |tee -a $FILENAME         echo "$OVS;$VM_NAME;$PINS" |tee -a $FILENAME
     done <<< "`$SSHC "show server name=$OVS" | grep '^.*Vm .*\[.*\]' | sort`"     done <<< "`$SSHC "show server name=$OVS" | grep '^.*Vm .*\[.*\]' | sort`"
 +  done
 } }
- +  
 + 
 function restore { function restore {
     echo -e "A script konyvtaraban ($CURR_DIR/\*.bkp) az alabbi mentesek talalhatok:${grn}"     echo -e "A script konyvtaraban ($CURR_DIR/\*.bkp) az alabbi mentesek talalhatok:${grn}"
Sor 257: Sor 302:
 while [[ $FUNKCIO =~ [^qQ] ]]; do ############ while [[ $FUNKCIO =~ [^qQ] ]]; do ############
 FUNKCIO="-" FUNKCIO="-"
 + 
 clear clear
 TERMINAL_COLS=$(/usr/bin/tput cols) TERMINAL_COLS=$(/usr/bin/tput cols)
Sor 265: Sor 310:
 MAX_CPU_NUM=0 MAX_CPU_NUM=0
 SERVERS="" SERVERS=""
 +declare -A CORES_PER_SOCKETS
 while read SERVER; do while read SERVER; do
     SERVERS="${SERVERS# } ${SERVER##*:}"     SERVERS="${SERVERS# } ${SERVER##*:}"
Sor 270: Sor 316:
     if [[ $MAX_CPU_NUM -lt $CPU_NUM ]]; then MAX_CPU_NUM=$CPU_NUM; fi     if [[ $MAX_CPU_NUM -lt $CPU_NUM ]]; then MAX_CPU_NUM=$CPU_NUM; fi
     VM_NUM=$($SSHC show server name="${SERVER##*:}" | grep -c '^.*Vm .*\[.*\]')     VM_NUM=$($SSHC show server name="${SERVER##*:}" | grep -c '^.*Vm .*\[.*\]')
 +    CORES_PER_SOCKETS[${SERVER##*:}]=$($SSHC show server name="${SERVER##*:}" | awk -F'=' '/Cores per Processor Socket/{print $2}' | sed 's/ //g')
     echo -e "${whi}${SERVER##*:}${end} ${whi}$CPU_NUM${end} ${whi}$VM_NUM${end}" | awk '{printf "%-30s:     %5s vcpu, %5s VM\n",$1,$2,$3}'     echo -e "${whi}${SERVER##*:}${end} ${whi}$CPU_NUM${end} ${whi}$VM_NUM${end}" | awk '{printf "%-30s:     %5s vcpu, %5s VM\n",$1,$2,$3}'
 done <<< "`$SSHC "list server" | grep 'id:' | sort`" done <<< "`$SSHC "list server" | grep 'id:' | sort`"
 +
 echo echo
 echo -e "${yel}Valassz funkciot:${end}" echo -e "${yel}Valassz funkciot:${end}"
 echo -e "[${whi}t${end}] vCPU pin terkep lekerdezese" echo -e "[${whi}t${end}] vCPU pin terkep lekerdezese"
 +echo -e "[${whi}l${end}] VM pinelesenek lekerdezese"
 echo -e "[${whi}p${end}] VM pinelesenek modositasa" echo -e "[${whi}p${end}] VM pinelesenek modositasa"
 echo -e "[${whi}m${end}] Pin terkep mentese fajlba" echo -e "[${whi}m${end}] Pin terkep mentese fajlba"
Sor 281: Sor 330:
 FUNKCIO="" FUNKCIO=""
 printf ": "; read FUNKCIO printf ": "; read FUNKCIO
-while [[ $FUNKCIO =~ [^tTpPmMvVqQ] ]]; do read FUNKCIO; done+while [[ $FUNKCIO =~ [^tTlLpPmMvVqQ] ]]; do read FUNKCIO; done
 case $FUNKCIO in case $FUNKCIO in
     [tT] )     [tT] )
         pin_map         pin_map
 +        echo "Nyomj ENTER-t a visszatereshez."; read
 +        ;;
 +    [lL] )
 +        vm_pin_query
         echo "Nyomj ENTER-t a visszatereshez."; read         echo "Nyomj ENTER-t a visszatereshez."; read
         ;;         ;;