(推荐)Centos7构建HA集群

上传人:每**** 文档编号:67131000 上传时间:2022-03-30 格式:DOCX 页数:11 大小:52.88KB
收藏 版权申诉 举报 下载
(推荐)Centos7构建HA集群_第1页
第1页 / 共11页
(推荐)Centos7构建HA集群_第2页
第2页 / 共11页
(推荐)Centos7构建HA集群_第3页
第3页 / 共11页
资源描述:

《(推荐)Centos7构建HA集群》由会员分享,可在线阅读,更多相关《(推荐)Centos7构建HA集群(11页珍藏版)》请在装配图网上搜索。

1、如果您需要使用本文档,请点击下载按钮下载! CENTOS7 构建HA集群 CENTOS6 上支持的RHCS组件包主要有cman(心跳管理)、luci+ricci(配置工具)、rgmanager(资源管理),通过图形化配置相当简单,但是自CENTOS7开始,系统已经不再集成RHCS套件,并且在rpmfind上找不到支持centos7的RHCS组件包,在CENTOS7中默认采用corosync(心跳管理)、pacemaker(资源管理)、pcs(配置工具)同样可以构建HA集群,配置方法较之前有很大区别,但是原理相似。一、系统环境配置1.1、修改名称hostnamectl set-hostname

2、node01 1.2两台机器修改关闭防火墙、SELINUX、配置IP、修改HOSTS禁止防火墙和selinux# systemctl disable firewalld# systemctl stop firewalld修改/etc/sysconfig/selinux确保SELINUX=disabled,然后执行setenforce 0 或者reboot服务器以生效设置防火墙规则(如果关闭防火墙则不用配置)# firewall-cmd -permanent -add-service=high-availability# firewall-cmd -add-service=high-availa

3、bility配置IP地址及网关、DNSvi /etc/sysconfig/network-scripts/ifcfg-eth0 #编辑配置文件,添加修改以下内容BOOTPROTO=static #启用静态IP地址 ONBOOT=yes #开启自动启用网络连接 IPADDR=192.168.102.1 #设置IP地址 NETMASK=255.255.255.0 #设置子网掩码 GATEWAY=192.168.102.250 #设置网关 DNS1=8.8.8.8 #设置主DNS DNS2=8.8.4.4 #设置备DNS IPV6INIT=no #禁止IPV6配置HOSTS,两边一样。rootnod

4、e01 # cat /etc/hosts192.168.102.1 node01 192.168.102.2 node02 192.168.102.10 vip #集群IP二、集群环境准备两台机器启动PCSDsystemctl start pcsd.service如果您需要使用本文档,请点击下载按钮下载!systemctl enable pcsd.service两台机器passwd hacluster输入同一个密码hacluster 配置节点之间的相互认证pcs cluster auth node01 node02rootnode01 # pcs cluster auth node01 nod

5、e02Username: haclusterPassword: node01: Authorizednode02: Authorized出现以下显示表示认证成功。rootnode02 # pcs cluster auth node01 node02node01: Already authorizednode02: Already authorized各节点之间时间同步在node1和node2分别进行时间同步,可以使用ntp实现。 rootnode1 # ntpdate 172.16.0.1 /172.16.0.1 为时间服务器(若无时间服务器手动调整时间也可以)三、集群创建以nascluste

6、r为本集群的名称。rootnode01 # pcs cluster setup -name nascluster node01 node02Shutting down pacemaker/corosync services.Redirecting to /bin/systemctl stop pacemaker.serviceRedirecting to /bin/systemctl stop corosync.serviceKilling any remaining services.Removing all cluster configuration files.node01: Succe

7、edednode02: Succeededpcs在执行以上命令时会生产corosync.conf及修改cib.xml文件,corosync.conf问corosync的配置文件,cib.xml为pacemaker的配置文件。这两个配置文件是集群的核心配置,重装系统时建议做好这两个配置文件的备份。开启集群pcs cluster start -all 开启集群pcs cluster enable -all 设置集群自动启动pcs cluster status 查看集群状态 当有半数以上的节点在线时,这个集群就认为自己拥有法定人数了,是“合法”的,换而言之就是下面的公式: total_nodes 2

