原文地址https://segmentfault.com/a/1190000011078937
一:keepalive简述

一;高可用的解决方案

1)vrrp协议的实现
keepalive 
2)ais:完备HA集群

  1. RHCScman
  2. heartbeat
  3. corosync

二:vrrp协议:

概念:在节点(主机)出现故障时,实现ip地址的切换。
keepalive就是基于此协议而实现高可用的。

Failover:故障切换,即某资源的主节点故障时,将资源转移至其它节点的操作;
Failback:故障移回,即某资源的主节点故障后重新修改上线后,将转移至其它节点的资源重新切回的过程;

术语:

  1. 虚拟路由器:Virtual Router
  2. 对应与配置文件中/etc/keepalived中的virtual_ipaddress
  3. 生产中一个director主机上通常会有多个网卡,对外为vip1,接收用户请求,对内为vip2,将用户的请求通过vip2发送给后端提供服务的主机RS。在配置虚拟路由ip时。vip1vip2需要配置在一个组内,实现在master主机出现故障时,vip1转向backup备用主机时,vip2也同时转向backup备用主机。不然vip2还停留在master主机上,转向后端主机的请求将会无法到达。
  4. 此块在配置文件中
  5. 虚拟路由器标识:VRID(0-255)
  6. 物理路由器:
  7. master:主设备
  8. backup:备用设备
  9. priority:优先级
  10. VIPVirtual IP,虚拟ip
  11. VMACVirutal MAC (00-00-5e-00-01-VRID)
  12. GraciousARP
  13. 通告:心跳,优先级等;周期性;
  14. 抢占式,非抢占式;
  15. 安全工作:
  16. 认证:
  17. 无认证
  18. 简单字符认证
  19. MD5

三:keepalived:

1:简述

  1. vrrp协议的软件实现,原生设计的目的为了高可用ipvs服务:
  2. 基于vrrp协议完成地址流动;
  3. 为集群内的所有节点生成ipvs规则(在配置文件中预先定义);
  4. ipvs集群的各RS做健康状态检测;
  5. 基于脚本调用接口通过执行脚本完成脚本中定义的功能,进而影响集群事务;
  6. 组件:
  7. 核心组件:
  8. vrrp stack vrrp协议的实现
  9. ipvs wrapper为集群内的所有节点生成ipvs规则
  10. checkers ipvs集群的各RS做健康状态检测
  11. 控制组件:

配置文件分析器

  1. IO复用器
  2. 内存管理组件

虚拟路由器的工作模型:

  1. 单主:
  2. 双主

通知机制:

  1. notify_master
  2. notify_backup
  3. notify_fault

2:安装

yum install keepalived
程序环境:

  1. 主配置文件:/etc/keepalived/keepalived.conf
  2. 主程序文件:/usr/sbin/keepalived
  3. Unit Filekeepalived.service
  4. Unit File的环境配置文件:/etc/sysconfig/keepalived

3:配置文件

/etc/keepalived/keepalived.conf

配置文件组件部分:

  1. TOP HIERACHY
  2. GLOBAL CONFIGURATION
  3. Global definitions
  4. Static routes/addresses
  5. VRRPD CONFIGURATION
  6. VRRP synchronization group(s):vrrp同步组;
  7. VRRP instance(s):每个vrrp instance即一个vrrp路由器;
  8. LVS CONFIGURATION
  9. Virtual server group(s)
  10. Virtual server(s):ipvs集群的vsrs

4:man keepalived.conf

可以查看配置文件的具体使用细则
第一个配置段:GLOBAL CONFIGURATION
第二配置段:VRRPD CONFIGURATION

  1. 此地址段为配置keepalived的核心配置段。主要包括两块内容

VRRP instance(s):vrrp实例

  1. 一个vrrp instance 就是一个vrrp路由器

VRRP synchronization group(s):虚拟路由器同步组

  1. 一个主机生产中一般需要配置两个以上的虚拟路由器。此配置可以实现将多个虚拟路由器编制在一个组内,可以实现,当一个虚拟路由器偏移至另一台主机时,其余的虚拟路由器(vip)也同时偏移至另一台主机上。

inside_network # name of vrrp_instance (below) 内网网络
outside_network # One for each moveable IP. 外网网络


第三段:LVS CONFIGURATION

  1. 高可用LVS时使用。若使用Nginx时不用关注此块

