有没有办法在虚拟机上运行 Linux 操作系统,该虚拟机聚合本地网络上的物理机资源并充当单个超级计算机?如果可能,怎么做?
谢谢。
答案1
我认为你会看到类似 LVS 或 beowolf 集群的东西;
“Linux 虚拟服务器是建立在真实服务器集群之上的高度可扩展和高可用性的服务器。服务器集群的架构对最终用户完全透明,用户与集群系统的交互就像它只是一个单一的高性能虚拟服务器一样。”
“贝奥武夫和工作站集群 (COW) 的区别在于,Beowulf 的行为更像一台机器,而不是多个工作站。”
实际上,无论您使用什么,您都会遇到分布式计算的问题,即并发访问数据和维护节点之间的一致性。通常,正如另一位发帖者提到的那样,某些更具体的技术更合适,例如分布式文件系统或网格实现。
答案2
是的,这是可能的。也就是说,可以在多台计算机上运行 Linux 操作系统,并将它们呈现为具有池化物理资源的单个逻辑系统。
这是最简单的部分,但如何实现则有点复杂。你到底想实现什么?
为了准确回答这个问题,我会研究如何创建一个用于呈现逻辑单一系统的基础设施开放SSI. SSI 代表单系统映像。
本着这一精神,有各种各样的非 SSI 但集群的系统选项可供选择,这又回到了我之前关于预期结果的问题。
需要注意的是:大多数集群解决方案(包括 OpenSSI)在发布之前都需要进行大量的内核开发。这会导致“成品”依赖于较旧的内核,而您选择的无集群 Linux 发行版可能没有可用的内核。例如,OpenSSI 目前使用的是 2.6.12 Linux 内核。
答案3
MOSIX(和 openMosix)可以用来实现这一点,但我不知道它的当前状态。
答案4
寻找单一系统映像集群
就我个人而言,我会尝试 OpenSSI。它具有:单进程空间、单根、单 I/O 空间和单 IPC 空间。
我不知道您的预算,但购买旧的无限带宽网络交换机/卡将降低节点之间的延迟(但仍然不太便宜)。请记住,您可以在虚拟机中测试不同类型的场景,然后再在实际硬件上实施。