Question about conneting client to virtual machine.
I use VBox 4.1.8, and create different virtual machines on my computer. Different virtual machines are installed with different operating system, hence unique environments with operating system and applications for each client. This could be thought as many physical machines stored in a big warehouse.
According to my knowledge and experiment result from VMware and VirtualBox, the client connects to its remote virtual machine through VNC (typically for VMware client) or RDP (typically for VirtualBox client). The guest virtual machine must already be running before you can connect to it with a client, which means the virtual machine must have already been powered on in the management interface or the virtual machine console.
In this situation, the workload of hardware on the server would be heavy, especially when many virtual machines are hosted on the server, because all virtual machines are powered on so a big portion of hardware such as CPU, memory, has been allocated to the virtual machines. This problem will become more severe when the amount of virtual machine grows.
My goal is as following: different operation systems are installed on different virtual machines, for instance, Linux on machine 1, Windows on machine 2, and so on. When no client requests to connect its remote virtual machine, no virtual machine on the server will be powered on, so the consumption of hardware and energy is minimal to support the server running.
I studied the types of virtualization, and found that PXE could achieve part of my goal. The server will not copy and push an image file of OS and application to client until the client requests it. But in this mode, all clients use the same operation system, only configuration and applications environment can be set uniquely. Also the consumption of hardware and energy remains almost unchanged, it can not be optimized because when the server powers on, the main environment is also powered on.
Any solution to achieve my goal? Maybe I made some mistakes in understanding or operating, because I am a relatively new user of virtualization. If so, please point it out and help me correct it.