keepalived高可用双主lvs-dr模型集群

keepalived高可用双主lvs-dr模型集群
keepalived高可用双主lvs-dr模型集群
环境 centos6.8
在keepalived服务器上安装keepalived RS服务器上安装nginx ,安装过程省略
为了便于实验,四台机器将关闭iptables和selinux

配置如下:

K1:

#修改keepalived配置文件

vim /etc/keepalived/keepalived.conf

! Configuration File for keepalived
global_defs {
notification_email {
root@localhost            #邮件地址
}
notification_email_from Alexandre.Cassen@firewall.loc     #定义发件人
smtp_server 127.0.0.1
smtp_connect_timeout 30
router_id 192.168.37.133   #此为keepalived1服务器的IP
vrrp_mcast_group4 224.0.100.32     #定义多播地址
}
vrrp_instance nginx1 {       #节点名称
state BACKUP                #节点模式
interface eth0            #指定网卡名
virtual_router_id 51
priority 95            #权重
advert_int 1            #健康检查间隔时间,生产环境配置请慎重
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {         #指定VIP
192.168.37.200/16 dev eth0
}
}
virtual_server 192.168.37.200 80{      #指定虚拟服务器
delay_loop 6                          
lb_algo wrr                       #循环模式
lb_kind DR                        #LVS工作模式
protocol TCP                       #协议
real_server 192.168.37.134 80     #真实物理机的ip和端口
{
weight 2                         #权重
HTTP_GET {                      #健康检查的模式
url {
path /
status_code 200                  #如果返回状态码为200,则视为服务器健康   
}
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
}
}
real_server 192.168.37.135 80 {           #定义第二台真实服务器
weight 1
HTTP_GET {
url {
path /
status_code 200
}
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
} } }
   
vrrp_instance nginx2 { #定义第二台虚拟服务器
state MASTER
interface eth0
virtual_router_id 34
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass 2222
}
virtual_ipaddress {
192.168.37.201/16 dev eth0
}
}
virtual_server 192.168.37.201 80{
delay_loop 6
lb_algo wrr
lb_kind DR
protocol TCP
real_server 192.168.37.134 80
{
weight 2
HTTP_GET {
url {
path /
status_code 200
}
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
}
}
real_server 192.168.37.135 80 {
weight 1
HTTP_GET {
url {
path /
status_code 200
}
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
} } }

#启动keeplived
service keepalived restart
K2:

修改keepalived配置文件

vim /etc/keepalived/keepalived.conf

! Configuration File for keepalived
global_defs {
notification_email {
root@localhost
}
notification_email_from Alexandre.Cassen@firewall.loc
smtp_server 127.0.0.1
smtp_connect_timeout 30
router_id 192.168.37.130
vrrp_mcast_group4 224.0.100.32
}
vrrp_instance nginx1 {
state MASTER
interface eth0
virtual_router_id 51
priority100
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.37.200/16 dev eth0
}
}
virtual_server 192.168.37.200 80{
delay_loop 6
lb_algo wrr
lb_kind DR
protocol TCP
real_server 192.168.37.134 80
{
weight 2
HTTP_GET {
url {
path /
status_code 200
}
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
}
}
real_server 192.168.37.135 80 {
weight 1
HTTP_GET {
url {
path /
status_code 200
}
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
} } }
   
vrrp_instance nginx2 {
state BACKUP
interface eth0
virtual_router_id 34
priority 95
advert_int 1
authentication {
auth_type PASS
auth_pass 2222
}
virtual_ipaddress {
192.168.37.201/16 dev eth0
}
}
virtual_server 192.168.37.201 80{
delay_loop 6
lb_algo wrr
lb_kind DR
protocol TCP
real_server 192.168.37.134 80
{
weight 2
HTTP_GET {
url {
path /
status_code 200
}
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
}
}
real_server 192.168.37.135 80 {
weight 1
HTTP_GET {
url {
path /
status_code 200
}
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
} } }

#启动keeplived
service keepalived restart
RS1:
#修改Nginx的首页为
echo “lvs1 RS1:192.168.37.135” > /usr/share/nginx/html/index.htm
#添加脚本
vim setpara.sh
   
    
vim setpara.sh
vip=192.168.37.200
vip2=192.168.37.201
mask='255.255.255.255'
case $1 in
start)
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
ifconfig lo:0 $vip netmask $mask broadcast $vip up
rgoute add -host $vip dev lo:0
ifconfig lo:1 $vip2 netmask $mask broadcast $vip2 up
rgoute add -host $vip2 dev lo:0
;;
stop)
ifconfig lo:0 down
ifconfig lo:1 down
echo 0 > /proc/sys/net/ipv4/conf/all/arp_ignore
echo 0 > /proc/sys/net/ipv4/conf/lo/arp_ignore
echo 0 > /proc/sys/net/ipv4/conf/all/arp_announce
echo 0 > /proc/sys/net/ipv4/conf/lo/arp_announce
;;
*)
echo "Usage $(basename $0) start|stop"
exit 1
;;
esac

