博客
关于我
Linux HA Cluster-Corosync+Pacemaker
阅读量:807 次
发布时间:2023-02-01

本文共 2774 字,大约阅读时间需要 9 分钟。

Linux HA Cluster Corosync+Pacemaker配置详细指南

一、基本概念回顾

高可用集群(HA Cluster)是保证关键服务在网络中断或节点故障时仍能持续运行的一种技术。其核心组件包括Corosync、Pacemaker等工具。以下是关键概念的简明概述:

  • ** Heartbeat(心跳机制)**:负责节点间的状态同步和故障检测,确保集群中所有节点保持一致状态。
  • Cluster Membership(集群成员hip):管理集群内所有节点的状态和关系。
  • Cluster Resource Management(CRM):负责集群中的资源(如IP地址、文件系统等)的管理和分配。
  • Corosync:提供高效的节点间通信和心跳传输机制,是集群管理的核心。
  • Pacemaker:基于Corosync的高级资源管理工具,支持复杂的资源配置和故障转移策略。

二、Corosync配置

  • 环境准备

    • 确保所有节点间网络连接正常。
    • 时间同步设置:使用crontab -e添加NTP服务,确保节点时间一致。
    • SSH免密登录:在所有节点执行ssh-keygen -t -dsa并将公钥复制到其他节点中。
  • 安装Corosync和Pacemaker

    yum install corosync pacemaker
  • 配置文件修改

    cd /etc/corosynccp corosync.conf.example corosync.confvim corosync.conf

    totem部分添加以下内容:

    secauth: onthreads: 0interface {    bindnetaddr: 192.168.80.0/24    mcastaddr: 239.25.12.12    mcastport: 5405}logging {    to_stderr: off    to_logfile: yes    logfile: /var/log/cluster/corosync.log    to_syslog: no}service {    ver: 0    name: pacemaker    use_mgmtd: yes}aisexec {    user: root    group: root}

    生成安全密钥并传输:

    corosync-keygenscp -p authkey root@clone2:/etc/corosync/

    启动Corosync服务并测试:

    service corosync startss -utn | grep 5405
  • 过滤错误日志

    grep ERROR /var/log/cluster/corosync.log
  • 三、Pacemaker配置

  • 安装CRM配置工具

    yum -e | grep suse.repo

    添加SUSE仓库:

    [suse]name=susebaseurl=http://download.opensuse.org/repositories/network:/ha-clustering:/Stable/CentOS_CentOS-6/enabled=1gpgcheck=0
  • 使用CRM进行配置

    crm configure

    常用命令:

    • crm status:查看集群状态。
    • crm shell:进入交互式环境。
    • crm verify:检查配置有效性。
  • 配置高可用服务

    crm configure --primitive webip ocf:heartbeat:IPaddr params ip=192.168.80.12 cidr_netmask=24crm configure --property no-quorum-policy=ignorecrm configure --verifycrm configure --commitcrm configure --migrate webip clone2
    • 增加组约束:
      crm configure --group webservice webip webserver
    • 设置位置和顺序约束:
      crm configure --location webip_on_clone2 rule 50: #uname eq clone2crm configure --order webip_then_webserver Mandatory: webip webserver
    • 修改节点属性:
      node clone1 attributes standby=offnode clone2 attributes standby=off
    • 添加监控功能:
      crm resource stop webipcrm resource stop webserver
    • 重新提交配置并验证:
      crm configure --editcrm configure --commitcrm configure --verifycrm configure --commit
  • 四、监控与优化

  • 设置监控器为每个资源设置监控器:

    crm configure --monitor interval=10s timeout=20s
    • 检查监控状态:
      crm configure --verify
  • 优化资源迁移策略增加资源粘性:

    crm configure --property default-resource-stickiness=50
    • 举例设置死循环检测:
      crm configure --property cib-bootstrap-options have-watchdog=false
    • 设置集群信息:
      crm configure --cib-bootstrap-options dc-version=1.1.18-3.el6-bfe4e80420 cluster-infrastructure="classic openais (with plugin)" expected-quorum-votes=2 stonith-enabled=false
  • 五、故障处理

  • 测试故障

    killall httpdss -tnl | grep 80
    • 检查转移:
      crm status
  • 资源恢复

    • 重新启动服务:
      service httpd restart
    • 解决资源迁移问题:
      crm configure --delete
  • 六、总结

    通过以上步骤,可以成功配置一个高可用性集群,结合Corosync和Pacemaker实现关键服务的无停机维护。建议结合实际场景,逐步优化配置参数,确保监控和故障处理机制的完善。更多高级配置和实战案例,可以通过官方文档和实践项目进行深入学习。

    转载地址:http://ldwfk.baihongyu.com/

    你可能感兴趣的文章
    NIFI大数据进阶_离线同步MySql数据到HDFS_说明操作步骤---大数据之Nifi工作笔记0028
    查看>>
    NIFI大数据进阶_连接与关系_设置数据流负载均衡_设置背压_设置展现弯曲_介绍以及实际操作---大数据之Nifi工作笔记0027
    查看>>
    NIFI数据库同步_多表_特定表同时同步_实际操作_MySqlToMysql_可推广到其他数据库_Postgresql_Hbase_SqlServer等----大数据之Nifi工作笔记0053
    查看>>
    NIFI汉化_替换logo_二次开发_Idea编译NIFI最新源码_详细过程记录_全解析_Maven编译NIFI避坑指南001---大数据之Nifi工作笔记0068
    查看>>
    NIFI汉化_替换logo_二次开发_Idea编译NIFI最新源码_详细过程记录_全解析_Maven编译NIFI避坑指南002---大数据之Nifi工作笔记0069
    查看>>
    NIFI集群_内存溢出_CPU占用100%修复_GC overhead limit exceeded_NIFI: out of memory error ---大数据之Nifi工作笔记0017
    查看>>
    NIFI集群_队列Queue中数据无法清空_清除队列数据报错_无法删除queue_解决_集群中机器交替重启删除---大数据之Nifi工作笔记0061
    查看>>
    NIH发布包含10600张CT图像数据库 为AI算法测试铺路
    查看>>
    Nim教程【十二】
    查看>>
    Nim游戏
    查看>>
    NIO ByteBuffer实现原理
    查看>>
    Nio ByteBuffer组件读写指针切换原理与常用方法
    查看>>
    NIO Selector实现原理
    查看>>
    nio 中channel和buffer的基本使用
    查看>>
    NIO_通道之间传输数据
    查看>>
    NIO三大组件基础知识
    查看>>
    NIO与零拷贝和AIO
    查看>>
    NIO同步网络编程
    查看>>
    NIO基于UDP协议的网络编程
    查看>>
    NIO笔记---上
    查看>>