本文共 2774 字,大约阅读时间需要 9 分钟。
高可用集群(HA Cluster)是保证关键服务在网络中断或节点故障时仍能持续运行的一种技术。其核心组件包括Corosync、Pacemaker等工具。以下是关键概念的简明概述:
环境准备
crontab -e添加NTP服务,确保节点时间一致。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
安装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/