3.系统设计 - 9 -
3.1 平台架构 - 9 -
3.2 系统配置 - 10 -
3.3 高可用方案 - 10 -
3.4 监控脚本功能设计 - 12 -
3.4.1 监控模式 - 12 -
3.4.2 功能设计 - 13 -
3.5 编程模块设计 - 15 -
4. 平台实现 - 16 -
4.1 环境配置 - 16 -
4.2 网络配置 - 16 -
4.3 服务安装 - 18 -
4.3.1 DRBD资源配置 - 18 -
4.3.2 Corosync+Pacemaker资源配置 - 21 -
4.3.3 计算结点配置 - 26 -
4.4 编程扩展 - 28 -
4.4.1 监控脚本类 - 28 -
4.4.2 监控方案实现 - 42 -
5. 总结 - 46 -
参考文献 -47-
致 谢 - 48 -
基于OpenStack的云服务高可用性实践
1. 绪论
1.1 研究背景
1983年, Sun Microsystems提出“网络是电脑”(“The Network is the Computer”),2006年3月Amazon推出EC2弹性云服务,直到2006年8月9日Google总裁在搜索引擎大会上首次提出“云计算”的概念 [1]。
OpenStack是一个由NASA(美国国家航空航天局)和Rackspace合作研发并发起的,以Apache许可证授权的自由软件和开放源代码项目[2]。它是一个开源的云计算管理平台项目,由几个主要的组件组合起来完成具体工作。OpenStack支持几乎所有类型的云环境,其目标是提供实施简单、可大规模扩展、丰富、标准统一的云计算管理平台。
通过OpenStack搭建云平台,能够把本地的计算资源如CPU,内存,硬盘,网络配置成资源池,并通过虚拟机分配,利用网络连接各台虚拟机实现分布式计算,以达到充分利用计算机资源的目的。目前许多公司通过公共云出租的方式,出租公司拥有的闲置服务器,通过网络连接的方式,用户可以创建自己的虚拟机,并且由服务提供商对虚拟机进行维护[3]。客户在充分利用公共云出租公司的计算资源的同时减少了自行购买服务器所需要的高成本。
OpenStack官网提供了服务高可用代理脚本,主要用于管理OpenStack的各种组件[4]。在本设计中曾尝试使用官网提供的脚本管理本地服务,但是脚本在本地搭建的平台上并不能正常运行。因此,为了实现本地私有云的高可用性,需要自行编写相应的服务代理。
1.2 主要研究工作
本文的主要研究工作是通过在服务器上安装并部署OpenStack服务,提供云平台管理服务,方便虚拟机的分配管理,并通过DRBD+Corosync+Pacemaker让两台服务器实现双机主备模式,实现OpenStack服务高可用。
云管理平台搭建成功之后,还需要解决如下问题⑴需要相应的脚本对OpenStack服务进行管理。⑵服务器集群通过交换机连接,并安装了DRBD+Corosync+Pacemaker服务,在一定程度上保证了数据可靠性。但是DRBD服务偶尔会发生脑裂故障 (即DRBD服务正常运行,且服务器之间能够相互ping通,但是由于某种原因相互之间无法进行数据备份)。当这种故障出现时,DRBD服务无法对自身进行修复。对以上两个问题需要额外的计算机充当监控主机,在监控机上编写管理脚本对DRBD服务进行管理,以及对DRBD服务的脑裂现象进行修复,并将某些需要人工干预的故障以信息的方式发送给维护人员,以保证故障及时得到处理。
为了搭建并且正常运行所有云平台的服务,数据库是必须的基础组件。它是整个平台最核心的基础服务,几乎所有的数据都是存储在数据库中。为了进一步保证数据的可靠性,通过在监控主机上安装FTP服务,以及编写相应的脚本,定时把数据库中的数据备份到监控主机上以达到此目的。 OpenStack的云服务高可用性实践(2):http://www.youerw.com/jisuanji/lunwen_46812.html