四:配置语法:

  1. 配置虚拟路由器:
  2. vrrp_instance <STRING> {
  3. ....
  4. }
  5. 专用参数:
  6. state MASTER|BACKUP:当前节点在此虚拟路由器上的初始状态;只能有一个是MASTER,余下的都应该为BACKUP
  7. interface IFACE_NAME:绑定为当前虚拟路由器使用的物理接口;
  8. virtual_router_id VRID:当前虚拟路由器的惟一标识,范围是0-255
  9. priority 100:当前主机在此虚拟路径器中的优先级;范围1-254
  10. advert_int 1vrrp通告的时间间隔;
  11. authentication {
  12. auth_type AH|PASS
  13. auth_pass <PASSWORD>
  14. }
  15. virtual_ipaddress {
  16. <IPADDR>/<MASK> brd <IPADDR> dev <STRING> scope <SCOPE> label <LABEL>
  17. 192.168.200.17/24 dev eth1
  18. 192.168.200.18/24 dev eth2 label eth2:1
  19. }
  20. track_interface {
  21. eth0
  22. eth1
  23. ...
  24. }
  25. 配置要监控的网络接口,一旦接口出现故障,则转为FAULT状态;
  26. nopreempt:定义工作模式为非抢占模式;
  27. preempt_delay 300:抢占式模式下,节点上线后触发新选举操作的延迟时长;
  28. 定义通知脚本:
  29. notify_master <STRING>|<QUOTED-STRING>:当前节点成为主节点时触发的脚本
  30. notify_backup <STRING>|<QUOTED-STRING>:当前节点转为备节点时触发的脚本;
  31. notify_fault <STRING>|<QUOTED-STRING>:当前节点转为“失败”状态时触发的脚本;
  32. notify <STRING>|<QUOTED-STRING>:通用格式的通知触发机制,一个脚本可完成以上三种状态的转换时的通知;

五:通知机制

通知机制:
notify_master:to be master时,调用指定的脚本完成辅助操作,,以“通知”为核心目标
notify_backup to be backup时,调用指定的脚本完成辅助操作,,以“通知”为核心目标
notify_fault

  1. 通知脚本的使用方式:
  2. 示例通知脚本:
  3. #!/bin/bash
  4. #
  5. contact='root@localhost'
  6. notify() {
  7. local mailsubject="$(hostname) to be $1, vip floating"
  8. local mailbody="$(date +'%F %T'): vrrp transition, $(hostname) changed to be $1"
  9. echo "$mailbody" | mail -s "$mailsubject" $contact
  10. }
  11. case $1 in
  12. master)
  13. notify master
  14. ;;
  15. backup)
  16. notify backup
  17. ;;
  18. fault)
  19. notify fault
  20. ;;
  21. *)
  22. echo "Usage: $(basename $0) {master|backup|fault}"
  23. exit 1
  24. ;;
  25. esac
  26. 脚本的调用方法:
  27. notify_master "/etc/keepalived/notify.sh master"
  28. notify_backup "/etc/keepalived/notify.sh backup"
  29. notify_fault "/etc/keepalived/notify.sh fault"

六:D类地址

D类IP地址第一个字节以“1110”开始 。它并不指向特定的网络,目前这一类地址被用在多点广播(Multicast)中。多点广播地址用来一次寻址一组计算机,它标识共享同一协议的一组计算机。
D类地址又分为三种类型:即专用地址、公用地址和私用地址;其中专用地址(224.0.0.0-224.0.0.255)用于网络协议组的广播,公用地址(224.0.1.0-238.255.255.255)用于其它组播,私用地址(239.0.0.0-239.255.255.255)用于测试。

在keepdlived的配置文件中
vrrp_mcast_group4 224.24.24.18
此地址用于向共同使用vrrp协议的主机 不断的广播自身的ip地址,及优先级。优先级高的主机将会使用vip

在现实中,会使用一根网线将 此两台主机直接绑定在一起,实现此类功能

二:实现

一:配置前提

HA Cluster的配置前提:

(1) 各节点时间必须同步;

  1. ntp, chrony
  2. (2) 确保iptablesselinux不会成为阻碍;
  3. (3) 各节点之间可通过主机名互相通信(对KA并非必须);
  4. 建议使用/etc/hosts文件实现;
  5. (4) 确保各节点的用于集群服务的接口支持MULTICAST通信;
  6. D类:224-239

