Can I virtualize multiple hosts into one virtual system? [duplicate]
I have 5 computer systems in our small office. From my basic understanding of Virtualization technology, I think I can virtualize the 5 systems into one big virtual system. I wish to confirm this.
So, for example, if I have 3 GB of RAM and 2 cores on each system, my question is:-
Can I make one big virtual system which will have 15 GB of RAM (3 * 5 sysems) and 10 cores?
If the answer to the above question is yes, which is the best free and Opensource software/hypervisor to do this? Can Oracle VirtualBox be a good candidate?
I am a beginner in Virtualization technology so please pardon if the questions are too simplistic/nonsense.
If you are talking about adding their computing power together to make one big supercomputer, then no (that isn't virtualization, that is cluster/distributed computing, and would require specially written software that would take advantage of that environment). Virtualization is the exact opposite, taking one computer with a large amount of resources, and subdividing them amongst smaller applications (which avoids wasting resources. Not many things require a dozen GB of RAM or more, for example). Servers typically use Microsoft Hyper-V (which comes with recent editions of Windows Server), or VMWare ESXi (a free, mature hypervisor, but the management tools will cost you lots of $$$).
What you may be thinking of is Desktop Virtualization, where the actual desktops for each worker are thin clients/dumb terminals, which then connect to the central server where all of the users' programs are being run. This is similar to Terminal Services.
Edit: To elaborate a bit more, I am not aware of any hypervisors that "pool" resources from client machines. This question is somewhat analogous to the question of "If I have 4 cores running at 2GHz, can I combine them into an 8GHz processor?". The general answer in both cases is no. Of course, there are specialized exceptions, such as some kind of multiple-host VM, or a massively-parallel distributed application. But if this was so simple, why don't big companies like Microsoft pool all of their computing resources into a giant computer with thousands of cores and terabytes of memory? The answer: you can't.
You actually can now, although it requires InfiniBand which may be out of your price range.
The only one that I know that can do this is ScaleMP (http://www.scalemp.com/)
Basically it makes all the servers appear as 1 VM and then you install onto that and run whatever power-/memory-hungry application you need to run.
By leveraging the InfiniBand interconnects you can get relatively high speed access to RAM and disk on other servers.
There actually IS something that does that. It's called "Virtualization for Aggregation". This usually requires hardware that meets a certain level of features, so typical small office machines may not work.
There are more details here: https://askubuntu.com/a/344174/185697
You may want to check Apache Mesos. it seems like Mesos implemented similar idea. http://incubator.apache.org/mesos/
I just heard about it but didn't try it.