keepalived是用来进行网络fail-over的强大工具,配置简单灵活,功能强大,实现了vrrp协议和健康检查,配合lvs使用可实现高可用性。
典型双机热备配置方案:
两台机器的keepalived实例都配置成BACKUP状态,priority高的自动作为master , priority低的自动作为slave ,也可以将priority设置为相同,先启动的作为master 。两边都设置nopreempt,防止出现故障->恢复过程中的再切换。
1.在master发生故障->恢复过程中,原backup会替换为master对外服务,当原master恢复后,一般希望原master作为新backup,以避免master的再次切换,可以使用nopreempt参数,防止priority高的发起切换。
2. 当keepalived设置为随系统启动自动启动时,应加上一定的延迟,防止网络或系统未准备好影响keepalived的状态。
3. 当后端的RS有状态(https)时,lvs一般需要使用sh负载算法或使用持久性连接,以便同一来源的请求分发到同一RS,当http和https的请求分发需要一致时,可以使用iptable对报文做fmark,使用fmark配置lvs 。