ImageVerifierCode 换一换
格式:DOCX , 页数:42 ,大小:1.09MB ,
资源ID:17080530      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/17080530.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(OpenstackHA部署v10Word文件下载.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

OpenstackHA部署v10Word文件下载.docx

1、4.3.6 Mysql高可用 304.3.7 RabbitMq高可用 344.3.8 Keystone组成和原理 394.3.9 Keystone和Glance高可用配置 464.4 虚拟机实例备份和恢复 504.5 快照的备份与恢复 564.6 镜像制作 575 未完待续 621 Openstack部署方式简介Openstack在部署的时候分为控制节ControlNode和计算节点ComputeNode两种不同功能的节点。控制节点提供除nova-compute以外的服务。控制节点的这些组件和服务都是可以独立安装的,可以选择组合。在原始的openstack安装部署方案中,控制节点Control

2、Node只有个,且负责整个系统的管理和控制,当控制节点故障不能提供正常服务时,控制节点维护或者升级时,会出现单节点故障,控制节点的高可靠性是主要问题。对于openstack控制节点单点问题,通用并经济解决的方案一般是通过软件实现热备(PS:通过硬件冗余设备也可以实现高可用,但是存在冗余设备本身也有单点故障、对于目前的这个项目来说不经济等问题)openstack高可用常见的部署模式有: Active-Passive主备模式:在目前项目中我们采用此方案进行部署,原因是方案成熟 Active-Active双主动模式:目前暂时不用此方案,研究透彻后在下一版本中考虑使用 集群模式:openstack的一

3、些组件和服务采用此模式,与Active-passive主备模式相互配合2 Openstack组件关系我们目前使用的OpenStack E版由5大组件组成: 计算novanova是计算、控制、网络、存储的核心组件又包括: nova-compute服务 nova-network服务 nova-api服务 nova-scheduler服务 nova-volum服务(目前这个项目中我们没有用到此服务) 身份管理keystone 镜像管理glance 前端管理dashboard 对象存储swift(在目前的这个版本中方案中由于镜像的存储量不大,所以我们没有用到swift)openstack运行时架构,组

4、件之间的系统内部交互图:3 Openstack集群高可用策略构建高可用性的OpenStack(High-availability OpenStack),也就是建立冗余备份,常用策略有: 集群工作模式。多机互备,这样模式是把每个实例备份多份,没有中心节点,比如分布式对象存储系统Swift、nova-network多主机模式。 自主模式。有时候,解决单点故障(SPoF)可以简单的使用每个节点自主工作,通过去主从关系来减少主控节点失效带来的问题,比如nova-api只负责自己所在节点。 主备模式。常见的模式active-passive,被动节点处于监听和备份模式,故障时及时切换,比如mysql高可用

5、集群、glance、keystone使用Pacemaker和Heartbeat等来实现。 双主模式。这种模式互备互援,RabbitMQ就是active-active集群高可用性,集群中的节点可进行队列的复制。从架构上来说,这样就不用担心passive节点不能启动或者延迟太大了。我们采用active-passive模式,Openstack的控制节点的热备部署实际上就是对控制节点上的各种服务各自实现这种备份、监听和切换。通过使用Pacemaker+Corosync方案进行备份,通过故障转移来实现高可靠性。控制节点提供的服务,也就是需要热备的服务如下,这些服务是分开提供的。nova-api、nova

6、-network、glance等可以分别在每个计算节点上工作,RabbitMQ可以工作在主备模式,mysql可以使用冗余的高可用集群 nova-api nova-network nova-schedule nova-volume glance keysonte mysql rabbitmq4 Openstack各组件部署4.1 nova-api和nova-scheduler的高可靠性每个计算节点可以运行自己的nova-api和nova-scheduler,提供负载均衡来保证这样正确工作。这样当控制节点出现故障,计算节点的nova-api等服务都照常进行。在计算节点同样安装nova-api组件和

7、nova-scheduler组件4.2 nova-network的高可靠性OpenStack的网络已经存在多种高可靠的方案,目前流行的最佳的解决方案是使用openstack本身支持的功能Multihost多主机方案。即在每个计算节点上部署novanetwork,然后再/etc/nova/nova.conf配置文件中设置-multi_host=true 选项就可以让网络服务处于高可用模式(high availability mode),这样每个计算节点为主机上的虚拟机负责,为每个计算节点创建网桥并为网桥指定不同的IP(从fixed_ip中取)作为虚拟机网关,在每个主机起DHCP服务,同时要求每个

8、计算节点至少两个物理网卡,每个计算节点负责自己的虚拟机与外网的通信4.3 通过DRBD+Pacemaker+Corosync实现高可用的部署4.3.1 DRBD简介DRBD(Distributed Replicated Block Device)是一种块设备,可以被用于高可用(HA)之中.它类似于一个网络RAID-1功能.当你将数据写入本地文件系统时,数据还将会被发送到网络中另一台主机上.以相同的形式记录在一个文件系统中. 本地(主节点)与远程主机(备节点)的数据可以保证实时同步.当本地系统出现故障时,远程主机上还会保留有一份相同的数据,可以继续使用.在高可用(HA)中使用DRBD功能,可以代

9、替使用一个共享盘阵.因为数据同时存在于本地主机和远程主机上,切换时,远程主机只要使用它上面的那份备份数据,就可以继续进行服务了. DRBD是一个用软件实现的、无共享的、服务器之间镜像块设备内容的存储复制解决方案。数据镜像:实时、透明、同步(所有服务器都成功后返回)、异步(本地服务器成功后返回) DRBD负责接收数据,把数据写到本地磁盘,然后发送给另一个主机。另一个主机再将数据存到自己的磁盘中。其他所需的组件有集群成员服 DRBD 是由内核模块和相关脚本而构成,用以构建高可用性的集群。其实现方式是通过网络来镜像整个设备。您可以把它看作是一种网络RAID。原理图:通过DRBD构架mysql数据库高

10、可用架构图:4.3.2 Pacemaker、Corosync简介Pacemaker是一个集群资源管理者。他用资源级别的监测和恢复来保证集群服务(aka. 资源)的最大可用性。它可以用你所擅长的基础组件(Corosync或者是Heartbeat)来实现通信和关系管理。Pacemaker包含以下的关键特性: 监测并恢复节点和服务级别的故障 存储无关,并不需要共享存储 资源无关,任何能用脚本控制的资源都可以作为服务 支持使用STONITH来保证数据一致性。 支持大型或者小型的集群 clusters 支持quorate(法定人数) 或resource(资源) 驱动的集群 支持任何的冗余配置 自动同步各

11、个节点的配置文件 可以设定集群范围内的ordering, colocation and anti-colocation 支持高级的服务模式 Clones:为那些要在多个节点运行的服务所准备的 Multi-state:为那些有多种模式的服务准备的。(比如.主从, 主备) 统一的,可脚本控制的cluster shellCorosync主要负责不同节点之间的通信, 它使用集群协议(Totem), 通过UDP完成通信(端口5405, 如果使用防火墙,请注意开放此端口), 它默认工作在多播模式下, 1.4.2以后版本也支持单播模式. Pacemaker使用Corosync作为信息服务, Corosync

12、不是唯一可以用用来作为Pacemaker通信的软件, heartbeat也是一个。通用的使用Pacemaker和Corosync的双节点主备方案构建Active/Passive冗余,架构图如下:在本案中我们使用的集群软件来构建openstack的一些核心组件高可用,架构图如下:Openstack的组件Mysql、RabbitMq、Keystone、Glance等通过DRBD+Pacemaker+Corosync实现高可用之后都是通过Pacemaker+Corosync提供生成虚拟ip(VIP)对外提供服务,各个组件集群可以生成自己的vip。如下图所示:4.3.3 安装配置 corosync 安

13、装corosync#apt-get installcorosync 修改 /etc/default/corosyncSTART=yes 进入主配置文件目录rootcontrolmaster # cd /etc/corosync/ rootcontrolmaster corosync# lscorosync.conf.example corosync.conf.example.udpu service.d uidgid.droot controlmaster corosync# cp corosync.conf.example corosync.conf root controlmaster c

14、orosync# vim corosync.conf主备节点都要做下面配置,配置文件corosync.conf内容如下:# Please read the corosync.conf.5 manual page compatibility: whitetanktotem version: 2 #版本号,只能是2,不能修改 secauth: on #安全认证,当使用aisexec时,会非常消耗CPU threads: 2 #线程数,根据CPU个数和核心数确定 interface #心跳用的NIC,可以设置为多个 ringnumber: 0 #冗余环号,节点有多个网卡是可定义对应网卡在一个环内 b

15、indnetaddr: 192.168.8.0 #绑定心跳网段,并非内网NIC的IP,而是网络地址 mcastaddr: 226.94.8.8 #心跳组播地址 mcastport: 5405 #心跳组播端口,多个pacemaker网卡用同样LAN,可变端口号ttl: 1 logging fileline: off #指定要打印的行 to_stderr: no #是否发送到标准错误输出 to_logfile: yes #记录到文件 to_syslog: no #记录到syslog logfile: /var/log/cluster/corosync.log #日志文件目录如没有手动创建/var/

16、log/cluster/debug: off timestamp: on #是否打印时间戳,利于定位错误,但会消耗CPU logger_subsys subsys: AMF service ver: 0 name: pacemaker #定义corosync启动时同时启动pacemaker # use_mgmtd: yes aisexec user: root group:amf mode: disabled interface字段主要有以下几个参数:1. ringnumber:interface的ring number,用于区分不同的心跳,必须从0开始2. bindnetaddr:绑定的网络

17、地址,经常以0结尾,也可以使用IPV6地址。例如,如果本地心跳为192.168.5.92,子网255.255.255.0,则设置bindnetaddr为192.168.5.0;如果本地心跳为192.168.5.92,子网255.255.255.192,则设置bindnetaddr为192.168.5.64。3. mcastport:UDP端口号4. broadcast:该字段可选,设为YES时表示将使用广播地址,如果设为该选项,则可以不设mcastaddr字段5. mcastaddr:多播地址,不允许使用224.x.x.x之类的地址。也可以使用IPV6地址。 启动corosync主备节点都需要

18、启动rootcontrolmaster corosync# service corosync start Starting Corosync Cluster Engine (corosync): 确定 rootcontrolslavecorosync#service corosync start 确定 检查启动情况查看corosync引擎是否正常启动:root controlmaster corosync# grep -e Corosync Cluster Engine -e configuration file /var/log/messages Oct 19 19:21:21 contro

19、lmaster corosync2360: MAIN Corosync Cluster Engine (1.4.1): started and ready to provide service. 21 controlmastercorosync2360: MAIN Successfully read main configuration file /etc/corosync/corosync.conf.查看初始化成员节点通知是否正常发出:rootcontrolmaster corosync# grep TOTEM /var/log/messages TOTEM Initializing tra

20、nsport (UDP/IP Multicast). TOTEM Initializing transmit/receive security: libtomcrypt SOBER128/SHA1HMAC (mode 0). 22 controlmastercorosync2360: TOTEM The network interface 192.168.8.101 is now up. 23 controlmastercorosync2360: TOTEM Process pause detected for 1264 ms, flushing membership messages. TO

21、TEM A processor joined or left the membership and a new membership was formed.检查启动过程中是否有错误产生:root controlmaster corosync# grep ERROR: /var/log/messages | grep -v unpack_resources pcmk ERROR: process_ais_conf: You have configured a cluster using the Pacemaker plugin for Corosync. The plugin is not su

22、pported in this environment and will be removed very soon. Please see Chapter 8 of Clusters from Scratch (http:/www.clusterlabs.org/doc) for details on using Pacemaker with CMAN查看pacemaker是否正常启动:root controlmaster corosync# grep pcmk_startup /var/log/messages pcmk info: pcmk_startup: CRM: Initialize

23、d pcmk Logging: Initialized pcmk_startup Maximum core file size is: 18446744073709551615 Service: 9 Local hostname: 重启机器shutdownr 0 启动服务/etc/init.d/corosync start 检查是否一切正常#corosync-cfgtool s 检查集群节点和人数#corosync-quorumtool -l4.3.4 安装配置 pacemaker 安装pacemaker#apt-get install pacemaker 启动 service pacemak

24、er start现在检查它是否识别出我们的集群:#crm_mon -1 因为这是两个主机的安装,你还需要禁用人数,由于split brain,因此要禁用人数检查:#crm configure property no-quorum-policy=ignore 在这之后还可以禁用STONITH,如果不需要的话:#crm configure property stonith-enabled=false 设置基本集群属性crm configure show显示配置文件crm configure edit 修改成如下所示:双节点集群应该忽略quorum机制因为这是两个主机的安装,你还需要禁用人数,由于s

25、plit brain,因此要禁用人数检查:# crm configure property no-quorum-policy=ignoreproperty no-quorum-policy=ignore #pe-warn-series-max=1000pe-input-series-max= pe-error-series-max=cluster-recheck-interval=5minno-quorum-policy=ignore当只有两个节点时需要设置。两节点以上时不要进行设置。pe-warn-series-max, pe-input-series-max and pe-errorser

26、ies-max设定为1000,可以保存更多的历史纪录。将集群的检查期间cluster-recheck-interval设置为5分钟。 修改之后crm configure commit提交 crmsh基本介绍rootnode1 # crm -进入crmsh crm(live)# help #查看帮助一些属性的解释 cib manage shadow CIBs #CIB管理模块 resource resources management #资源管理模块 configure CRM cluster configuration #CRM配置,包含资源粘性、资源类型、资源约束等 node nodes management #节点管理 options user preferences #用户偏好 history CRM cluster history #CRM 历史 site Geo-cluster support #地理集群支持 ra resource agents information center #资源代理配置 s

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1