#执行脚本

 bash setpara.sh start

#配置完毕,启动Nginx
service nginx restart
RS2:
修改Nginx的首页为
echo “lvs1 RS2:192.168.37.134” > /usr/share/nginx/html/index.html
添加脚本
   
    
vim setpara.sh
vip=192.168.37.200
vip2=192.168.37.201
mask='255.255.255.255'
case $1 in
start)
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
ifconfig lo:0 $vip netmask $mask broadcast $vip up
rgoute add -host $vip dev lo:0
ifconfig lo:1 $vip2 netmask $mask broadcast $vip2 up
rgoute add -host $vip2 dev lo:0
;;
stop)
ifconfig lo:0 down
ifconfig lo:1 down
echo 0 > /proc/sys/net/ipv4/conf/all/arp_ignore
echo 0 > /proc/sys/net/ipv4/conf/lo/arp_ignore
echo 0 > /proc/sys/net/ipv4/conf/all/arp_announce
echo 0 > /proc/sys/net/ipv4/conf/lo/arp_announce
;;
*)
echo "Usage $(basename $0) start|stop"
exit 1
;;
esac

#执行脚本 

bash setpara.sh start

#配置完毕,启动Nginx

service nginx restart


有关keepalived配置问题,已及LVS-DR模式的ARP抑制原理随后更新。


原创文章,作者:cnc,如若转载,请注明出处:http://www.178linux.com/75374

(0)
cnccnc
上一篇 2017-05-13 20:51
下一篇 2017-05-13 21:30

相关推荐

  • 网络班N22期第一周博客作业

    一、计算机的组成及功能。  计算机是由硬件系统和软件系统两部分组成的。 1、硬件系统包含:    (1)、主板。又叫主机板(mainboard)、系统板(systemboard)或母板(motherboard),它安装在机箱内,是微机最基本的也是最重要的部件之一,主板一般为矩形电路板,上面安装了组成计算机的主要电路系统,一般有B…

    Linux干货 2016-08-15
  • CentOS 6的开机流程及root密码破解

    一、CentOS 6的开机流程详解 启动流程详解 1、POST:    Power-On-Self-Test,加电自检,是BIOS功能的一个主要部分。负责完成对CPU、主板、内存、硬盘子系统、显示子系统、串并行接口、键盘、CD-ROM光驱等硬件情况的检测。 2、BootSequence(BIOS):    决定那个磁盘…

    Linux干货 2016-09-13
  • RAID及LVM的实现

    RAID及LVM的实现 第一部分 : RAID介绍及创建 1、mdadm工具 2、创建RAID 5及删除RAID 第二部分 : LVM的实现 1、基本命令 2、LVM创建及扩容和缩减 3、LVM快照 RAID介绍及创建 1、mdadm工具 mdadm [mode] <raid device> [options] <任意块设备> [mo…

    Linux干货 2017-08-22
  • 自动化运维之Cobbler

    自动化运维:         随着信息时代的持续发展,IT运维已经成为IT服务内涵中重要的组成部分。面对越来越复杂的业务,面对越来越多样化的用户需求,不断扩展的IT应用需要越来越合理的模式来保障IT服务能灵活便捷、安全稳定地持续保障,这种模式中的保障因素就是IT运维(其他因素是更…

    Linux干货 2016-04-21
  • 设计模式(十一)代理模式Proxy(结构型)

    1.概述        因为某个对象消耗太多资源,而且你的代码并不是每个逻辑路径都需要此对象, 你曾有过延迟创建对象的想法吗 ( if和else就是不同的两条逻辑路径) ? 你有想过限制访问某个对象,也就是说,提供一组方法给普通用户,特别方法给管理员用户?以上两种需求都非常类似,并且都需要解决一个更大的问题:你如何提供…

    Linux干货 2015-07-09
  • Linux基础知识之软件包管理(二)

    (1)CentOS7 yum dnf  yum repository: yum repo 存储了众多rpm包,以及包的相关的元数据文件(放置于特定目录下,repodata) 文件服务器: ftp:// http:// nfs:// file:/// (2)yum客户端: 配置文件: /etc/yum…

    Linux干货 2016-08-24