我们的小办公室里有5台电脑系统。 从我对虚拟化技术的基本理解来看,我认为我可以把5个系统虚拟成一个大的虚拟系统。 我想证实这一点。
所以,例如,如果我在每个系统上有3 GB的RAM和2个内核,我的问题是:
我可以做一个大的虚拟系统,将有15 GB的RAM(3 * 5 sysems)和10个核心?
如果对上述问题的回答是肯定的,哪一个是最好的免费和开源软件/pipe理程序来做到这一点? Oracle VirtualBox可以成为一个好的候选人吗?
我是虚拟化技术的初学者,所以请原谅,如果问题太简单/无稽之谈。
如果你正在谈论把他们的计算能力加在一起构成一个大型的超级计算机,那么就不是(这不是虚拟化,即集群/分布式计算,并且需要专门编写的软件来利用这个环境)。 虚拟化正好相反,将一台拥有大量资源的计算机,再将其细分到更小的应用程序中(这样可以避免浪费资源,例如,需要十几GB的RAM或更多)。 服务器通常使用Microsoft Hyper-V(最新版本的Windows Server)或VMWare ESXi(一个免费,成熟的pipe理程序,但是pipe理工具将花费您很多$$$)。
您可能会想到的是桌面虚拟化,其中每个工作人员的实际桌面是瘦客户端/哑terminal,然后连接到所有用户程序正在运行的中央服务器。 这与terminal服务类似。
编辑:多说一点,我不知道有任何pipe理程序“池”来自客户机的资源。 这个问题有点类似于“如果我在2GHz运行4个核心,我可以把它们组合成一个8GHz的处理器?”。 两种情况下的一般答案是否定的。 当然,还有一些特殊的例外情况,比如某种多主机虚拟机,或者大规模并行分布式应用。 但是,如果这么简单,为什么不像微软这样的大公司把他们所有的计算资源都集中到一个有数千核心和千兆字节的巨大计算机上呢? 答案是:你不能。
实际上有这样做的东西。 这就是所谓的“聚合虚拟化”。 这通常需要符合一定级别function的硬件,所以典型的小型办公机器可能无法工作。
这里有更多的细节: https : //askubuntu.com/a/344174/185697
你现在可以,虽然它需要InfiniBand可能超出你的价格范围。
我所知道的唯一可以做到这一点的是ScaleMP( http://www.scalemp.com/ )
基本上,它使所有的服务器显示为1个虚拟机,然后安装到该虚拟机上,并运行您需要运行的任何需要功耗/内存的应用程序。
通过利用InfiniBand互连,您可以获得相对较高的速度访问其他服务器上的RAM和磁盘。
你可能想检查Apache Mesos。 好像Mesos实现了类似的想法。 http://incubator.apache.org/mesos/
我刚刚听说,但没有尝试。
是的你可以。 另外,由于虚拟系统将重新使用闲置容量,因此您将需要更less的总RAM和CPU功率。
Virtualbox不是推荐的服务器虚拟化解决scheme。 你需要检查Vmware,Xen,Linux KVM或者Hyper-V来select一个适合你的。