hacmp:
ibm的高可用集群软件,并且是商业的(收费),一般用于非x86架构机器当中
AIX,Unix
去IOE:ibm,oracle,emc
keepalived:
一款高可用集群软件,利用vrrp协议实现vip地址的漂移;
  keepalived+lvs
  keepalived+nginx
  keepalived+haproxy
配置文件主要分为三类分别是:
(1)全局配置
(2)VRRP配置
(3)LVS配置

keepalived对RS做健康检查的方式

 1 1. HTTP_GET:向后端的RS发送http请求,如果请求成功,说明后端节点正常(RS是web服务的时候比较常用)
2 2. TCP:尝试与后端RS建立TCP连接,如果成功,说明后端节点正常
3 【仅仅是检查RS系统是否正常工作,不能检查具体的业务】
4 3. SMTP:对邮件服务器做健康检测
5 4. MISC:通过脚本的方式实现健康检测
6
7
8 TCP健康检测方式举例
9 TCP_CHECK { # 通过TcpCheck判断RealServer的健康状态
10 connect_timeout 10 # 连接超时时间
11 nb_get_retry 3 # 重连次数
12 delay_before_retry 3 # 重连时间间隔
13 connect_port 80 # 检测端口
14 }
15
16
17 HTTP_GET健康检测方式举例
18 HTTP_GET {
19 url {
20 path check/t.html # 检查的uri地址
21 digest 1362a91278f0 # 用keepalived自带的genhash生成
22
23 connect_timeout 3 # 链接超时时间
24 nb_get_retry 3 # 重连次数
25 delay_before_retry 3 # 重连时间间隔
26 connect_port 6500 # 检测端口
27 }
28
29 MISC健康检测方式举例
30 MISC_CHECK {
31 misc_path "/tmp/check.sh http://1.2.3.4:80/c/200.jsp"
32 # 调用外部程序或者脚本的路径和参数
33
34 misc_timeout 10
35 # 脚本执行的超时时间
36
37 misc_dynamic
38 # 动态权重标志。
39 # 脚本返回0 则检测成功,权重不变
40 # 返回1表示失败,权重设置为0
41 }

keepalived配置

 1 vrrp部分
2 vim /etc/keepalived/keepalived.conf
3 ! Configuration File for keepalived
4 #全局配置
5 global_defs {
6 notification_email {
7 #收件人地址
8 }
9 #邮件服务器
10 }
11 #VRRP配置DS1
12 vrrp_instance VI_1 {
13 state MASTER #角色类型MASTER|BACKUP
14 interface ens33 #网卡名称
15 virtual_router_id 51 #虚拟路由id(需要与BACKUP一致)
16 priority 100 #优先级
17 advert_int 1 #没1秒检查一次
18 #nopreempt #非抢占模式,默认为抢占模式
19 authentication {
20 auth_type PASS #认证类型 主备之间必须一样
21 auth_pass 1111 #认证密码 主备之间必须一样
22 }
23 virtual_ipaddress {
24 192.168.11.100 #虚拟ip(vip)
25 }
26 }

 1 #利用脚本实现httpd服务的高可用
2 vrrp_script chk_httpd {
3 script "/root/sh/check_httpd.sh"
4 interval 2
5 }
6
7 vrrp_instance VI_1 {
8 state MASTER
9 interface ens33
10 virtual_router_id 11
11 priority 100
12 advert_int 1
13 authentication {
14 auth_type PASS
15 auth_pass 1111
16 }
17 virtual_ipaddress {
18 192.168.11.100/24
19 }
20 track_script {
21 chk_httpd
22 }
23 notify_master "/root/notify.sh master"
24 notify_backup "/root/notify.sh backup"
25 notify_fault "/root/notify.sh fault"
26 }
27
28 vrrp_instance VI_2 {
29 state MASTER
30 interface ens33
31 virtual_router_id 22
32 priority 100
33 advert_int 1
34 authentication {
35 auth_type PASS
36 auth_pass 2222
37 }
38 virtual_ipaddress {
39 192.168.11.200/24
40 }
41 }
1 #check_httpd.sh内容:
2 #!/bin/bash
3 service httpd status
4 if [[ $? -eq 0 ]];then
5 echo 'httpd is up...'
6 else
7 pkill keepalived #或者service keepalived stop
8 fi
#shell发送邮件的内容
#!/bin/bash
contact='2367880638@qq.com'
notify() {
mailsubject="$HOSTNAME to be $1, vip转移"
mailbody="$(date +'%F %T'): vrrp transition, $(hostname) changed to be $1"
echo "$mailbody" | mail -s "$mailsubject" $contact
}
case $1 in
master)
notify master
;;
backup)
notify backup
;;
fault)
notify fault
;;
*)
echo "Usage: $(basename $0) {master|backup|fault}"
exit 1
;;
esac
 1 #配置邮件服务器