二:实验前奏

keepalive天生是用来高可用LVS的。借助服务脚本接口可以实现高可用nginx和haproxy

第一步:单主模型
vrrp的地址转移实现。单主模式。一个虚拟路由vip
第二步:双主模型
实现双主节点,每一个节点都可以工作起来。双虚拟路由ip
第三步:高可用LVS
在单主模式下。增加后端的具体服务。实现节点切换时,服务仍然可用。

  1. 后端的服务为两台主机,

第四步:增加check。检查后端主机的健康状况。

  1. 在后端主机全部down掉的情况之下,增加sorry server.用keepalive主机实现

第五步:高可用haproxy
keepalive主机不再使用LVS(director)。使用nginx或者haproxy

三:keepalive 单主模式

环境:172.16.253.95 做master

  1. 172.16.253.96 backup

1:解读配置文件

再解读/etc/keepalived/keepalived.conf

  1. 全局配置

global_defs {
notification_email {

  1. haha@mashuai.com //出问题时,接收邮件的地址

}
notification_email_from admin@mashuai.com //邮件发件人地址

smtp_server 127.0.0.1 //邮件服务器地址 
smtp_connect_timeout 30 //连接超时时间
router_id n2 //虚拟路由服务器地址(建议写上主机名)
vrrp_mcast_group4 224.24.24.18 //多播地址段,默认为224.0.0.18.做实验时需要更改
}

vrrp_instance vrrp实例段,核心配置段

vrrp_instance VI_1 { //虚拟路由器的名称,多个时,名称要不一样

  1. state MASTER //虚拟路由器的状态,master|backup
  2. interface eth0 //通过哪个网口发送vrrp广播
  3. virtual_router_id 01 //虚拟路由器的id,要与同一台主机上的其他虚拟路由器id 区分开来
  4. priority 100 //物理路由器在此虚拟路由器上的优先级
  5. advert_int 1 //每隔多长时间 广播一次自己的优先级
  6. authentication { //传递信息的认证方式,密码仅支持8位
  7. auth_type PASS
  8. auth_pass 1111
  9. }
  10. virtual_ipaddress { //虚拟路由的ip地址
  11. 172.16.253.100
  12. }

}

2:更改配置文件

95主机的配置文件
注意:绿色字体为与96主机不一样的地方。

  1. 其他的配置文件内容统统都注释掉

global_defs {
notification_email {

  1. haha@mashuai.com

}
notification_email_from Alexandre.Cassen@firewall.loc
smtp_server 127.0.0.1
smtp_connect_timeout 30
router_id LVS_DEVEL
vrrp_mcast_group4 224.24.24.18
}

vrrp_instance VI_1 {

  1. state MASTER
  2. interface eth0
  3. virtual_router_id 01
  4. priority 100
  5. advert_int 1
  6. authentication {
  7. auth_type PASS
  8. auth_pass 1111
  9. }
  10. virtual_ipaddress {
  11. 172.16.253.100
  12. }

}
96主机的配置文件

global_defs {
notification_email {

  1. haha@mashuai.com

}
notification_email_from Alexandre.Cassen@firewall.loc
smtp_server 127.0.0.1
smtp_connect_timeout 30
router_id n2
vrrp_mcast_group4 224.24.24.18
}

vrrp_instance VI_1 {

  1. state BACKUP
  2. interface eth0
  3. virtual_router_id 01
  4. priority 95
  5. advert_int 1
  6. authentication {
  7. auth_type PASS
  8. auth_pass 1111
  9. }
  10. virtual_ipaddress {
  11. 172.16.253.100
  12. }

}

3:重启keepalived服务

95主机 master:
systemctl restart keepalived.service
systemctl status keepalived.service

ip a:虚拟路由器主机ip已经添加进来

tcpdump -nn -i eth0 host 224.24.24.18
172.16.253.95 主机通过224.24.24.18向外发送vrrp广播,vrid为1 优先级为100,字节长度为20,简单认证方式,每隔1秒发送一次


96主机:backup
systemctl restart keepalived.service
systemctl status keepalived.service


4:模拟vip偏移至 96主机
95 主机 stop keepalived服务
systemctl stop keepalived.service
在96主机上 vip已经偏移至96主机