8、 * active_nodes,也就是说假设集群中有4个节点,但是如果您需要使用本文档,请点击下载按钮下载!活动节点有3个,42*3,即是合法的集群,如果活动节点有2个,4=2*2不能满足total_nodes 2 * active_nodes了,这个集群就非法了。 因此在双节点的集群中只有当两者都在线时才是合法的的这个规则会让“双节点集群”毫无意义,但是我们可以控制Pacemaker发现集群达不到法定人数时候的行为。简单来说,我们告诉集群忽略它。在两个节点的情况下设置以下值pcs property set no-quorum-policy=ignore集群故障时候服务迁移pcs resour

9、ce defaults migration-threshold=1查看集群状态rootnode01 # pcs cluster statusCluster Status: Last updated: Tue Sep 16 06:35:31 2014 Last change: Tue Sep 16 06:35:24 2014 via crmd on node02 Stack: corosync Current DC: node02 (2) - partition with quorum Version: 1.1.10-29.el7-368c726 2 Nodes configured 0 Res

10、ources configuredPCSD Status: node01: Online node02: Online查看集群成员rootnode01 # corosync-cmapctl |grep members runtime.totem.pg.mrp.srp.members.1.config_version (u64) = 0runtime.totem.pg.mrp.srp.members.1.ip (str) = r(0) ip(192.168.102.1) runtime.totem.pg.mrp.srp.members.1.join_count (u32) = 1runtime.

11、totem.pg.mrp.srp.members.1.status (str) = joinedruntime.totem.pg.mrp.srp.members.2.config_version (u64) = 0runtime.totem.pg.mrp.srp.members.2.ip (str) = r(0) ip(192.168.102.2) runtime.totem.pg.mrp.srp.members.2.join_count (u32) = 1runtime.totem.pg.mrp.srp.members.2.status (str) = joined查看成员信息rootnod

12、e01 # pcs status corosyncMembership information- Nodeid Votes Name 1 1 node01 (local) 2 1 node02如果您需要使用本文档,请点击下载按钮下载!查看XMLrootnode01 # pcs cluster cib检查配置文件,发现提示没有STONITH设备。rootnode01 # crm_verify -L -V error: unpack_resources: Resource start-up disabled since no STONITH resources have been defined

13、error: unpack_resources: Either configure some or disable STONITH with the stonith-enabled option error: unpack_resources: NOTE: Clusters with shared data need STONITH to ensure data integrityErrors found during check: config not valid暂时关闭stonish,后面再详细讲讲stonish的配置。pcs property set stonith-enabled=fa

14、lse配置集群IPpcs resource create vip ocf:heartbeat:IPaddr2 ip=192.168.102.10 cidr_netmask=24 op monitor interval=30svip为自定义的一个集群IP的名称,监控时间为30S。测试浮动IP地址在集群中能否正常切换:停node01的集群服务pcs cluster stop node01在node02上查看状态rootnode02 # pcs statusCluster name: nasclusterLast updated: Tue Sep 16 07:28:33 2014Last chang

15、e: Tue Sep 16 07:26:41 2014 via cibadmin on node01Stack: corosyncCurrent DC: node02 (2) - partition with quorumVersion: 1.1.10-29.el7-368c7262 Nodes configured1 Resources configuredOnline: node02 OFFLINE: node01 Full list of resources: vip (ocf:heartbeat:IPaddr2): Started node02 #此条表示vip在node02上执行了P

16、CSD Status: node01: Online node02: OnlineDaemon Status: corosync: active/enabled pacemaker: active/enabled pcsd: active/disabled如果您需要使用本文档,请点击下载按钮下载!在node01恢复后,为防止node02资源迁回node01(迁来迁去对还是会对业务有一定影响)pcs resource defaults resource-stickiness=100pcs resource defaults四、创建GFS2文件系统mkfs.gfs2 -p lock_dlm -j