2 yum install -y mailx
3 vim /etc/mail.rc
4 在后面增加:
5 set from=2367880638@qq.com
6 set smtp=smtp.qq.com
7 set smtp-auth-user=2367880638@qq.com
8 set smtp-auth-password=jrhncbzpcthoecdd
9 set smtp-auth=login
10
11 set from:设置发件人
12 set smtp:设置外部STMP服务器
13 set smtp-auth-user:设置STMP用户名(一般为完整邮箱地址)
14 set smtp-auth-password:设置SMTP密码

lvs部分:
#LVS配置
virtual_server 192.168.11.100 80 {
delay_loop 3 #健康检查时间间隔
lb_algo rr #负载均衡调度算法
lb_kind DR #负载均衡转发规则
protocol TCP #协议 real_server 192.168.11.11 80 { #要监控的real_server的ip和端口号
weight 1 #权重
TCP_CHECK { #基于tcp协议的检查
connect_timeout 3 #连接时间超时
retry 3 #重连次数
delay_before_retry 3 #重连间隔时间
}
}
real_server 192.168.11.12 80 { #要监控的real_server的ip和端口号
weight 1 #权重
TCP_CHECK { #基于tcp协议的检查
connect_timeout 3 #连接时间超时
retry 3 #重连次数
delay_before_retry 3 #重连间隔时间
}
}
}

#在回环地址的子网口上配置服务ip(vip)

ifconfig lo:0 192.168.11.100 broadcast 192.168.11.100 netmask 255.255.255.255 up

#添加路由

route add -host 192.168.11.100 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

