linux-lvs+keepalived

Linux-Lvs的DR模式实现后端真实服务器的负载均衡

DR模式也就是用直接路由技术实现虚拟服务器。它的连接调度和管理与NAT模式一样,但它的报文转发方法不同,DR模式通过改写请求报文的 MAC地址,将请求发送到Real Server,而Real Server将响应直接返回给 客户。这种方式是负载调度机制中性能最高最好的

文章正在审核中... - 简书

keepalived+lvs实现实现负载均衡及高可用功能

如果单台LVS发生突发情况,例如宕机、发生不可恢复现象,会导致用户无 法访问后端所有的应用程序。避免这种问题可以准备一台台备用的LVS,主 LVS 宕机,LVS VIP自动切换到从,继续提供服务。可以基于 LVS+Keepalived实现负载均衡及高可用功能,满足网站7x24小时稳定高效 的运行。

下面我们直接操作:(实验是基于关闭selinux和firewalld的)

安装:

yum install ipvsadm -y

配置要点:

调度器的VIP,DIP和后端真实服务器IP必须配置在同一网段,都使用仅 主机模式;

客户端的IP与路由器外网IP保持一个网段,且客户端的网关设置为路由 器的外网地址;

后端真实服务器网关设置为路由器的内网地址;

路由器开启数据包的转发;

后端真实服务器要抑制VIP的arp广播;

RS服务器和LVS服务器的VIP以子接口方式配置;

记住配置网卡后,都需要重启网卡哦(systemctl restart network)

环境:

nginx:(vip绑定在回环的网卡上)

RIP:192.168.1.103  VIP:192.168.1.200/32

RIP:192.168.1.104  VIP:192.168.1.200/32

lvs:(VIP以子接口方式配置)

DIP:192.168.1.102  VIP:192.168.1.200

RS:

#服务器要抑制VIP的arp广播:

echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore

echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce

#RIP默认网关指向192.168.1.105——VIp加到回环地址里面的

LVS:

#VIP和DIP的默认网关都指向192.168.1.105

#配置LVS:

ipvsadm -A -t 192.168.1.200:80 # 工作模式如果不指定,默认是DR模式,如需指定使用-g

ipvsadm -a -t 192.168.1.200:80 -r 192.168.1.103

ipvsadm -a -t 192.168.1.200:80 -r 192.168.1.104

#添加IP_VS模块——lvs的IP负载均衡技术是通过IP_VS模块来实现的

modprobe ip_vs

路由器:

#一个ip仅主机,一个ip桥接。

#开启数据转发:

临时:

echo 1 >/proc/sys/net/ipv4/ip_forward

永久:

vim /etc/sysctl.conf——追加

net.ipv4.ip_forward = 1

system -p——查看

客户机测试:——成功


keepalived+lvs实现实现负载均衡及高可用功能

这里我们就在Linux-Lvs的DR模式实现后端真实服务器的负载均衡继续做实验

我们先清空LVS集群服务

ipvsadm -C

master端:

安装keepaalived:

yum install keepalived -y

修改配置文件:

! Configuration File for keepalived

global_defs {

  router_id node1

}

vrrp_instance VI_1 {

    state MASTER

    interface ens33

    virtual_router_id 51

    priority 100

    advert_int 1

    authentication {

        auth_type PASS

        auth_pass 1111

    }

    virtual_ipaddress {

        192.168.1.200/24 #指定群集vip地址

    }

}

virtual_server 192.168.1.200 80 {

    delay_loop 6

    lb_algo rr #指定调度算法,轮询(rr)

    lb_kind DR #指定群集工作模式,直接路由(DR)

    persistence_timeout 0 #回话保持时间

    protocol TCP #应用服务采用的是 TCP协议

    sorry_server 192.168.1.200 80 #当配置在lvs上的rs都无法访问到时,就需要有一台备用的服务器来提供报错页面

    real_server 192.168.1.103 80 {

        weight 1 #节点的权重

        HTTP_GET {

            url {

              path /

              status_code 200 #通过返回的状态码判断服务是否存活

            # digest ff20ad2481f97b1754ef3e12ecd3a9cc #通过配置文件的哈希值判断 获取哈希的方法:genhash -s 192.168.1.104 -p 80 -u /index.html

            }

            connect_timeout 3 #检测时长

            nb_get_retry 3 #添加重试次数

            delay_before_retry 3 #添加重试间隔

        }

    }

    real_server 192.168.1.104 80 { #添加第二个 Web节点的地址、端口

        weight 1

        HTTP_GET {

            url {

              path /

              status_code 200

            # digest ff20ad2481f97b1754ef3e12ecd3a9cc

            }

            connect_timeout 3

            nb_get_retry 3

            delay_before_retry 3

        }

    }

}

启动keepalived

systemctl start keepalived——看到集群由keepalived启动

backup端:

和lvs配置一样在backup服务器上也同样配置一遍。

安装keepalived

修改配置文件:

! Configuration File for keepalived

global_defs {

   router_id node1

}

vrrp_instance VI_1 {

    state BACKUP

    interface ens33

    virtual_router_id 51

    priority 90

    advert_int 1

    authentication {

        auth_type PASS

        auth_pass 1111

    }

    virtual_ipaddress {

        192.168.1.200/24 #指定群集vip地址

    }

}

virtual_server 192.168.1.200 80 {

    delay_loop 6

    lb_algo rr #指定调度算法,轮询(rr)

    lb_kind DR #指定群集工作模式,直接路由(DR)

    persistence_timeout 0 #回话保持时间

    protocol TCP #应用服务采用的是 TCP协议

    sorry_server 192.168.1.200 80 #当配置在lvs上的rs都无法访问到时,就需要有一台备用的服务器来提供报错页面

    real_server 192.168.1.103 80 {

        weight 1 #节点的权重

        HTTP_GET {

            url {

              path /

              status_code 200 #通过返回的状态码判断服务是否存活

             # digest ff20ad2481f97b1754ef3e12ecd3a9cc #通过配置文件的哈希值判断 获取哈希的方法:genhash -s 192.168.1.104 -p 80 -u /index.html

            }

            connect_timeout 3 #检测时长

            nb_get_retry 3 #添加重试次数

            delay_before_retry 3 #添加重试间隔

        }

    }

    real_server 192.168.1.104 80 { #添加第二个 Web节点的地址、端口

        weight 1

        HTTP_GET {

            url {

              path /

              status_code 200

             # digest ff20ad2481f97b1754ef3e12ecd3a9cc

            }

            connect_timeout 3

            nb_get_retry 3

            delay_before_retry 3

        }

    }

}

启动keepalived

systemctl start keepalived

测试:

master端关闭keepalived

systemctl stop keepalived

可以看到vip地址发生了飘移。(几乎一秒不到)

客户端测试:(任然可以正常访问,几乎不受任何影响)

()
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,558评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,002评论 3 387
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 159,036评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,024评论 1 285
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,144评论 6 385
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,255评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,295评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,068评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,478评论 1 305
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,789评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,965评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,649评论 4 336
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,267评论 3 318
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,982评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,223评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,800评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,847评论 2 351

推荐阅读更多精彩内容