再次在 95 主机重启 keepalived服务 VIP则将重新偏移至95主机
默认vrrp工作于抢占 模式。谁的级别高,vip偏移至哪台主机上

四: 双主模式

简述:配置两个虚拟路由器
下图为框架:

环境:先stop 95 96两台主机的keepalived服务

1:编辑配置文件

95主机增加如下代码:
vrrp_instance VI_2 {

  1. state BACKUP
  2. interface eth0
  3. virtual_router_id 02
  4. priority 95
  5. advert_int 1
  6. authentication {
  7. auth_type PASS
  8. auth_pass 2222
  9. }
  10. virtual_ipaddress {
  11. 172.16.253.200
  12. }

}

96主机:
增加如下代码,相当于增加了另一组虚拟路由器vip2 172.16.253.200
vrrp_instance VI_2 {

  1. state MASTER
  2. interface eth0
  3. virtual_router_id 02
  4. priority 100
  5. advert_int 1
  6. authentication {
  7. auth_type PASS
  8. auth_pass 2222
  9. }
  10. virtual_ipaddress {
  11. 172.16.253.200
  12. }

}

2:启动96主机服务

  1. 96主机:先关闭服务,再启动服务。

[root@hkeepalived]#systemctl stop keepalived
[root@hkeepalived]#systemctl start keepalived
[root@hkeepalived]#systemctl status keepalived
两个 vip都添加至 eth0 网卡了

3:启动95主机服务

[root@hkeepalived]#systemctl stop keepalived
[root@hkeepalived]#systemctl start keepalived
[root@hkeepalived]#systemctl status keepalived


启动95 主机服务之后 100地址的vip回至95主机。因为172.16.253.100的vip在95主机的优先级要比在96主机上高

五:调用通知机制

目的:演示通知机制中

  1. notify_master
  2. notify_bacup 是如何工作

1:95 96主机

编辑通知机制的脚本放置在/etc/keepalived下
vim notify.sh

!/bin/bash

contact='root@localhost'

  1. notify() {
  2. local mailsubject="$(hostname) to be $1, vip floating"
  3. local mailbody="$(date +'%F %T'): vrrp transition, $(hostname) changed to be $1"
  4. echo "$mailbody" | mail -s "$mailsubject" $contact
  5. }
  6. case $1 in
  7. master)
  8. notify master
  9. ;;
  10. backup)
  11. notify backup
  12. ;;
  13. fault)
  14. notify fault
  15. ;;
  16. *)
  17. echo "Usage: $(basename $0) {master|backup|fault}"
  18. exit 1
  19. ;;
  20. esac

2 :95 96 主机的配置文件恢复至单主模式

删除 实验四中 增加的配置文件内容

3:编辑配置文件

95 96 主机中 在vrrp_instance中增加如下代码

  1. notify_master "/etc/keepalived/notify.sh master"
  2. notify_backup "/etc/keepalived/notify.sh backup"
  3. notify_fault "/etc/keepalived/notify.sh fault"

4:启动服务

启动96主机的服务:
查看邮件有无发送:
mail


启动95主机的服务:

96主机将收到 变为 backup 的邮件

六:LVS-DR模式--keepalive

环境:
95主机 LVS
96主机 LVS
97 98 主机RS

1:97 98 主机 安装nginx

yum install nginx –y

编辑主页文件:
97:vim /usr/share/nginx/html/index.html

  1. <h1> RS1111111111111</h1>

98:vim /usr/share/nginx/html/index.html

  1. <h1> RS22222222222</h1>

2:后端主机 内核参数修改

97 98主机编辑脚本
1:
后端主机内核参数的修改 及 vip的添加
编辑脚本,实现对内核参数的修改
vim /root/set.sh
#!/bin/bash

vip=172.16.0.199
mask=255.255.255.255
iface="lo:0"

case $1 in
start)

  1. echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
  2. echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
  3. echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore
  4. echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce
  5. ifconfig $iface $vip netmask $mask broadcast $vip up
  6. route add -host $vip dev $iface
  7. ;;

stop)

  1. ifconfig $iface down
  2. echo 0 > /proc/sys/net/ipv4/conf/all/arp_ignore
  3. echo 0 > /proc/sys/net/ipv4/conf/all/arp_announce
  4. echo 0 > /proc/sys/net/ipv4/conf/lo/arp_ignore
  5. echo 0 > /proc/sys/net/ipv4/conf/lo/arp_announce
  6. ;;

