Vmware Scripting

venerdì 23 novembre, 2007
Autore: 360 Consulting
urllogo360 Consulting nasce nel 2006 come azienda specializzata nel mondo ICT dall'esperienza pluriennale del suo fondatore, Matteo Ferraroni, maturata dopo anni di collaborazione con aziende del settore. Il suo core business è rappresentato dalle consulenze e progettazioni di reti wireless e cablate, e dall'offerta di connessione ad Internet. All'interno dell'azienda si muovono studi legali, sviluppatori software, sistemisti, esperti in marketing e comunicazione, assemblatori hardware, project manager, esperti in sicurezza informatica, grafici e stampatori ed il risultato del loro sforzo comune è la soddisfazione del cliente: il nostro obbiettivo principale! I nostri punti di forza sono: - Flessibilità e molteplicità di incarichi che portiamo a termine con garanzia di professionalità - Assistenza tecnica e commerciale pre e post vendita gestita da persone cortesi e competenti anche in caso di reclami
Inserito in: Docs, GNU/Linux, Italiano

Questo è un articolo inserito da una azienda. AreaNetworking, infatti, permette anche ad esse di essere protagoniste, fornendo loro visibilità nel momento in cui pubblicano contenuti. Leggi QUI per ulteriori informazioni.

| 0 commenti

Introduzione

Ho installato server ad un cliente con connettività lentissima, per cui era impossibile aggiungere e togliere macchine virtuali dalla GUI di , per questo ho creato una macchina master e poi ho creato questi per la creazione / modifica / cancellazione / consultazione dello stato delle macchine.

Creazione di una ( add_vm)

Questo permette la clonazione della macchina master (il path della macchina master DEVE essere: /var/lib//Virtual Machines/master) rinominandola a nostra scelta e permette la scelta della quantità di ram da associare alla macchina. ATTENZIONE: La macchina master deve essere stata creata con:

  • Nome file di configurazione: Other Linux Kernel 2.6
  • Nome file degli hard disk: master

altrimenti lo non funziona.

#!/bin/bash
# Questo  crea una  e la manda in esecuizione
#
if [ $# = 0 ]; then
       echo "usage : $0 <nome_vm> <ram_vm>";
       exit 1;
fi
if [ $# = 1 ]; then
       echo "usage : $0 <nome_vm> <ram_vm>";
       exit 2;
fi
echo -e "Sto clonando la macchina master. Attendere prego";
cp -ax /var/lib//Virtual Machines/master/ /var/lib//Virtual Machines/$1;
cd /var/lib//Virtual Machines/$1;
/usr/bin/-vdiskmanager -n master.vmdk $1.vmdk;
sed -i "s/master.vmdk/${1}.vmdk/g" Other Linux 2.6.x kernel.vmx;
sed -i "s/master/${1}/g" Other Linux 2.6.x kernel.vmx;
sed -i "s/memsize = "256"/memsize = "${2}"/" Other Linux 2.6.x kernel.vmx;
sed -i "/uuid/d"  Other Linux 2.6.x kernel.vmx;
/usr/bin/-cmd -s register /var/lib//Virtual Machines/$1/Other Linux 2.6.x kernel.vmx;
echo -e "La virtual machine e' registrata.";
echo -e "Starting virtual machine Per gli avvii successivi usare l'interfaccia web o lo  start_vm";
/usr/bin/-cmd /var/lib//Virtual Machines/$1/Other Linux 2.6.x kernel.vmx start;
echo -e "Attendere il completo avvio - circa 20 secondi - prima di provare l'accesso";

Cancellazione di una ( rm_vm)

Questo cancella la da server (unregister) ma non dal disco.

#!/bin/bash
#  per cancellare una vm
#
if [ $# = 0 ]; then
       echo "usage : $0 <nome_vm>";
               exit 1;
       fi
#
/usr/bin/-cmd -s unregister /var/lib//Virtual Machines/$1/Other Linux 2.6.x kernel.vmx;
echo -e "Cancellare manualmente la dir /var/lib//Virtual Machines/$1";

Visualizzazione stato di una macchina ( state_vm)

Questo visualizza lo stato (on / off) di una

#!/bin/bash
#
#if [ $# = 0 ]; then
        echo "usage : $0 <nome_vm>";
        exit 1;
        fi
#
#/usr/bin/-cmd /var/lib//Virtual Machines/$1/Other Linux 2.6.x kernel.vmx getstate;

Visualizzazione dello stato di tutte le macchine virtuali esclusa la master ( view_vm)

L’output di questo è il seguente: numero_macchina – nome_macchina – on/off – memoria_ram_massima

#!/bin/bash
#
/usr/bin/-cmd -l | awk -F '/' {'print $6'} | grep -v master > /tmp/view;
echo -e "*** Sono presenti $(cat /tmp/view$numero | wc -l) Macchine virtuali ***";
num=1;
for i in $(cat /tmp/view);
do
        state=$(/usr/bin/-cmd /var/lib//Virtual Machines/$i/Other Linux 2.6.x kernel.vmx getstate | awk {'print $3'});
       ram=$(-cmd /var/lib//Virtual Machines/$i/Other Linux 2.6.x kernel.vmx getconfig memsize | awk {'print $3'});
       echo -e "$num - $i - $state - $ram MB";
       ((num++));
done;
rm /tmp/view;

Avvio di una da linea di comando

#!/bin/bash
#
#if [ $# = 0 ]; then
       echo "usage : $0 <nome_vm>"
       exit 1;
#fi
/usr/bin/-cmd /var/lib//Virtual Machines/$1/Other Linux 2.6.x kernel.vmx start;

Arresto di una da linea di comando (richiede tools installati)

#!/bin/bash
#
#if [ $# = 0 ]; then
       echo "usage : $0 <nome_vm>"
       exit 1;
#fi
/usr/bin/-cmd /var/lib//Virtual Machines/$1/Other Linux 2.6.x kernel.vmx stop;

Invio di un comando custom ad una da linea di comando (specificando solo il nome e non il path di configurazione)

#!/bin/bash
#
/usr/bin/-cmd /var/lib//Virtual Machines/$1/Other Linux 2.6.x kernel.vmx $2;

Footer

Per ogni inesattezza, modifica, commento o insulto, vi prego di contattarmi via mail a info@3centosessanta.it.

Condividi/segnala rapidamente:
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google Bookmarks
  • LinkedIn
  • Slashdot
  • YahooMyWeb
  • Live
  • Socialogs
  • SphereIt
  • Wists
  • FriendFeed
  • Twitter

Lascia un Commento

Occorre aver fatto il login per inviare un commento