Linux中级之keepalived配置的更多相关文章

  1. linux中级之keepalived概念

    一.HA集群中的相关术语 1.节点(node) 运行HA进程的一个独立主机,称为节点,节点是HA的核心组成部分,每个节点上运行着操作系统和高可用软件服务,在高可用集群中,节点有主次之分,分别称之为主节 ...

  2. linux中级之lvs配置(命令)

    一.nat模式配置 环境说明: DS:nat网卡(自动获取也可以,充当vip): 192.168.254.13 255.255.255.0 vmnet3网卡(仅主机): 172.16.100.1 25 ...

  3. linux中级之ansible配置(roles)

    一.roles介绍 什么情况下用到roles? 假如我们现在有3个被管理主机,第一个要配置成httpd,第二个要配置成php服务器,第三个要配置成MySQL服务器.我们如何来定义playbook? 第 ...

  4. Linux中级之ansible配置(playbook)

    一.playbooks 如果用模块形式一般有幂等性,如果用shell或者command没有幂等性 playbooks相当于是shell脚本,可以把要执行的任务写到文件当中,一次执行,方便调用 task ...

  5. Linux centosVMware 集群介绍、keepalived介绍、用keepalived配置高可用集群

    一.集群介绍 根据功能划分为两大类:高可用和负载均衡 高可用集群通常为两台服务器,一台工作,另外一台作为冗余,当提供服务的机器宕机,冗余将接替继续提供服务 实现高可用的开源软件有:heartbeat. ...

  6. keepalived配置主从备份

    keepalived配置主从备份   keepalived是一个用于做双机热备(HA)的软件,常和haproxy联合起来做热备+负载均衡,达到高可用. 运行原理 keepalived通过选举(看服务器 ...

  7. centos LB负载均衡集群 三种模式区别 LVS/NAT 配置 LVS/DR 配置 LVS/DR + keepalived配置 nginx ip_hash 实现长连接 LVS是四层LB 注意down掉网卡的方法 nginx效率没有LVS高 ipvsadm命令集 测试LVS方法 第三十三节课

    centos   LB负载均衡集群 三种模式区别 LVS/NAT 配置  LVS/DR 配置  LVS/DR + keepalived配置  nginx ip_hash 实现长连接  LVS是四层LB ...

  8. keepalived配置

    keepalived配置 之前已经安装完成,接下来我们配置keepalived. 假设我的ip地址如下: server1:192.168.0.150 server2:192.168.0.157 vip ...

  9. centso 7 Keepalived 配置脚本

    #!/bin/bash #This is keepalived bashshell. #MASTER/BACKUP yum install -y openssl openssl-devel keepa ...

随机推荐

  1. 看过这篇剖析,你还不懂 Go sync.Map 吗?

    hi, 大家好,我是 haohongfan. 本篇文章会从使用方式和原码角度剖析 sync.Map.不过不管是日常开发还是开源项目中,好像 sync.Map 并没有得到很好的利用,大家还是习惯使用 M ...

  2. "Unmapped Spring configuration files found.Please configure Spring facet."解决办法

    最近在学习使用IDEA工具,觉得与Eclipse相比,还是有很多的方便之处. 但是,当把自己的一个项目导入IDEA之后,Event Log提示"Unmapped Spring configu ...

  3. 不推荐别的了,IDEA 自带的数据库工具就很牛逼!

    MySQL 等数据库客户端软件市面上非常多了,别的栈长就不介绍了, 其实 IntelliJ IDEA 自带的数据库工具就很牛逼,不信你继续往下看. 本文以 IntelliJ IDEA/ Mac 版本作 ...

  4. sublime常用快键键

    ---------------最常用的1.新建文件-输入"html:xt"后  按"Ctrl+E键"或 "tab键" ,可快速生成xhtml ...

  5. 病毒木马查杀实战第013篇:一个基于.NET的“敲竹杠”病毒研究

    前言 恶意程序发展至今,其功能已经从最初的单纯破坏,不断发展为隐私的窥探,信息的盗取,乃至如今非常流行的"敲竹杠"病毒,用于勒索.可见随着时代的发展,病毒的作者们往往也是想利用自己 ...

  6. 逆向工程第004篇:跨越CM4验证机制的鸿沟(中)

    一.前言 在上一篇文章的最后,我已经找出了关键的CALL语句,那么这篇文章我就带领大家来一步一步地分析这个CALL.我会将我的思路完整地展现给大家,因此分析过程可能略显冗长,我会分为两篇文章进行讨论. ...

  7. 5.PHP与Web页面交互

    PHP与Web页面交互 PHP中提供了两种与Web页面交互的方法,一种是通过Web表单提交数据,另一种是通过URL参数传递. 表单提交用户名字和密码: <form name "form ...

  8. FreeSql之Expression表达式拼接参数扩展

    在FreeSql源码中Expression表达式拼接默认最多支持到5个泛型参数,当我们使用表关联比较多的时候,就需要进行扩展. 新建一个类,将命名空间改为System.Linq.Expressions ...

  9. 【DB宝51】CentOS7修改网卡名称

    目录 1.修改/etc/default/grub文件 2.修改/etc/udev/rules.d/70-persistent-net.rules文件 3.修改网卡配置文件 4.重启服务器 需求:原来的 ...

  10. PowerDesigner安装教程

    准备安装 准备好可执行文件.汉化.破解文件 将可执行文件以管理员身份运行: 向导初始化 next 选香港.点同意: 可以默认,如果说这个路径不能用下次就换一个 除了Eclipse全选 全选 好像有个空 ...