To this end, I've configured each so that they have consistent paths for the VDI files and the machine directories. I've also set a symbolic link from the $HOME/.VirtualBox directory to this shared location.
So on host 01, /u01/VirtualBox/{VDIs,Machine,.VirtualBox} is local, on host 02 /u01 is NFS mounted from host 01, same for host 03.
Further, on host02 /u02/VirtualBox/{VDIs,Machine}, however, the single .VirtualBox directory is only on /u01/VirtualBox/.VirtualBox
I have exchanged ssh key such that any command line can be targeted to any machine for execution from any other machine.
host01# ssh host02 "VBoxHeadLess --startvm 'vm-name-01'" entered on host01 would send that command off to host02 and start the VM on host02. Since all the VMs are running headless, I access them using RDP.
I understand that running a VM on one PC when it's VDI file is on another across an NFS mount does slow the VM down a bit, but the only really noticeable slow down is when the VM is performing an IO intensive workload, but other than that, it's not too bad.
Are there any pointers hints for possible problems that I might run into?
How does one coordinate access to a central location for all the VM information for the entire network to be shared by one or more additional 'compute nodes' for running the VMs?
Is any opensource software around which achieves load distribution (VM process creation on an unloaded target compute node) or perhaps VM process migration from one compute node to another as the work load on the various compute nodes change?