欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    Centos7构建HA集群.pdf

    • 资源ID:55887587       资源大小:511.27KB        全文页数:8页
    • 资源格式: PDF        下载积分:10金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要10金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    Centos7构建HA集群.pdf

    宠辱不惊,看庭前花开花落;去留无意,望天上云卷云舒。洪应明以铜为镜,可以正衣冠;以古为镜,可以知兴替;以人为镜,可以明得失。旧唐书魏征列传 CENTOS6 上支持的 RHCS 组件包主要有 cman(心跳管理)、luci+ricci(配置工具)、rgmanager(资源管理),通过图形化配置相当简单,但是自 CENTOS7 开始,系统已经不再集成 RHCS 套件,并且在 rpmfind 上找不到支持 centos7 的 RHCS 组件包,在 CENTOS7 中默认采用 corosync(心跳管理)、pacemaker(资源管理)、pcs(配置工具)同样可以构建 HA 集群,配置方法较之前有很大区别,但是原理相似。一、系统环境配置、修改名称 hostnamectl set-hostname node01 两台机器修改关闭防火墙、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-availability 配置 IP 地址及网关、DNS vi/etc/sysconfig/network-scripts/ifcfg-eth0#编辑配置文件,添加修改以下内容 BOOTPROTO=static#启用静态 IP 地址 ONBOOT=yes#开启自动启用网络连接 IPADDR=#设置 IP 地址 NETMASK=#设置子网掩码 GATEWAY=#设置网关 DNS1=#设置主 DNS DNS2=#设置备 DNS IPV6INIT=no#禁止 IPV6 配置 HOSTS,两边一样。rootnode01#cat/etc/hosts node01 node02 vip#集群 IP 二、集群环境准备 两台机器启动 PCSD systemctl start systemctl enable 宠辱不惊,看庭前花开花落;去留无意,望天上云卷云舒。洪应明谋事在人,成事在天!增广贤文两台机器 passwd hacluster 输入同一个密码 hacluster 配置节点之间的相互认证 pcs cluster auth node01 node02 rootnode01#pcs cluster auth node01 node02 Username:hacluster Password:node01:Authorized node02:Authorized 出现以下显示表示认证成功。rootnode02#pcs cluster auth node01 node02 node01:Already authorized node02:Already authorized 各节点之间时间同步 在 node1 和 node2 分别进行时间同步,可以使用 ntp 实现。rootnode1#ntpdate .Redirecting to/bin/systemctl stop Redirecting to/bin/systemctl stop Killing any remaining services.Removing all cluster configuration files.node01:Succeeded node02:Succeeded pcs 在执行以上命令时会生产及修改文件,问 corosync 的配置文件,为 pacemaker 的配置文件。这两个配置文件是集群的核心配置,重装系统时建议做好这两个配置文件的备份。开启集群 pcs cluster start-all 开启集群 pcs cluster enable-all 设置集群自动启动 pcs cluster status 查看集群状态 当有半数以上的节点在线时,这个集群就认为自己拥有法定人数了,是“合法”的,换而言之就是下面的公式:total_nodes 2*active_nodes,也就是说假设集群中有 4 个节点,但是活动节点有 3 个,42*3,即是合法的集群,如果活动节点有 2 个,4=2*2 不能满足total_nodes 2*active_nodes 了,这个集群就非法了。因此在双节点的集群中只有当两者都在线时才是合法的的这个规则会让“双节点集群”毫无意义,但是我们可以控制 Pacemaker 发现集群达不到法定人数时候的行为。简单来说,我们告诉集群忽略它。在两个节点的情况下设置以下值 pcs property set no-quorum-policy=ignore 集群故障时候服务迁移 pcs resource defaults migration-threshold=1 查看集群状态 其身正,不令而行;其身不正,虽令不从。论语志不强者智不达,言不信者行不果。墨翟rootnode01#pcs cluster status Cluster 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:2 Nodes configured 0 Resources configured PCSD Status:node01:Online node02:Online 查看集群成员 rootnode01#corosync-cmapctl|grep members (u64)=0 (str)=r(0)ip (u32)=1 (str)=joined (u64)=0 (str)=r(0)ip (u32)=1 (str)=joined 查看成员信息 rootnode01#pcs status corosync Membership information-Nodeid Votes Name 1 1 node01(local)2 1 node02 查看 XML rootnode01#pcs cluster cib 检查配置文件,发现提示没有 STONITH 设备。rootnode01#crm_verify-L-V error:unpack_resources:Resource start-up disabled since no STONITH resources have been defined 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 integrity Errors found during check:config not valid 常将有日思无日,莫待无时思有时。增广贤文宠辱不惊,看庭前花开花落;去留无意,望天上云卷云舒。洪应明暂时关闭 stonish,后面再详细讲讲 stonish 的配置。pcs property set stonith-enabled=false 配置集群 IP pcs resource create vip ocf:heartbeat:IPaddr2 ip=cidr_netmask=24 op monitor interval=30s vip 为自定义的一个集群 IP 的名称,监控时间为 30S。测试浮动 IP 地址在集群中能否正常切换:停 node01 的集群服务 pcs cluster stop node01 在 node02 上查看状态 rootnode02#pcs status Cluster name:nascluster Last updated:Tue Sep 16 07:28:33 2014 Last change:Tue Sep 16 07:26:41 2014 via cibadmin on node01 Stack:corosync Current DC:node02(2)-partition with quorum Version:Nodes configured 1 Resources configured Online:node02 OFFLINE:node01 Full list of resources:vip (ocf:heartbeat:IPaddr2):Started node02#此条表示 vip 在 node02上执行了 PCSD Status:node01:Online node02:Online Daemon Status:corosync:active/enabled pacemaker:active/enabled pcsd:active/disabled 在 node01 恢复后,为防止 node02 资源迁回 node01(迁来迁去对还是会对业务有一定影响)pcs resource defaults resource-stickiness=100 pcs resource defaults 四、创建 GFS2 文件系统 -p lock_dlm-j 2-t nascluster:nas/dev/my_vg/gfsdata 配置 dlm 锁监控时间 pcs cluster cib dlm_cfg#由于非常重要,为避免出错不建议直接修改,故生产一个dlm_cfg 文件,将配置写入 dlm_cfg 文件后,再将 dlm_cfg 写入中。pcs-f dlm_cfg resource create dlm ocf:pacemaker:controld op monitor interval=60s pcs-f dlm_cfg resource clone dlm clone-max=2 clone-node-max=1 吾日三省乎吾身。为人谋而不忠乎?与朋友交而不信乎?传不习乎?论语古之立大事者,不惟有超世之才,亦必有坚忍不拔之志。苏轼pcs-f dlm_cfg resource show pcs cluster cib-push dlm_cfg 普及一下 dlm 锁的知识:Distributed Lock Manager,简称 DLM,是一个分布式锁管理器,它是 RHCS 的一个底层基础构件,同时也为集群提供了一个公用的锁运行机制。DLM 运行在每个节点上,GFS 通过锁管理器的机制来同步访问文件系统的元数据。CLVM 通过锁管理器来同步更新数据到 LVM卷和卷组。DLM 不需要设定锁管理服务器,它采用对等的锁管理方式,大大提高了处理性能。同时,DLM 避免了单个节点失败需要整体恢复的性能瓶颈。另外,DLM 的请求是本地的,不需要网络请求,因此请求会立即生效。最后,DLM 通过分层机制,可以实现多个锁空间的并行锁模式。查看状态 rootnode01 nas#pcs status Cluster name:nascluster Last updated:Tue Sep 16 07:48:09 2014 Last change:Tue Sep 16 07:44:08 2014 via cibadmin on node01 Stack:corosync Current DC:node02(2)-partition with quorum Version:Nodes configured 3 Resources configured Online: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:Online Daemon Status:corosync:active/enabled pacemaker:active/enabled pcsd:active/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_cfg 宠辱不惊,看庭前花开花落;去留无意,望天上云卷云舒。洪应明先天下之忧而忧,后天下之乐而乐。范仲淹pcs-f stonith_cfg stonith create ipmi-fence-node01 fence_ipmilan parms lanplus=true pcmk_host_list=node01 pcmk_host_check=static-list action=reboot ipaddr=login=USERID passwd=password op monitor interval=60s pcs-f stonith_cfg stonith create ipmi-fence-node02 fence_ipmilan parms lanplus=true pcmk_host_list=node02 pcmk_host_check=static-list action=reboot pcmk_host_list=node02 ipaddr=login=USERID passwd=password op monitor interval=60s 解释:创建一个名为 ipmi-fence-node01 的 fence 设备名称用于建 node01 的 fence,pcmk_host_check=static-list 的 功 能 是 将 node01 与 对 应,后 面 login=USERID passwd=password op monitor interval=60s 不再解释。pcs-f stonith_cfg stonith 检查 stonith_cfg 中 stonith 配置信息 pcs-f stonith_cfg property set stonith-enabled=true 上文关闭了 stonish,现在开启 stonish pcs-f stonith_cfg property 检查 stonith_cfg 中 stonith 是否已经开启 pcs cluster cib-push stonith_cfg 将 stonith_cfg 写入 node02 上测试 FENCE 是否成功 stonith_admin-reboot node01 node01 上测试 FENCE 是否成功 stonith_admin-reboot node02 pcs cluster standby node01 将 node01 业务 VIP 迁移到 node02 上测试集群是否正常。在集群所有节点重启后发现 gfs 的文件系统无法自动挂载,定义了 fstab 也不行,经过分析发现系统开机时候执行了 pcs cluster start,而且很快就返回启动成功的结果,但是系统日志里面显示仍然还启动完成,考虑到系统进入系统之后集群有可能还没启动完成,所有自然无法挂载 gfs 的文件系统。如果无法自动挂载,我自己编写了一个循环挂载的脚本。供参考。编辑脚本#!/bin/bash i=1 while($i50)do mount|grep nas if$?=1;then mount/dev/my_vg/gfsdata/nas else exit fi sleep 3 done 其身正,不令而行;其身不正,虽令不从。论语以家为家,以乡为乡,以国为国,以天下为天下。管子牧民chmod 777/etc/centos7 还需要给加个权限,要不然开机不会执行 在/etc/加入 bash/六、配置多路心跳 在 rhcs 中,可以配置多路心跳,一路将 fence 作为心跳,一路将网络作为心跳,在corosync pacemaker 的集群中,找了国内外很多技术文章,均未做相关描述的。主要是因为 corosync pacemaker 的集群相对来说已经很可靠,在未配置多路心跳之前将业务网卡DOWN 后,发现?node02 的集群马上失效,集群 IP 立即切换至 node01 上,未出现脑裂的情况。作为自己研究,尝试了再配置了一个心跳。在/etc/中,毕竟 corosync 管理心跳,所以只有在它里面想办法了,在 centos7 之前的配置中,会定义 interface 作为多个网络,但是在 centos7 中经过 PCS 统一管理后,经过测试发现 pacemaker 只认 nodelist作为网络,难道这又是一个变动?在 totem 定义:rrp_mode:passive#默认为 none,修改为 passive 才可以支持两个网段 nodelist node ring0_addr:node01 ring0_addr:test01 -test01 为第二个心跳 node ring0_addr:node02 ring0_addr:test02 -test02 为第二个心跳 记得修改 host 表。重启集群即可生效,目前 node01,node02 对应网段,test01 test02 对应网段,同时可以在网段上再新建一个业务 IP,在配置集群 IP 之前需要对 test01 test02 配置认证。rootnode01#pcs cluster auth test01 test02 Username:hacluster Password:test01:Authorized test02:Authorized 出现以下显示表示认证成功。rootnode02#pcs cluster auth test01 test02 test01:Already authorized test02:Already authorized 志不强者智不达,言不信者行不果。墨翟海纳百川,有容乃大;壁立千仞,无欲则刚。林则徐配置集群 IP pcs resource create testip ocf:heartbeat:IPaddr2 ip=cidr_netmask=24 op monitor interval=30s 注意 testip 与上文的 vip 已经名字不一样,两个集群 IP 的名字不能一致。七、配置集群应用 以 apache 为例:apache 安装过程略。pcs resource create Web ocf:heartbeat:apache configfile=/etc/httpd/conf/statusurl=op monitor interval=1min pcs status 查看 apache 状态,pcs constraint colocation add Web vip INFINITY 将 apache 与 vip 绑定在同一个节点上。pcs constraint order vip then Web,指定集群 IP 先启动,然后再启动 apache pcs constraint location Web prefers node01=200 指定 node01 优先启动 apache crm_simulate-sL 查看资源黏性值,集群业务优先在资源黏性值高的节点上运行。Current cluster status:Online:node01 node02 vip(ocf:heartbeat:IPaddr2):Started node01 Web(ocf:heartbeat:apache):Started node01 Allocation scores:native_color:vip allocation score on node01:200 native_color:vip allocation score on node02:50 native_color:Web allocation score on node01:200 native_color:Web allocation score on node02:50 Transition Summary:手动切换集群资源 以上配置由集群自动分配资源到 node01、node02 上,有时候为了维护,必须手动迁移资源到指定节点上。#pcs constraint location Web prefers node01=INFINITY#pcs constraint-full 查看资源状态#pcs constraint remove location-Web-node01-INFINITY 将控制权还给集群

    注意事项

    本文(Centos7构建HA集群.pdf)为本站会员(X**)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

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

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开