论文部分内容阅读
近年云计算技术高速发展,其三大商业模式得到了广泛的应用。放眼未来云计算的普及不仅能为人们的生活带来越来越多的便利,还会为社会节约很多不必要的计算机基础设施资源的开销。本文研究了云计算发展现状,着重研究基础设施即服务模式(IaaS)下虚拟机动态变更的情况。设计了一种监控分布式环境下虚拟机动态变更的机制,并基于Zookeeper、Redis等开源软件实现了此机制。本文使用了高性能NoSQL数据库Redis作为在分布式环境下全局数据存储服务器。Redis承担了虚拟机元数据存储和Zookeeper服务配置存储的两个大任务。为了保持虚拟机元数据存储的高可用性,本文设计了Redis集群方案。利用binlog机制,把同一份元数据存储到Redis集群的所有节点中。在读取元数据的时候,分配集群中的一台Redis处理读请求。使用Redis集群方案能够保证元数据的一致性和高可用性。Zookeeper拥有完整的节点监控机制和事件触发机制,能在分布式环境下迅速发现节点和感知节点变更。本文利用Zookeeper的分布式协调特性,开发了运行在虚拟机之上的监控客户端程序及运行在Nginx服务器上的监控服务端程序。运用本文设计的虚拟机节点动态变更机制,实现了虚拟机新增或删除的监控,并及时修改Nginx的请求转发规则。从而实现Web服务虚拟机的变更对外部用户透明的效果。