17、2 -t nascluster:nas /dev/my_vg/gfsdata配置dlm锁监控时间pcs cluster cib dlm_cfg #由于cib.xml非常重要,为避免出错不建议直接修改,故生产一个dlm_cfg文件,将配置写入dlm_cfg文件后,再将dlm_cfg写入cib.xml中。pcs -f dlm_cfg resource create dlm ocf:pacemaker:controld op monitor interval=60spcs -f dlm_cfg resource clone dlm clone-max=2 clone-node-max=1pcs -f

18、 dlm_cfg resource showpcs cluster cib-push dlm_cfg普及一下dlm锁的知识: Distributed Lock Manager,简称DLM,是一个分布式锁管理器,它是RHCS的一个底层基础构件,同时也为集群提供了一个公用的锁运行机制。DLM运行在每个节点上,GFS通过锁管理器的机制来同步访问文件系统的元数据。CLVM通过锁管理器来同步更新数据到LVM卷和卷组。 DLM不需要设定锁管理服务器,它采用对等的锁管理方式,大大提高了处理性能。同时,DLM避免了单个节点失败需要整体恢复的性能瓶颈。另外,DLM的请求是本地的,不需要网络请求,因此请求会立即生

19、效。最后,DLM通过分层机制,可以实现多个锁空间的并行锁模式。查看状态rootnode01 nas# pcs statusCluster name: nasclusterLast updated: Tue Sep 16 07:48:09 2014Last change: Tue Sep 16 07:44:08 2014 via cibadmin on node01Stack: corosyncCurrent DC: node02 (2) - partition with quorumVersion: 1.1.10-29.el7-368c7262 Nodes configured3 Resour

20、ces configuredOnline: node01 node02 Full list of resources: vip (ocf:heartbeat:IPaddr2): Started node02 Clone Set: dlm-clone dlm Started: node01 node02 #DLM的状态PCSD Status: node01: Online node02: OnlineDaemon Status: corosync: active/enabled如果您需要使用本文档,请点击下载按钮下载! pacemaker: active/enabled pcsd: active

21、/enabled五、stonith配置查看本系统支持的fence设备pcs stonith list查看即将要使用的fence设备相关信息pcs stonith describe fence_ilo4由于服务器是HP DL380 GEN8的,支持ILO4,但是在实际配置中采用fence_ilo4却发现怎么也不通,man fence_ilo4发现fence_ipmilan 也可以配置ilo4的FENCE设备,但是必须要加lanplus=true参数。pcs cluster cib stonith_cfg #生产初始配置文件stonith_cfgpcs -f stonith_cfg stonith

22、 create ipmi-fence-node01 fence_ipmilan parms lanplus=true pcmk_host_list=node01 pcmk_host_check=static-list action=reboot ipaddr=192.168.103.1 login=USERID passwd=password op monitor interval=60spcs -f stonith_cfg stonith create ipmi-fence-node02 fence_ipmilan parms lanplus=true pcmk_host_list=node

23、02 pcmk_host_check=static-list action=reboot pcmk_host_list=node02 ipaddr=192.168.103.2 login=USERID passwd=password op monitor interval=60s解释:创建一个名为ipmi-fence-node01的fence设备名称用于建node01的fence,pcmk_host_check=static-list的功能是将node01与192.168.103.1对应,后面login=USERID passwd=password op monitor interval=60

24、s不再解释。pcs -f stonith_cfg stonith 检查stonith_cfg中stonith配置信息pcs -f stonith_cfg property set stonith-enabled=true 上文关闭了stonish,现在开启stonishpcs -f stonith_cfg property检查stonith_cfg中stonith是否已经开启pcs cluster cib-push stonith_cfg 将stonith_cfg写入cib.xmlnode02上测试FENCE是否成功stonith_admin -reboot node01node01上测试FE

