第一节 keepalived
高可用集群:
系统的可性= MTBF /(MTBF+MTTR) 系统可用时间,系统故障修复时间。
活动的节点将通过心跳不停的将自己的状态信息同步到备用节点上,一但主节点挂了,那个备用节点会接收活动ip和服务进程。
常用作高可用集群的有: keepalived heartbeat corosync
keepalived 是专门用于lvs的
心跳信息层: 是用来判断节点是否故障的。
资源管理层:对资源进行管理 监控它只做决策不做实际操作,资源管理器crm
本地资源管理器:LRM 用于管理本地的资源的 RA 资源代理,通过资源代理来执行。
在做高可用是一般节点是为奇数,当主节点联系不到其余两个节点,通过少数服从多数,就可以认为主节点已经死机,在备用节点上有优先级,优先级高的节点将代替主节点继续工作,同时为了防止主节点没有死掉,可以通过电源交换机将主节点杀死。
工作模式:
nm模式: n个节点 m个服务,
nn模式:n个节点 n个服务
vrrp 协议: 虚拟路由冗余协议,比如将两个网卡做成一个集群,具有优先级,当一个当掉,活动ip会到另一个网卡上。实现ip转移
keepalied 还对后端服务器有做健康检查。
核心组件:
控制组件:配置文件分析器,用来实现配置文件的分析和加载
IO
复用器
内存管理组件,用来管理
keepalived
高可用是的内存管理
vrrp
stack:
vrrp
协议的实现
ipvs wrapper
:为集群内的所有节点生成
IPVS
规则
checkers
:对
IPVS
集群的各
RS
做健康状态检测
ipvs wrapper : ipvs规则 用来连接ipvs的
checkers :做检验,从而调用ipvswrapper 进行管理的
watch dog 是来监控checker he vrrp这两个进程的 通常是个硬件设备
SMTP :用来通知管理员的
三种认证:
1 无认证
2 简单字符认证
3 MD5 用于非常不安全的网络中
Keepalived是基于vrrp协议的一款高可用软件。Keepailived有一台主服务器和多台备份服务器,在主服务器和备份服务器上面部署相同的服务配置,使用一个虚拟IP地址对外提供服务,当主服务器出现故障时,虚拟IP地址会自动漂移到备份服务器。
安装前准备:
1 时间同步
2 关闭iptables selinux
3 每个节点通过主机名通信
systmctl restart chronyd.service 启动后会自动同步时间
systemctl enable chronyd.service 开机启动
集群每个节点通过组播方式通信,确保组播启动
查看ifconfig ; 有MULLTICAST 表示支持组播
ip link set multicast on dev ens33 启动
安装keepalived
yum install keepalived -y
rpm -ql keepalived 查看 产生文件
配置配置文件
有三个配段:
1 全局配制段
global_defs { }
2 vrrp 配制段
vrrp_instance VI_1 {}
3 lvs 配置段 虚拟主机
virtual_server {}
如:
global_defs {
notification_email {
root@localhost 收邮件地址
}
notification_email_from Alexandre.Cassen@firewall.loc
smtp_server 192.168.0.200 发邮件地址
smtp_connect_timeout 30 连接时间
router_id node1
vrrp_skip_check_adv_addr
vrrp_strict
vrrp_mcast_gorup4 224.0.0.28 多播地址
}
vrrp_instance VI_1 {
state MASTER 主节点 备节点backup
interface ens33 工作在哪个网卡上
virtual_router_id 51 虚拟路由器 一致
priority 100 优先级
advert_int 1
authentication { 认证信息
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.0.200/24 dev/ens33 label ens33:0 vip地址
}
}
启动服务systemctl start keepalived.service
tcpdump -i ens33 -nn host 224.0.0.18 测试 (注意关闭防火墙)