我正在学习 OpenStack,并了解单个计算节点的资源可以在多个 vm 实例之间分配和共享。如果我们假设我有一个应用程序需要指数级的资源并在单个 vm 实例上运行。是否可以为单个 vm 实例分配多个计算节点资源,以便应用程序能够使用更多资源?
为了使其更简单,我希望能够将多个计算节点资源专用于单个应用程序。
我正在学习 OpenStack,并了解单个计算节点的资源可以在多个 vm 实例之间分配和共享。如果我们假设我有一个应用程序需要指数级的资源并在单个 vm 实例上运行。是否可以为单个 vm 实例分配多个计算节点资源,以便应用程序能够使用更多资源?
为了使其更简单,我希望能够将多个计算节点资源专用于单个应用程序。
不,openstack 的当前实现不允许为单个 VM 分配多个计算节点资源。您可以将 openstack 计算节点想象为 openstack 支持的虚拟化管理程序之一之上的抽象层(在这里您可以阅读支持的管理程序列表https://wiki.openstack.org/wiki/HypervisorSupportMatrix)。它们中的任何一个都允许使用多个计算节点的资源创建虚拟机。
如果您的应用程序需要资源呈指数级增长,您可以重新设计它以便将计算分布在多个节点上。有很多方法可以做到这一点。例如,如果应用程序管理大量数据,您可以尝试使用大数据框架作为 hadoop。例如,如果应用程序需要很多 cpu 资源,您可以使用消息传递框架(例如:http ://www.open-mpi.org/ )来同步分布在多个 vm 上的应用程序。
如果您愿意,您可以分发这个重新设计的应用程序,以使用多个使用 openstack 的 VM。