Voici un petit script tout bête pour modifier les allocations mémoire et cpu des machines virtuels Xen. Ce script répond au besoin simple d’avoir de la puissance à disposition ponctuellement pour une machine en particulier. Pour ceci il faut nécessairement augmenter le volume mémoire et le nombre de vcpu pour la machine virtuel concernée, or pour ceci diminuer pour toute les autres machines est parfois nécessaire afin de dégager des ressources. Dans un premier temps on diminue les ressources de toutes les machines avant d’augmenter de la puissance rendu disponible uniquement celle en ayant ponctuellement besoin. Le retour à une puissance égale ce faisant avec ce même script.
#!/bin/bash # if test -z "$1"; then syntax=fausse; fi if test -z "$2"; then syntax=fausse; fi if [ "$syntax" != "fausse" ] then for I in `xm list | awk '{print $2}' | grep [1-9]`; do xm vcpu-set $I $1; sleep 2; xm mem-set $I $2; sleep 2; echo "VM $I set with $1 vcpu and $2 Ram"; done else echo "Syntax: $0 \"Nombre de vcspu\" \"Volume de la Ram en Mo\"" echo "Exemple: $0 1 512" fi
La temporisation par la commande sleep 2 est nécessaire par éviter d’affoler le backend xen
