keepalived+lvs 实现站点高可用

lvs实现负载均衡
keepalived 解决 director单点和realserver监控检测

一 Server IP:
Real Server 1:192.168.16.62
Real Server 2:192.168.16.63
Virtual Server :192.168.16.69
Keepalived Server 1:192.168.16.64
Keepalived Server 2:192.168.16.66

二 Real Server 配置
Real Server 1:192.168.16.62
 ifconfig lo:0 192.168.16.69 netmask 255.255.255.255 broadcast 192.168.16.69
 route add -host 192.168.16.69 dev lo:0
 echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
 echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore
 echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
 echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce
 安装 httpd
 Real Server 2 同上

三 Keepalived Server 1 配置  
安装 keepalived
keepalived.conf按如下配置
 global_defs {
   notification_email {
   suzb@clo.com.cn
 }
 notification_email_from keepalived@clo.com
 smtp_server 192.268.101.12
 smtp_connect_timeout 30
 router_id node04
 vrrp_mcast_group4 224.0.16.18 
}

vrrp_instance VI_1 {
state MASTER|BACKUP
interface ens32
virtual_router_id 60
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass 123
}
virtual_ipaddress {
192.168.16.69/24 dev ens32
}
notify_master “/etc/keepalived/keepalived-notify.sh master”
notify_backup “/etc/keepalived/keepalived-notify.sh backup”
notify_fault “/etc/keepalived/keepalived-notify.sh fault”

}

virtual_server 192.168.16.69 80 {
delay_loop 6
lb_algo rr
lb_kind DR
persistence_timeout 50
protocol TCP

real_server 192.168.16.62 80 {
weight 1
HTTP_GET {
url {
path /
status_code 200
}
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
}
}
real_server 192.168.16.63 80 {
weight 1
HTTP_GET {
url {
path /
status_code 200
}
connect_timeout 3
nb_get_retry 3
delay_before_retry 3

}
}
}

}

Keepalived Server  2 配置 同上

四,测试

#ip addr l              在 Virtual Server 查看 VIP 在那台Virtual Server 上

#ipvsadm -Ln       查看 ipvs 策略是否生成

#curl 192.168.16.69   发布的web站点

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/90021

(1)
N27_abaoN27_abao
上一篇 2017-12-12 19:58
下一篇 2017-12-14 00:23

相关推荐

  • bash 面试题

    1、设计一个shell脚本,在/userdata目录下建立10个目录,即user1~user50,并设置每个目录的权限,其中其他用户的权限为:读;文件所有者的权限为:读、写、执行;文件所有者所在组的权限为:读、执行 [root@node1 script]# cat mkuserdata.sh #!/bin/bash # author jin.ren # da…

    Linux干货 2015-07-03
  • LVS

    LVS概念 LVS(Linux Virtual Server):Linux 虚拟服务器  LVS是个负载均衡设备,它不提供任何服务,用户请求到这里的时候,它是将客户需求转发至后端真正提供服务的服务,所以说后端的服务称作real server。LVS分为两段,前一段称为ipvsadm(管理集群服务的命令行工具),后面一段叫做ipvs(内核模块) LVS的类型 …

    Linux干货 2017-02-17
  • 脚本数组及yum软件包管理器

    一、数组 变量:存储单个元素的内存空间 数组:存储多个元素的连续的内存空间,相当于多个变量的集合。 数组名和索引索引:编号从0开始,属于数值索引注意:索引可支持使用自定义的格式,而不仅是数值格式,即为关联索引,bash4.0版本之后开始支持。bash的数组支持稀疏格式(索引不连续) 1.定义数组声明数组:    declare …

    Linux干货 2016-08-25
  • 三问:linux操作系统安全加固

    三问:linux操作系统安全加固 1.为什么要进行安全加固?     安全加固的重要性不言而喻。我这里把操作系统同马斯洛需求层次做了个类比,如有不恰当之处,还请指教。同人一样,操作系统也有自己的生理需求,对于人来说生理需求无非吃喝拉撒等,而对于操作系统来说它的生理需求又是什么了?我个人认为应该是底层硬件的配置,内核的驱…

    Linux干货 2017-03-30
  • shell脚本基础

    1、编程基础     程序:指令+数据   程序编程风格:                         过程式:以指令为中心,数据服务于指令         &nbs…

    2017-04-20
  • shell脚本基础

    shell脚本基础 变量 bash的变量:  环境变量  本地变量  位置变量  特殊变量 本地变量:bash:作用域为整个bash进程 局部变量:作用域为当前代码段 local VARNAME=VALUE 引用变量:${VARNAME} 环境变量:作用域为当前的shell进程及其子进程 export VARNAME=…

    Linux干货 2017-04-16