25、NCE是否成功stonith_admin -reboot node02pcs cluster standby node01 将node01业务VIP迁移到node02上测试集群是否正常。在集群所有节点重启后发现gfs的文件系统无法自动挂载,定义了fstab也不行,经过分析发现系统开机时候执行了pcs cluster start,而且很快就返回启动成功的结果,但是系统日志里面显示仍然还启动完成,考虑到系统进入系统之后集群有可能还没启动完成,所有自然无法挂载如果您需要使用本文档,请点击下载按钮下载!gfs的文件系统。如果无法自动挂载,我自己编写了一个循环挂载的脚本。供参考。编辑脚本mountnas

26、.sh#!/bin/bashi=1while($i50)domount |grep nasif $? = 1 ;then mount /dev/my_vg/gfsdata /naselse exitfisleep 3done chmod 777 /etc/rc.local centos7 还需要给rc.local加个权限,要不然开机不会执行rc.local在/etc/rc.local加入bash /mountnas.sh 六、配置多路心跳 在rhcs中,可以配置多路心跳,一路将fence作为心跳,一路将网络作为心跳,在corosync pacemaker的集群中,找了国内外很多技术文章,均未做

27、相关描述的。主要是因为corosync pacemaker的集群相对来说已经很可靠,在未配置多路心跳之前将业务网卡DOWN后,发现node02的集群马上失效,集群IP立即切换至node01上,未出现脑裂的情况。 作为自己研究,尝试了再配置了一个心跳。在/etc/corosync.conf中,毕竟corosync管理心跳,所以只有在它里面想办法了,在centos7之前的corosync.conf配置中,会定义interface 作为多个网络,但是在centos7中经过PCS统一管理后,经过测试发现pacemaker只认nodelist作为网络,难道这又是一个变动?在totem 定义:rrp_mo

28、de: passive #默认为none,修改为passive才可以支持两个网段nodelist node ring0_addr:node01 ring0_addr:test01 -test01为第二个心跳 node ring0_addr:node02如果您需要使用本文档,请点击下载按钮下载! ring0_addr:test02 -test02为第二个心跳 记得修改host表。重启集群即可生效,目前node01,node02对应192.168.102.0网段,test01 test02对应192.168.103.0网段,同时可以在192.168.103.0网段上再新建一个业务IP,在配置集群I

29、P之前需要对test01 test02配置认证。rootnode01 # pcs cluster auth test01 test02Username: haclusterPassword: test01: Authorizedtest02: Authorized出现以下显示表示认证成功。rootnode02 # pcs cluster auth test01 test02test01: Already authorizedtest02: Already authorized配置集群IPpcs resource create testip ocf:heartbeat:IPaddr2 ip=19

30、2.168.103.10 cidr_netmask=24 op monitor interval=30s 注意testip与上文的vip已经名字不一样,两个集群IP的名字不能一致。七、配置集群应用以apache为例:apache安装过程略。pcs resource create Web ocf:heartbeat:apache configfile=/etc/httpd/conf/httpd.conf statusurl=http:/localhost/server-status op monitor interval=1minpcs status查看apache状态,pcs constrai

31、nt colocation add Web vip INFINITY 将apache与vip绑定在同一个节点上。pcs constraint order vip then Web,指定集群IP先启动,然后再启动apachepcs constraint location Web prefers node01=200 指定node01优先启动apachecrm_simulate -sL 查看资源黏性值,集群业务优先在资源黏性值高的节点上运行。Current cluster status:Online: node01 node02 vip (ocf:heartbeat:IPaddr2): Start

32、ed node01Web (ocf:heartbeat:apache): Started node01Allocation scores:native_color: vip allocation score on node01: 200native_color: vip allocation score on node02: 50如果您需要使用本文档,请点击下载按钮下载!native_color: Web allocation score on node01: 200native_color: Web allocation score on node02: 50Transition Summary:手动切换集群资源以上配置由集群自动分配资源到node01、node02上,有时候为了维护,必须手动迁移资源到指定节点上。# pcs constraint location Web prefers node01=INFINITY # pcs constraint -full 查看资源状态# pcs constraint remove location-Web-node01-INFINITY 将控制权还给集群 (注:可编辑下载,若有不当之处,请指正,谢谢!)

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!