一、高可用HA概述
1、要对某个节点服务器做建立一个完整的HA高可用服务需要满足以下条件:
a.需要能对real server做健康状态检测,常见健康状态方式有:
(1)通过icmp ping
(2)tcping 命令
(3)应用层:对相应服务下的关键点应用发起请求,如请求一个url,根据响应码判断
b.提高高可用效率: 降低平均修复时长,做服务冗余
2、HA高可用集群实现:
a.通过vrrp(Virtual Router Redundancy Protocol,虚拟路由冗余协议)协议实现HA高可用:keepalived,keepalived是基于vrrp协议的实现方案,原生设计目的为ipvs的服务
b.HA高可用集群服务配置的前提:
(1):各节点时间必须要同步:
可基于ntp协议 或chrony
(2)确保iptables及selinux不会成为阻碍
(3)各节点直接可通过主机名互相通信(对keepalive非必须),名称解析服务的接卸必须与uname -n 保持一致
(4)各节点直接的root用户可以基于密钥认证的ssh通信(对keepalived非必须)
二、建立ntp服务器:
1.选定某一台服务器作为固定ntp时间同步服务器:
然后安装ntp服务:
yum install ntpdate ntp -y
2.将正确时间写入硬件:
ntpq -p
hwclock -w
3.将其他节点服务器想ntp服务器同步时间
a.lsof -i:123 找到ntp服务进程ID将其杀掉
b.使用ntpdate 172.18.0.1向ntp服务器同步时间
c.crontab -e 设置定时任务周期同步时间即可:
ntpdate 172.18.0.1 &>/dev/null
三、keepalived配置文件记录
1、主配置文件/etc/keepalived.conf:
! Configuration File for keepalived
global_defs {
notification_email {
root@loclhost ###收件人,可为多个
}
notification_email_from keeadmin@cr.com ###发件人
smtp_server 127.0.0.1 ###smtp服务器地址
smtp_connect_timeout 30 ###邮件超时时间
router_id keepalive ###路由设备标示符
#vrrp_mcast_group4 224.0.0.18 ###vrrp通过多波地址通信,集群节点此值需相同
}
配置虚拟路由实例
vrrp_instance VI_1 {
state MASTER ####当前节点在此虚拟路由器上的初始状态,master主,backup从
interface eth0 ####vrrp实例工作的网络接口
virtual_router_id 51 ###虚拟路由器的ID,0~255
priority 100 ###优先级
unicast_src_ip 172.18.224.100#(本地IP地址)
unicast_peer {
172.18.224.101##(对端IP地址)此地址一定不能忘记
}
advert_int 1 ####心跳通告时间间隔
authentication { ####认证机制
auth_type PASS ###密码认证
auth_pass 12345678 ####认证密码,最多8位
}
virtual_ipaddress { ###配置VIP
172.18.224.3
}
####nopreempt非抢占模式,默认抢占
}
172.18.224.100执行systemctl start keepalived,再在172.18.224.101执行systemctl start keepalived,观察/va/log/messages,
因默认是抢占模式101由backup状态变为master状态,可以改为非抢占模式。keepalived初步搭建成功
四、配置real server