一、阐述Linux HA Cluster的使用背景;
1.1 高可用集群定义:
高可用集群全称:High Availability Cluster,简单的说,集群就是一组高可扩展、高可用性、高性价比的计算机。它们作为一个整体向用户提供一组网络资源。其中单个的计算机系统就是一个集群的节点。高可用集群软件的主要作用就是实现故障检查和业务切换的自动化,以提供不中断的服务。
1.2 集群系统的主要优点:
(1)高可扩展性:
(2)高可用性HA:集群中的一个节点失效,它的任务可传递给其他节点。可以有效防止单点失效。
(3)高性能:负载平衡集群允许系统同时接入更多的用户。
(4)高性价比:可以采用廉价的符合工业标准的硬件构造高性能的系统。
具体HA衡量标准:
99% 一年宕机时间不超过4天
99.9% 一年宕机时间不超过10小时
99.99% 一年宕机时间不超过1小时
99.999% 一年宕机时间不超过6分钟
二、总结Linux HA Cluster的系统组成,HA Cluster的工作模型;
三、通过LAMP组合,基于heartbeat v2 crm实现HA;要求,部署wordpress,用于编辑的文章中的任何数据在节点切换后都能正常访问;
1.配置HA集群的前提:
⑴节点间时间必须同步:使用ntp协议实现;
两个节点服务器node1.duoyoumi.com:192.168.1.193和node2.duoyoumi.com:192.168.1.194分另安装ntp服务,安装完后,两节点同步一台稳定时间服务器时间,当前在node1.duoyoumi.com服务器上
ntpdate 192.168.1.187;ssh 192.168.1.194 ‘ntpdate 192.168.1.187‘
⑵节点间需求通过主机名互相通信,必须解析主机至IP地址;
node1.duoyoumi.com 192.168.1.193节点1 LAMP+heartbeat2
node2.duoyoumi.com 192.168.1.194节点2 LAMP+heartbeat2
node3.duoyoumi.com 192.168.1.195节点3 NFS共享存储
⑶考虑仲裁设备是否用得到;
⑷建立各节点之间的root用户能够基于密钥认证;
密钥认证就是把对方系统生成的密钥对中的公钥追加写入本地系统中/root/.ssh/authorized_keys文件中,本地系统就可以实现密钥认证方式登录,反之同理,记得追加,不然可能把其它服务器KEY给覆盖了
2.包安装:
⑴依赖包安装:yum -install net-snmp-libs libnet PyXML perl-Time-Date
⑵heartbeat包安装:rpm -ivh heartbeat-2.1.4-12.e16.x86_64.rpm heartbeat-pils-2.1.4- 12.e16.x86_64.rpm heartbeat-stonith-2.1.4-12.e16.x86_64.rpm
过程中一般报错为libnet包通过yum无法安装,得手动下个libnet二进制包安装
3.修改配置文件:
heartbeat包安装成功后,首先把/usr/share/doc/heartbeat-2.1.4中的ha.cf、authkeys、haresources三个文件拷贝到节点服务器中的/etc/ha.d目录下,注意:authkeys文件权限一定要为600或400
⑴ha.cf:主配置文件,定义各节点上的heartbeat HA基本属性
#debugfile /var/log/ha-debug 是否开启调试功能,已经调试功能的文件位置(可以选择此方式) logfacility local0 使用rsyslog记录日志并指向local0
可通过vim /etc/rsyslog.conf,添加local0.* /var/log/heartbeat.log,推出保存 这次实验是通过logfacility来发送日志的
keepalive 1 每个多长时间发送一次心跳信息,默认单位为s,也支持以ms为单位 deadtime 10 在检测不到对方心跳,替换的时间
warntime 8 警告时间
initdead 120启动heartbeat后多长时间开始检查心跳
udpport 694 默然heartbeat端口694,启动heartbeat后,可通过ss -utnl查看
#bcast eth0 # Linux linux广播的端口
mcast eth0 225.23.190.1 694 1 0 多播的地址,可通过ifconfig查看是否开通多播地址
如果没有的话通过ip link set eth0 multicast on来开户多播模式
#ucast eth0 192.168.1.2 组播的地址
auto_failback on 故障自动恢复,默认开启
node node1.com node节点,切记,本处不能使用ip地址且名字必须跟hostname结果一样
node node2.com node节点,切记,本处不能使用ip地址
#compression bz2 压缩传输算法 on 主节点启动是否自动切换回主节点
ping 192.168.1.187 仲裁设备,可以指向网关
#ping_group group1 10.10.10.25410.10.10.253仲裁设备组
#debug 1debug的级别
#compression_threshold 2压缩的最低大小,单位为kb
crm on 开启CRM同时也就禁用haresource了
⑵authkeys:集群内节点间彼此传递消息时使用加密算法及密钥;文件权限一定设置为600
编辑authkeys文件,可以使用openssl random -base64 23生成字符密码
[root@node1 ha.d]# openssl rand -base64 23
HGTJSDpdWVTVB+6okn7mfnbOKGLQHHE=
# vim /etc/ha.d/authkeys
auth 2
#1 crc
2 sha1 HGTJSDpdWVTVB+6okn7mfnbOKGLQHHE=
#3 md5 Hello!
wq
[root@node1 ha.d]#chmod 600 authkeys
⑶安装LAMP
yum install http mysql-server php php-mysql
安装成功后
本文出自 “多测师” 博客,请务必保留此出处http://icestick8586.blog.51cto.com/9867871/1834098
Linux HA Cluster高可用集群之HeartBeat2
原文地址:http://icestick8586.blog.51cto.com/9867871/1834098