Vmware Scripting
venerdì 23 novembre, 2007Autore: 360 Consulting
360 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
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.
Introduzione
Ho installato vmware server ad un cliente con connettività lentissima, per cui era impossibile aggiungere e togliere macchine virtuali dalla GUI di Vmware, per questo ho creato una macchina master e poi ho creato questi script per la creazione / modifica / cancellazione / consultazione dello stato delle macchine.
Creazione di una macchina virtuale (script add_vm)
Questo script permette la clonazione della macchina master (il path della macchina master DEVE essere: /var/lib/vmware/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 script non funziona.
#!/bin/bash # Questo script crea una macchina virtuale 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/vmware/Virtual Machines/master/ /var/lib/vmware/Virtual Machines/$1; cd /var/lib/vmware/Virtual Machines/$1; /usr/bin/vmware-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/vmware-cmd -s register /var/lib/vmware/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 script start_vm"; /usr/bin/vmware-cmd /var/lib/vmware/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 macchina virtuale (script rm_vm)
Questo script cancella la macchina virtuale da vmware server (unregister) ma non dal disco.
#!/bin/bash # Script per cancellare una vm # if [ $# = 0 ]; then echo "usage : $0 <nome_vm>"; exit 1; fi # /usr/bin/vmware-cmd -s unregister /var/lib/vmware/Virtual Machines/$1/Other Linux 2.6.x kernel.vmx; echo -e "Cancellare manualmente la dir /var/lib/vmware/Virtual Machines/$1";
Visualizzazione stato di una macchina (script state_vm)
Questo script visualizza lo stato (on / off) di una macchina virtuale
#!/bin/bash
#
#if [ $# = 0 ]; then
echo "usage : $0 <nome_vm>";
exit 1;
fi
#
#/usr/bin/vmware-cmd /var/lib/vmware/Virtual Machines/$1/Other Linux 2.6.x kernel.vmx getstate;
Visualizzazione dello stato di tutte le macchine virtuali esclusa la master (script view_vm)
L’output di questo script è il seguente: numero_macchina – nome_macchina – on/off – memoria_ram_massima
#!/bin/bash # /usr/bin/vmware-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/vmware-cmd /var/lib/vmware/Virtual Machines/$i/Other Linux 2.6.x kernel.vmx getstate | awk {'print $3'}); ram=$(vmware-cmd /var/lib/vmware/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 macchina virtuale da linea di comando
#!/bin/bash
#
#if [ $# = 0 ]; then
echo "usage : $0 <nome_vm>"
exit 1;
#fi
/usr/bin/vmware-cmd /var/lib/vmware/Virtual Machines/$1/Other Linux 2.6.x kernel.vmx start;
Arresto di una macchina virtuale da linea di comando (richiede vmware tools installati)
#!/bin/bash
#
#if [ $# = 0 ]; then
echo "usage : $0 <nome_vm>"
exit 1;
#fi
/usr/bin/vmware-cmd /var/lib/vmware/Virtual Machines/$1/Other Linux 2.6.x kernel.vmx stop;
Invio di un comando custom ad una macchina virtuale da linea di comando (specificando solo il nome e non il path di configurazione)
#!/bin/bash # /usr/bin/vmware-cmd /var/lib/vmware/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.
- VMware Go™, virtualizzazione semplice e immediata anche per le PMI
- Arriva VMware Fusion 3.1 con venti nuove funzioni e grafica 3D fino a cinque volte più rapida
- VMware e Cisco partecipano al Forum PA insieme a EMC
- Arriva VMware Workstation 7.1: più capacità grafiche, più potenza e migliore integrazione con Windows 7
- Procedura per collegarsi alle macchine virtuali con VNC in un contesto VMware ESXi 4.1
























