interaccion de vmplayer con SO virtuales

WebMaster Revista Informatica webmaster en informatica.cl
Mar Sep 5 13:27:02 CLT 2006


Saludos Victor !!

Utilizando vmware-cmd puedes "comandar" la maquina guest.  (Prender, 
apagar, suspender, desconectar dispositivos, etc...). Es bastante util .....

VM Operations:
    /usr/bin/vmware-cmd <cfg> getconnectedusers
    /usr/bin/vmware-cmd <cfg> getstate
    /usr/bin/vmware-cmd <cfg> start <powerop_mode>
    /usr/bin/vmware-cmd <cfg> stop <powerop_mode>
    /usr/bin/vmware-cmd <cfg> reset <powerop_mode>
    /usr/bin/vmware-cmd <cfg> suspend <powerop_mode>
    /usr/bin/vmware-cmd <cfg> setconfig <variable> <value>
    /usr/bin/vmware-cmd <cfg> getconfig <variable>
    /usr/bin/vmware-cmd <cfg> setguestinfo <variable> <value>
    /usr/bin/vmware-cmd <cfg> getguestinfo <variable>
    /usr/bin/vmware-cmd <cfg> getid
    /usr/bin/vmware-cmd <cfg> getpid
    /usr/bin/vmware-cmd <cfg> getproductinfo <prodinfo>
    /usr/bin/vmware-cmd <cfg> connectdevice <device_name>
    /usr/bin/vmware-cmd <cfg> disconnectdevice <device_name>
    /usr/bin/vmware-cmd <cfg> getconfigfile
    /usr/bin/vmware-cmd <cfg> getheartbeat
    /usr/bin/vmware-cmd <cfg> getuptime
    /usr/bin/vmware-cmd <cfg> getremoteconnections
    /usr/bin/vmware-cmd <cfg> gettoolslastactive
    /usr/bin/vmware-cmd <cfg> getresource <variable>
    /usr/bin/vmware-cmd <cfg> setresource <variable> <value>
    /usr/bin/vmware-cmd <cfg> setrunasuser <username> <password>
    /usr/bin/vmware-cmd <cfg> getrunasuser
    /usr/bin/vmware-cmd <cfg> getcapabilities
    /usr/bin/vmware-cmd <cfg> addredo <disk_device_name>
    /usr/bin/vmware-cmd <cfg> commit <disk_device_name> <level> <freeze> 
<wait>
    /usr/bin/vmware-cmd <cfg> answe


Te adjunto un trozo de ejemplo en perl para suspender y sacar respaldos 
a las maquinas virtuales.
Podrias hacer lo mismo, para es start ....

========================================================
@virtualmachines=`vmware-cmd -l`;

foreach $f (@virtualmachines) {
        chomp $f;

        print LOG "================= ".localtime()." ============\n";
        print LOG "1. Suspendiendo la maquina virtual....\n";
        print LOG "config file es: $f\n\n";

        print LOG "/usr/bin/vmware-cmd \"$f\" suspend 2>&1\n";
        print LOG `/usr/bin/vmware-cmd "$f" suspend 2>&1`;
}

foreach $f (@virtualmachines) {
        chomp $f;
        if ($f =~/\/([^\/]+)\/[^\/]+$/) {
                $vm = $1;
        } else {
                next;
        }

        print LOG "================= ".localtime()." ============\n";
        print LOG "2. Iniciando respaldo....\n";
        print LOG "du -sh \"$vm\" 2>&1\n";
        print LOG `du -sh "$vm" 2>&1\n`;
        print LOG "tar cvf \"$BACKUPDIR/respaldo-$vm.tar\" \"$vm\" 2>&1\n";
        print LOG `tar cvf "$BACKUPDIR/respaldo-$vm.tar" "$vm" 2>&1`;
}
=====================================================

Victor Hugo dos Santos wrote:
> Hola a todos.
>
> Estoy utilizando vmplayer y quiero crear un script que inicialice 3
> maquinas virtuales que tengo configuradas actualmente al encender la
> computadora.
>
> mmm.. infelizmente no eh encontrado ninguno ejemplo listo y ahora me
> pongo a crear mi propio script (basado en debian/ubuntu) !!!
>
> mmm.. hasta el momento, va funcionando "case" todo bien.. excepto que
> aun no se como indicar a una de las maquinas virtuales (Windows 2003)
> que se apague !!! :(
>
> en una maquina virtual (linux) creé llaves ssh y ordeno que se apague
> atraves de un comando remoto por ssh y no ha presentado ninguno
> problema !!! pero para el ejemplo anterior (Windows 2003) aun no eh
> llegado a ninguna idea/solución.
>
> alguien ya paso por este problema y/o tiene alguna sugerencia de como
> solucionarlo  ???
>
> mm.. espero que hay sido claro.
>
> salu2


Más información sobre la lista de distribución Linux