*)

  1. echo "start|stop"
  2. exit 1

;;
esac

2:测试脚本实现
bash –x set.sh start
ip a
查看 lo的ip有无添加进来

3:lvs主机95 配置服务

1 安装ipvsadm
2 添加vip至eth0
ifconfig eth0:0 172.16.253.199 netmask 255.255.255.255 broadcast 172.16.253.199 up

3:配置LVS-NAT 服务
[root@h~]#ipvsadm -A -t 172.16.253.199:80 -s rr
[root@h~]#ipvsadm -a -t 172.16.253.199:80 -r 172.16.253.97:80 -g
[root@h~]#ipvsadm -a -t 172.16.253.199:80 -r 172.16.253.98:80 -g
[root@h~]#ipvsadm -L –n


4:测试

5 down掉 95主机 lvs

在96主机上部署lvs
95主机
ipvsadm –C
ifdown eth0:0
96主机
重复步骤3 即可
1 安装ipvsadm
2 添加vip至eth0
ifconfig eth0:0 172.16.253.199 netmask 255.255.255.255 broadcast 172.16.253.199 up

3:配置LVS-NAT 服务
[root@h~]#ipvsadm -A -t 172.16.253.199:80 -s rr
[root@h~]#ipvsadm -a -t 172.16.253.199:80 -r 172.16.253.97:80 -g
[root@h~]#ipvsadm -a -t 172.16.253.199:80 -r 172.16.253.98:80 -g
[root@h~]#ipvsadm -L –n

4 测试 DR模式正常与否

5 测试ok后
96主机上清空所有规则
ipvsadm –C
ifconfig eth0:0 down

6:实现LVS

以下代码是 实现 LVS 调度
95 96 主机 keepalived.conf配置文件中加入如下代码

virtual_server 172.16.253.199 80 {

  1. delay_loop 6
  2. lb_algo rr
  3. lb_kind DR
  4. protocol TCP
  5. real_server 172.16.253.98 80{
  6. weight 1
  7. HTTP_GET {
  8. url {
  9. path /
  10. status_code 200
  11. }
  12. }
  13. connect_timeout 2
  14. nb_get_retry 3
  15. delay_before_retry 1
  16. }
  17. real_server 172.16.253.97 80{
  18. weight 1
  19. HTTP_GET {
  20. url {
  21. path /
  22. status_code 200
  23. }
  24. }

connect_timeout 2

  1. nb_get_retry 3
  2. delay_before_retry 1
  3. }

}

重启 keepalived服务

测试:

7 重启 95主机的keepalived服务

95主机的 优先级比96的高
vip会偏移至95主机

96主机

95主机

8检测健康状况功能 有无实现

给98主机增加iptables规则 :所有tcp的访问禁止掉
iptables –A INPUT –p tcp –dport 80 –j REJECT

curl http://172.16.253.199 访问就会仅仅访问 97主机了

9:增加sorry server

在 95 96主机上增加soory server 内容
当 后端 9798主机的全部宕机之后。95 96提供sorry server页面服务

95 96主机
1:安装nginx 提供sorry页面
vim /usr/share/nginx/html/index.html
2:更改配置文件 keepalived.conf
在 virtual_server中
增加一行代码 sorry_server 127.0.0.1 80

重启keepalived服务
[root@hkeepalived]#systemctl stop keepalived
[root@hkeepalived]#systemctl start keepalived

down掉 后端主机 9798 nginx服务

测试访问:
curl http://172.16.253.199 访问的是95 主机上的 sorry页面

关闭 95主机的keepalived 服务
测试访问:
curl http://172.16.253.199 访问的是96 主机上的 sorry页面

三:高可用服务

一:理论描述

目的:
借助脚本实现 高可用服务(ninx/http/haproxy)
也就是说在服务不可用时,vip偏移至备用节点。而不是之前实现的主机down掉之后vip偏移至备用节点。

环境:
95 96主机。keepalived 服务stop
脚本例子:
1:rpm –ql keepalived
此文件内有脚本的例子,以及如何调用
/usr/share/doc/keepalived-1.2.13/samples/keepalived.conf.vrrp.localcheck

2:cat /usr/share/doc/keepalived-1.2.13/samples/keepalived.conf.vrrp.localcheck

