HAC(high availability cluster)高可用集群。
HA集群中的相关术语(本人自己的理解)
1、节点(node):运行HA进程的一个独立的主机成为一个节点,节点是高可用集群的核心,它又分为主节点与备节点(备节点就是备胎,主要监控主节点,主坏掉备顶上)
2、资源(resource):资源是节点可控制的实体,并且当节点发生故障时,这些资源能够被其他节点接管。
HA集群中可以当做资源的有:
①磁盘分区,文件系统
②vip
③应用程序服务
④nfs文件系统
keepalived:
1、基于lvs(负载均衡)存在,是lvs实现高可用;
2、用途:检测各节点是否运行正常,将有故障的节点剔除,当修复好了之后再加入集群中。
3、易混淆概念:lvs指示负载均衡,单独实现不了高可用;
keepalived是高可用集群。
keepalived环境搭建:
1、准备:
ds1 :192.168.79.167 (主)
ds2 :192.168.79.168 (备)
rs1 :192.168.79.169
rs2 :192.168.79.170
VIP:192.168.79.250
①主/备 安装 keepalived
yum install -y keepalived
②ds端安装 ipvsadm
yum install -y ipvsadm
③rs端安装httpd
yum install -y httpd*
2、步骤:
①ds1 配置:
编辑keepalived配置文件:
vim /etc/keepalived/keepalived.conf
! Configuration File for keepalived
global_defs {
notification_email {
#邮件设置;
}
}
#VRRP配置:
vrrp_instance VI_1 {
state BACKUP #角色类型 (MASTER/BACKUP)
interface eno16777736 #网卡名;
virtual_router_id 51 #虚拟路由id(默认)
priority 100 #优先级(随意数字);
advert_int 1 #每秒检查一次
nopreempt #非抢占模式(当有ds提供服务时,及时优先级最 高,也要等运行坏掉,才接管)
authentication {
auth_type PASS #认证类型(默认)
auth_pass 1111 #认证密码(默认)
}
virtual_ipaddress {
192.168.79.250 #声明VIP;
}
}
#lvs配置:
virtual_server 192.168.79.250 80 {
delay_loop 3 #健康检查时间间隔;
lb_algo rr #声明负载均衡的调度算法;
lb_kind DR #声明负载均衡模式;
protocol TCP #协议;
#添加rs并进行相应设置:
real_server 192.168.79.170 80 {
weight 1 #权重;
TCP_CHECK { #基于tcp协议的检查;
connect_timeout 3 #连接时间超时;
retry 3 #重连次数;
delay_before_retry 3 #重连时间间隔;
}
}
real_server 192.168.79.169 80 {
weight 1
TCP_CHECK {
connect_timeout 3
retry 3
delay_before_retry 3
}
}
}
//配置文件编辑完成
ifconfig ens33:0 192.168.79.250 broadcast 192.168.79.250 netmask 255.255.255.255 up
route add -host 192.168.79.250 dev ens33:0
ds2与ds1配置一样,只需将优先级的值小于ds1即可;
②rs端配置(正常配置DR):
ifconfig lo:0 192.168.79.250 broadcast 192.168.79.250 netmask 255.255.255.255 up
route add -host 192.168.79.250 dev lo:0
echo “1”>/proc/sys/net/ipv4/conf/lo/arp_ignore
echo “2”>/proc/sys/net/ipv4/conf/lo/arp_announce
echo “1”>/proc/sys/net/ipv4/conf/all/arp_ignore
echo “2”>/proc/sys/net/ipv4/conf/all/arp_announce
③测试:
分别暂停RS端某一个httpd的服务与ds1中的keepalived服务