标签:linux 集群 keepalived
VRRPD 配置、LVS配置
全局配置以”global_defs”作为标识,在“global_defs”区域内的都是
全局配置选项:
global_defs {
notification_email {
acassen@firewall.loc
failover@firewall.loc
sysadmin@firewall.loc
}
notification_email_from
Alexandre.Cassen@firewall.loc
smtp_server 192.168.200.1
smtp_connect_timeout 30
router_id LVS_DEVEL
vrrp_mcast_group4 224.110.129.18
}
notification_email :用于设置报警邮件地址,可以设置多个,每行一个。注意,如果要开启邮 件报警,需要开启本机的Sendmail服务。
notification_email_from :用于设置邮件的发送地址,真正的能发邮件的地址。
smtp_server:用于设置邮件的smtp server地址
smtp_connect_timeout:设置smtp server的超时时间
router_id :表示运行keepalived服务器的一个标识,是发邮件时显示在邮件主题中的信息
vrrp_mcast_group4 :多播地址段
VRRP配置段主要用来配置节点角色(主或从)、绑定的网络接口、节点间验证机制、集群 服务IP等。
vrrp_instance VI_1 {
state MASTER
interface eth0
virtual_router_id 51
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.200.16
192.168.200.17
192.168.200.18
}
track_interface {
eth0
eth1
…
}
VRRP 配置以” vrrp_instance“作为标识,包含了若干配置选项:
vrrp_instance:是VRRP实例开始的标识,后跟VRRP实例名称
state:用于指定Keepalived的角色,MASTER表示此主机是服 务器,BAVKUP表示此 主机是备用服务器。
interface:虚拟IP配置指定的接口
virtual_router_id:虚拟路由标识,它是一个数字,同一个 VRRP配置段的唯一标识, 即在同一个vrrp_instance下,MASTER和BACKUP必须是一致的。
priority:用于定义节点优先级,数字越大优先级越高。
advert_int:设定MASTER和BACKUP主机之间同步检查的时间间隔,单位是秒。
authentication:用于设定节点间通信验证类型和密码,验证类型主要有PASS(简单字 符串认证,支持前8位,可以用:openssl rand -base64 8 获取随机密码)和AH两 种,在一个vrrp_instance下,MASTER和BACKUP必须使用相同的密码才能正常通信。
virtual_ipaddress:用于设置虚拟IP地址(VIP)。
track_interface:配置要监控的网络接口,一旦接口出现故障,则转为FAULT状态;
nopreempt:定义工作模式为非抢占模式;可以实现主节点故障恢复后不再切回到主节 点,让服务一直在备用节点工作,直到备用节点出现故障才会进行切换。在使 用不抢占时,只能在”state“状态为BACKUP的节点上设置,而且这个节点的优 先级必须高于其他节点。
preempt_delay 300:抢占式模式下,节点上线后触发新选举操作的延迟时长;
notify_master:指定当Keepalived进入MASTER状态时要执行的脚本,这个脚本可以是一个状 态报警脚本,也可以是一个服务管理脚本。Keepalived允许脚本出入参数,因此灵活性很强。
notify_backup:当Keepalived进入BACKUP状态时要执行的脚本,这个脚本可以是一个状态报警 脚本,也可以是一个服务管理脚本。
notify_fault:指定当Keepalived进入FAULT状态时要执行的脚本,脚本功能与前两个类似。
notify <STRING>|<QUOTED-STRING>:通用格式的通知触发机制,一个脚本可完成以上三种 状态的转换时的通知;
环境:
两台主机分别是:172.16.252.18/16(node1) 配置BACKUP
172.16.252.19/16 (node2) 配置MASTER
两台主机分别配置:/etc/keepalived/keepalived.conf
两台主机:systemctl restart keepalived
启动之后,可以在MASTER的主机上查看:
ip a l
下图中: 可以看出MASTER主机,一直向多播地址发送信息.
模拟MASTER主机宕机 :
iptables -A OUTPUT -d 224.110.129.18 -j REJECT
systemctl stop keepalived
BACKUP主机上:显示虚拟地址加进来了
ip a l 可以查看到虚拟地址了。如果MASTER主机再启动后,由于优先级高,VIP虚拟地址又被 抢回来了!
所谓双主模型对于VRRP来讲还是单主,所不同的是在同一个接口上,配置了多个虚拟路由器。
在上个实验基础上配置:
在note2主节点上配置:
同一个接口上同一组物理服务器上配置第二个虚拟路由器:
vim /etc/keepalived/keepalived.conf
在原来基础上添加下图配置段:
同理在note1节点上配置:
note2: systemctl stop keepalived.service
note1: systemctl start keepalived.service
同理:把note2主机启动起来,查看效果,由于优先级高,会拿走一个地址;而note1主机就一个虚拟地址。
在note1和note2节点上,分别执行以下操作:
cd /etc/keepalived/
vim notify.sh
note1、note2两台主机上:
systemctl stop keepalived
vim /etc/keepalived/keepalived.conf
当note1备用节点先启动时,它会变成MASTER,虚拟地址被添加:
systemctl restart keepalived.service
当再启动note2时,它从没有启动到变成主节点,而当前的note1变成了备用节点:
note2: systemctl restart keepalived.service
note1上查看:
root 又收到一份邮件:
而note2主机上:变成了主节点,虚拟地址被添加了:
Keepalived 简单配置,以及通知脚本的运用就介绍到这里。之后的高级集群架构,后期会继续整理,更新!
本文为马哥Linux运维学员原创,首发于178linux.com
本文出自 “马哥Linux培训” 博客,请务必保留此出处http://mageedu.blog.51cto.com/4265610/1967810
标签:linux 集群 keepalived
原文地址:http://mageedu.blog.51cto.com/4265610/1967810