我们小办公室里有 5 台计算机系统。根据我对虚拟化技术的基本了解,我认为我可以将这 5 个系统虚拟化为一个大型虚拟系统。我想确认一下这一点。
例如,如果我每个系统都有 3 GB 的 RAM 和 2 个核心,那么我的问题是:-
我可以创建一个具有 15 GB RAM(3 * 5 系统)和 10 个核心的大型虚拟系统吗?
如果上述问题的答案是肯定的,那么哪个是最好的免费开源软件/虚拟机管理程序? Oracle VirtualBox 可以成为一个很好的候选者吗?
我是虚拟化技术的初学者,因此如果问题过于简单/无意义,请原谅。
答案1
如果您说的是将它们的计算能力加在一起以形成一台大型超级计算机,那么就不行(这不是虚拟化,而是集群/分布式计算,需要专门编写的软件来利用该环境)。虚拟化则完全相反,它使用一台拥有大量资源的计算机,并将其细分为较小的应用程序(这可以避免浪费资源。例如,没有多少东西需要十几 GB 或更多的 RAM)。服务器通常使用 Microsoft Hyper-V(随 Windows Server 的最新版本提供)或 VMWare ESXi(一种免费的、成熟的虚拟机管理程序,但管理工具会花费您很多 $$$)。
您可能想到的是桌面虚拟化,其中每个员工的实际桌面是瘦客户端/哑终端,然后连接到运行所有用户程序的中央服务器。这类似于终端服务。
编辑:再详细一点,我不知道有任何虚拟机管理程序会“汇集”来自客户端计算机的资源。这个问题有点类似于“如果我有 4 个以 2GHz 运行的内核,我可以将它们组合成一个 8GHz 处理器吗?”的问题。两种情况下的一般答案都是“不”。当然,也有特殊的例外,例如某种多主机 VM 或大规模并行分布式应用程序。但如果这这么简单,为什么像微软这样的大公司不把所有的计算资源集中到一个拥有数千个内核和数 TB 内存的巨型计算机中呢?答案是:你不能。
答案2
现在实际上你可以了,尽管它需要 InfiniBand,可能超出你的价格范围。
我知道唯一能做到这一点的是 ScaleMP (http://www.scalemp.com/)
基本上,它使所有服务器显示为 1 个虚拟机,然后您在该虚拟机上安装并运行您需要运行的任何耗电/内存的应用程序。
通过利用 InfiniBand 互连,您可以相对高速地访问其他服务器上的 RAM 和磁盘。
答案3
确实有某种东西可以做到这一点。它被称为“聚合虚拟化”。这通常需要满足一定功能水平的硬件,因此典型的小型办公机器可能无法工作。
这里有更多详细信息:https://askubuntu.com/a/344174/185697
答案4
是的,可以。此外,由于虚拟系统将重新使用闲置容量,因此您需要的总 RAM 和 CPU 功率也会减少。
Virtualbox 不是推荐的服务器虚拟化解决方案。您需要检查 Vmware、Xen、Linux KVM 或 Hyper-V,以选择适合您的解决方案。