3:脚本简述
1:在配置文件中定义脚本
vrrp_script chk_sshd {

  1. script "killall -0 sshd" # cheaper than pidof
  2. interval 2 # check every 2 seconds
  3. weight -4 # default prio: -4 if KO
  4. fall 2 # require 2 failures for KO
  5. rise 2 # require 2 successes for OK

}

调用脚本 使用 vrrp_script 关键词
脚本名 chk_sshd

脚本内容分为两块

  1. 1 script "killall -0 sshd"
  2. 表示 此段代码 返回0值,部分功能不变
  3. 返回非0值。要执行一些关键指令

killall -0 sshd :测试 是否可以杀掉 sshd进程。能杀掉返回0值,表示sshd服务

  1. 正常运行。返回其他值,表示sshd服务没有运行正常。

2:weight -4 测试失败权重-4

  1. fall 2 检测失败2次,才减去权重
  2. rise -2 检查两次成功,ok

2:在配置文件中调用脚本
在 vrrp_instance中
使用track_script {

  1. chk_haproxy weight 2
  2. chk_http_port
  3. chk_https_port
  4. chk_smtp_port
  5. }

此种模式调用脚本

二:nginx 服务 高可用

1:先定义脚本,再调用脚本

95 96主机同时更改配置文件
编辑keepalived.conf文件

  1. 1)增加脚本
  2. 2)调用脚本

1)编辑脚本
vim /etc/keepalived.conf

vrrp_script chk_nginx{
script "[[ -f /etc/keepalived/down ]] && exit 1 ||exit 0 " 
interval 1
weight -10
fall 2
rise 1
}

script "[[ -f /etc/keepalived/down ]] && echo 1 ||echo 0 "

  1. down文件存在 返回1
  2. down文件不存在 返回0

依靠down文件存在与否 来降低/保持 主节点的权重

2)调用脚本

  1. track_script {
  2. chk_nginx

}
使用 track_script 关键词 调用脚本

2:测试

在95主机上 touch /etc/keepalived/down文件
vip偏移至96主机

3:编辑 nginx配置文件

95 96主机 
vim /etc/nginx/nginx.conf
server 中增加
location / {
proxy_pass http://websrvs;
}

server上增加
upstream websrvs {
server 172.16.253.97:80;
server 172.16.253.98:80;
}

此段主要实现 nginx的 服务调度至后端服务器

4:测试web主页访问

三:双主模型nginx 高可用集群

上接实验三:

1:编辑配置文件

增加 vrrp_instance 实例2
96主机 在vip2上为MASTER 
95主机在 vip2上为BACKUP
96主机增加如下内容:
vrrp_instance VI_2 {

  1. state MASTER
  2. interface eth0
  3. virtual_router_id 61
  4. priority 100
  5. advert_int 1
  6. authentication {
  7. auth_type PASS
  8. auth_pass 1111
  9. }
  10. virtual_ipaddress {
  11. 172.16.253.188
  12. }

track_script {

  1. chk_nginx

}

}

95主机增加如下内容:
vrrp_instance VI_2 {

  1. state BACKUP
  2. interface eth0
  3. virtual_router_id 61
  4. priority 95
  5. advert_int 1
  6. authentication {
  7. auth_type PASS
  8. auth_pass 1111
  9. }
  10. virtual_ipaddress {
  11. 172.16.253.188
  12. }

track_script {

  1. chk_nginx
  2. chk_nn

  1. }

### 2: 测试双主模式
95主机 关闭—启动服务
96主机关闭服务

1)vip1 及vip2 都在 95主机上

2)启动96 主机上的keepalived 服务
vip2 跳转至 96主机上

3) 在95 主机上 建 /etc/keepalived/down文件
vip1 199也跳转至 96主机上

4) 客户端测试访问

3:改变 nginx的调度算法

2 hash算法
hash $request_uri consistent
hash $remote_addr
hash $cookie_name
ip_hash 改为 hash $request_uri consistent

}

