《OpenStack高可用集群(上册):原理与架构》—2.1.2 集群计算节点
2.1.2 集群计算节点
计算节点是真正运行各种Hypervisor虚拟化管理软件的节点,也是OpenStack集群中真正提供计算能力的节点。计算节点为虚拟机实例(Instance)运行提供了所需要的CPU、内存、网络等资源,在OpenStack的默认部署模式下,计算节点上运行的是基于内核的虚拟化引擎KVM,KVM是一种集成到Linux系统内核的开源Hypervisor,通过KVM虚拟化后的计算节点能够组成庞大的计算资源池,从而对外提供计算资源服务,而计算节点上的实例通过KVM访问底层的硬件资源。在OpenStack的集群部署中,计算节点天然具有强大的可扩展性,如果新的计算节点需要加入OpenStack集群以扩充集群的计算能力,则只需将新加入的节点向Nova的Scheduler服务注册即可(安装启动Nova-compute服务后便可自动注册),然后Nova的Scheduler服务就会使用一定的资源过滤算法(如RoundRobin算法)来在集群中全部已注册的计算节点中选择某个计算节点以响应客户端创建实例的请求,然后被选中的计算节点便会根据控制节点传送来的实例请求参数进行实例创建。就OpenStack高可用集群的部署而言,计算节点的访问请求并不需要负载均衡,Nova的Scheduler服务会自动屏蔽故障不可用的计算节点,并且还会根据一定算法来选择能够满足请求资源数目的计算节点(或者剩余资源最多的计算节点)进行实例创建,针对计算节点的高可用,真正要考虑的是如何应对或者迁移故障计算节点上的虚拟机(VM),并在故障计算节点重新启动后自动恢复与OpenStack相关的服务(如Nova-compute等),从目前的各种OpenStack虚机高可用方案来看,Nova项目提供的实例撤离(Evacuate)和在线迁移(Live-Migration)是使用较多的方案,此外,利用heat项目的模板功能在其他正常计算节点上快速重建(Rebuild)故障计算节点上的实例也可以恢复实例,但是如果在实例上部署有复杂的应用程序,则此种方法并不可取。通常,为了实现计算节点故障时实例的撤离和节点恢复时OpenStack相关服务的重启,需要将OpenStack集群的计算节点纳入Pacemaker集群中,即计算节点也需要运行Pacemaker/Corosync服务(实际中只运行Pacemaker_Remote服务),通过集群资源管理器来监控计算节点服务的运行状态,并在故障时候通过Resource Agent脚本进行实例的撤离操作,然后在计算节点恢复后,通过资源管理器自动启动OpenStack服务使其重新加入OpenStack集群。图2-2是Openstack高可用部署模式下运行Pacemaker_Remote的计算节点拓扑情况。
图2-2 OpenStack计算节点高可用部署
- 点赞
- 收藏
- 关注作者
评论(0)