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.
Előző változat mindkét oldalonElőző változatKövetkező változat | Előző változatKövetkező változatKövetkező változat mindkét oldalon | ||
shell:oravm:ovm_cpu_pin_map [2020/05/06 15:38] – admin | shell:oravm:ovm_cpu_pin_map [2021/02/17 11:01] – 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="/ | + | OVMC="/ |
+ | OVS_SSH_KEY=" | ||
SSHC=" | SSHC=" | ||
if [[ -z " | if [[ -z " | ||
- | | + | read -s -p "Add meg az oracle VM Manager admin jelszavat: " OVM_ADMIN_PASSWD |
fi | fi | ||
Sor 74: | Sor 75: | ||
fi | fi | ||
fi | fi | ||
+ | |||
+ | << ' | ||
+ | echo Kulcs ellenorzese az OVS-ekhez... | ||
+ | if [[ -z $SSH_AUTH_SOCK ]]; then | ||
+ | printf " | ||
+ | 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>& | ||
+ | killall ssh-agent | ||
+ | eval `ssh-agent -s` | ||
+ | fi | ||
+ | if [[ $(ssh-add -l | grep -c " | ||
+ | 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 ' | SCRIPT_VER=$(grep -oP ' | ||
+ | |||
function pin_map { | function pin_map { | ||
printf " | printf " | ||
- | read -e -i " | + | read -e SOME_SERVERS |
- | for OVS in $SOME_SERVERS; | + | for OVS in ${SOME_SERVERS:=$SERVERS}; do |
[[ $($SSHC show server name=" | [[ $($SSHC show server name=" | ||
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))); | for CPU in $(seq 0 $(($CPU_NUM-1))); | ||
- | | + | [[ $(($CPU % ${CORES_PER_SOCKETS[$OVS]})) -eq 0 ]] && separator=" |
+ | printf " | ||
done | done | ||
- | echo "| vCPU" | + | echo "$(env printf ' |
- | for I in $(seq 0 $(($MAX_CPU_NUM-1))); | + | # Elválasztó vonal |
- | echo "+" | + | for I in $(seq 0 $(($MAX_CPU_NUM-1))); |
- | while read VM; do | + | [[ $(($I % ${CORES_PER_SOCKETS[$OVS]})) -eq 0 ]] && |
+ | | ||
+ | echo "$(env printf ' | ||
+ | while read VM; do | ||
VM_NAME=$(echo $VM | grep -oP ' | VM_NAME=$(echo $VM | grep -oP ' | ||
VM_ID=$(echo $VM | awk ' | VM_ID=$(echo $VM | awk ' | ||
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))); | for CPU in $(seq 0 $(($CPU_NUM-1))); | ||
+ | [[ $(($CPU % ${CORES_PER_SOCKETS[$OVS]})) -eq 0 ]] && separator=$(env printf ' | ||
if [[ $(echo $PINS | grep -Pc " | if [[ $(echo $PINS | grep -Pc " | ||
- | printf "|${whi}## | + | printf "${separator}${whi}## |
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: | + | echo -e "$(env printf ' |
else | else | ||
- | echo -e "| ${whi}$VM_NAME [${PINS: | + | echo -e "$(env printf ' |
fi | fi | ||
- | | + | done <<< |
# CPU pin szumma / cpu | # CPU pin szumma / cpu | ||
- | for I in $(seq 0 $(($MAX_CPU_NUM-1))); | + | for I in $(seq 0 $(($MAX_CPU_NUM-1))); |
- | echo "+" | + | [[ $(($I % ${CORES_PER_SOCKETS[$OVS]})) -eq 0 ]] && |
+ | done | ||
+ | echo "$(env printf ' | ||
for CPU in $(seq 0 $(($CPU_NUM-1))); | for CPU in $(seq 0 $(($CPU_NUM-1))); | ||
+ | [[ $(($CPU % ${CORES_PER_SOCKETS[$OVS]})) -eq 0 ]] && separator=" | ||
if [[ ${CPU_PIN_SUM[$CPU]} -ge $CPU_SUM_CRIT ]]; then | if [[ ${CPU_PIN_SUM[$CPU]} -ge $CPU_SUM_CRIT ]]; then | ||
- | printf "|${red}%02d${end}" | + | printf "${separator}${red}%02d${end}" |
elif [[ ${CPU_PIN_SUM[$CPU]} -ge $CPU_SUM_WARN ]]; then | elif [[ ${CPU_PIN_SUM[$CPU]} -ge $CPU_SUM_WARN ]]; then | ||
- | printf "|${yel}%02d${end}" | + | printf "${separator}${yel}%02d${end}" |
elif [[ ${CPU_PIN_SUM[$CPU]} -gt 0 ]]; then | elif [[ ${CPU_PIN_SUM[$CPU]} -gt 0 ]]; then | ||
- | printf "|${grn}%02d${end}" | + | printf "${separator}${grn}%02d${end}" |
else | else | ||
- | printf "| " | + | printf "${separator}${end} |
fi | fi | ||
done | done | ||
- | echo "| Pins / vCPU" | + | echo "$(env printf ' |
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 == "" | ||
+ | if [[ $($SSHC show vm name=" | ||
+ | echo "Nincs ilyen VM nalam." | ||
+ | echo "Nyomj ENTER-t a visszatereshez."; | ||
+ | continue; | ||
+ | fi | ||
+ | $OVMC -u admin -p $OVM_ADMIN_PASSWD -h localhost -v " | ||
+ | } | ||
function backup { | function backup { | ||
printf " | printf " | ||
- | read OVS | + | read OVSEK |
+ | for OVS in $OVSEK; do | ||
[[ $OVS == "" | [[ $OVS == "" | ||
if [[ $($SSHC show server name=" | if [[ $($SSHC show server name=" | ||
- | echo "Nincs ilyen OVS nalam." | + | echo "$OVS: nincs ilyen OVS nalam." |
- | echo "Nyomj ENTER-t a visszatereshez."; | + | |
continue; | continue; | ||
fi | fi | ||
Sor 210: | Sor 254: | ||
echo " | echo " | ||
done <<< | done <<< | ||
+ | done | ||
} | } | ||
- | + | ||
+ | |||
function restore { | function restore { | ||
echo -e "A script konyvtaraban ($CURR_DIR/ | echo -e "A script konyvtaraban ($CURR_DIR/ | ||
Sor 257: | Sor 302: | ||
while [[ $FUNKCIO =~ [^qQ] ]]; do ############ | while [[ $FUNKCIO =~ [^qQ] ]]; do ############ | ||
FUNKCIO=" | FUNKCIO=" | ||
+ | |||
clear | clear | ||
TERMINAL_COLS=$(/ | TERMINAL_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=" |
- | CPU_NUM=$($SSHC show server name=" | + | CPU_NUM=$($SSHC show server name=" |
if [[ $MAX_CPU_NUM -lt $CPU_NUM ]]; then MAX_CPU_NUM=$CPU_NUM; | if [[ $MAX_CPU_NUM -lt $CPU_NUM ]]; then MAX_CPU_NUM=$CPU_NUM; | ||
- | VM_NUM=$($SSHC show server name=" | + | VM_NUM=$($SSHC show server name=" |
- | echo -e " | + | CORES_PER_SOCKETS[${SERVER}]=$($SSHC show server name=" |
- | done <<< | + | echo -e " |
+ | done <<< | ||
+ | |||
echo | echo | ||
echo -e " | echo -e " | ||
echo -e " | echo -e " | ||
+ | echo -e " | ||
echo -e " | echo -e " | ||
echo -e " | echo -e " | ||
Sor 281: | Sor 331: | ||
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."; | ||
+ | ;; | ||
+ | [lL] ) | ||
+ | vm_pin_query | ||
echo "Nyomj ENTER-t a visszatereshez."; | echo "Nyomj ENTER-t a visszatereshez."; | ||
;; | ;; |