KeepAlive--高可用解决方案的更多相关文章

  1. keepalive高可用

    Keepalived软件起初是专门为LVS负载均衡软件设计的,用来管理并监控LVS集群系统中各个服务节点的状态,后来又加入了可以实现高可用的VRRP功能.因此,Keepalived除了能够管理LVS软 ...

  2. 常见的MYSQL高可用解决方案

    MySQL 是一种关系数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性.MySQL 软件采用了双授权政策(本词条"授权政策& ...

  3. MySQL高可用解决方案(MySQL HA Solution)

    http://blog.sina.com.cn/s/blog_7e89c3f501012vtr.html 什么是高可用性?很多公司的服务都是24小时*365天不间断的.比如Call Center.这就 ...

  4. 浅谈mysql主从复制的高可用解决方案

    1.熟悉几个组件(部分摘自网络)1.1.drbd     —— DRBD(Distributed Replicated Block Device),DRBD号称是 "网络 RAID" ...

  5. (转)MySQL高可用解决方案

    MySQL高可用解决方案 原文:http://www.ywnds.com/?p=5565 有这么两个概念,数据库的可靠性和数据库的可用性,可靠性指的是数据可靠,而可用性指的是服务可用.但是不管是可靠性 ...

  6. Mycat高可用解决方案三(读写分离)

    Mycat高可用解决方案三(读写分离) 一.系统部署规划 名称 IP 主机名称 配置 192.168.199.112 mycat01 2核/2G Mysql主节点 192.168.199.110 my ...

  7. Mycat高可用解决方案二(主从复制)

    Mycat高可用解决方案二(主从复制) 系统部署规划 名称 IP 主机名称 用户名/密码 配置 mysql主节点 192.168.199.110 mysql-01 root/hadoop 2核/2G ...

  8. Mycat高可用解决方案一(mysql安装)

    Mycat高可用解决方案一(mysql安装) Mycat关键特性 关键特性 支持SQL92标准 支持MySQL.Oracle.DB2.SQL Server.PostgreSQL等DB的常见SQL语法 ...

  9. RockBrain USB Server外设虚拟化高可用解决方案(银企直联虚拟化解决方案)

    技术指标: 单.双千兆网络界面(支持链路冗余与链路热备.支持双网口均衡负载) 原生USB2.0接口(USB2.0与USB3.0接口均对所有USB版本设备兼容,支持混插) 技术优势: RockBrain ...

  10. mysql高可用解决方案

    浅谈mysql主从复制的高可用解决方案 1.熟悉几个组件(部分摘自网络)1.1.drbd     —— DRBD(Distributed Replicated Block Device),DRBD号称 ...

随机推荐

  1. scikit_learn lasso详解

    Lasso 回归 l1 正则化 The Lasso 是估计稀疏系数的线性模型. 它在一些情况下是有用的,因为它倾向于使用具有较少参数值的情况,有效地减少给定解决方案所依赖变量的数量. 因此,Lasso ...

  2. robot_framework环境搭建

    1.python安装(必须是python2) 下载地址:https://www.python.org/ 2.setuptools安装 下载地址:https://pypi.python.org/pypi ...

  3. 【Java】【11】String数组和List相互转换

    正文: 1,String[]转List String[] strs = {"aa", "bb", "cc"}; //String数组 //方 ...

  4. MySQL改密码

    必须先修改my.cnf 添加 skip-grant-tables   然后  执行  update mysql.user set authentication_string=password('123 ...

  5. 【算法】祭奠spfa 最短路算法dijspfa

    题目链接 本题解来源 其他链接 卡spfa的数据组 题解堆优化的dijkstra 题解spfa讲解 来自以上题解的图片来自常暗踏阴 使用前向星链表存图 直接用队列优化spfa struct cmp { ...

  6. STL 小白学习(8) set 二叉树

    #include <iostream> using namespace std; #include <set> void printSet(set<int> s) ...

  7. lumion室内渲染二6.3

    地板材质不够好,点击地面材质,编辑材质把视察调到没有,让地砖的凹凸变小.调大光泽和反射率. 如果找不自己想要的材质可以自己做材质.在浏览器中搜索大理石瓷砖贴图,保存到桌面.放到PS裁剪.裁剪为正方形的 ...

  8. C#设计模式(0)-设计模式系列文章导航

    设计模式系列文章导航  C#设计模式(1)——单例模式(SingletonPattern) C#设计模式(2)——简单工厂模式(SimpleFactory)    C#设计模式(3)——工厂方法模式( ...

  9. java数组冒泡排序

    public class PaiXu1 { public static void main(String[] args) { int[] s = {345,879,456,870,221,902,14 ...

  10. S2T40,第五章

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...