I've been a great fan of VMWare for quite some time now. But recently, I've discovered a very elegant solution to a recurring problem I've been having with VMWare Server.
Every once in a while, a bunch of virtual machines would just hang there, as if suspended. A quick at the vmware.log would tell me that VMWare detected a disk space shortage in /tmp and wants to know if it should abort or retry?
Aug 27 22:27:44: vmx| Question without a remote UI: Aug 27 22:27:44: vmx| Temporary files for this virtual machine are stored in directory "/tmp/vmware-root", which is on an almost full filesystem. Please free some disk space. Aug 27 22:27:44: vmx| Would you like to continue? Aug 27 22:27:44: vmx| Select Retry to continue, Abort to terminate the session.
First thing I do is to resolve the disk space shortage problem, assuming it's still a problem at all. Ping the various VMs, still not responding...
Then, the only thing I could do was to fire up the VMWare console GUI. Ever so annoying when I am using my MacBook and I must run it over ssh from another linux box. I then must loop over every VM, select it, wait for the popup to tell me about this problem, then click retry. Annoying, but since it only happened 2 or 3 times so far, nothing too annoying.
But last time this happened, I discovered a much nicer solution. vmware-cmd (the command-line tool) lets you take care of this very nicely.
$> for v in `vmware-cmd -l` ; do echo $v; vmware-cmd $v answer; done /vmware/vmx1/vmx1.vmx Question (id = 821942387) :Temporary files for this virtual machine are stored in directory "/tmp/vmware-root", which is on an almost full filesystem. Please free some disk space. Would you like to continue? Select Retry to continue, Abort to terminate the session. 0) Retry 1) Abort Select choice. Press enter for default <0> :
Simple or what ?