lvs+keepalived+nginx负载搭建

LVS:(linux virtual server)是一款网络模型四层的负载软件,即IP+端口的转发模式,

LVS:提供三种负载方式:

VS/NAT:网络地址转化

VS/TUN:端

VS/DR:直接轮询模式

10种调度算法:常用的由一下几种:

rr:轮叫调度,不管每个服务器的实际情况

wrr :加权轮叫调度。

lc:最少链接调度

wlc:加权最少链接调度

环境如下:

操作系统:centos7

Lvs主调度器:192.168.65.128

备调度器:192.168.65.129

VIP:192.168.65.200

Real server1:192.168.65.150

Real server2:192.168.65.151

系统结构图如下:

LVS主备上面,配置linux系统内核参数开启内核的路由模式

vim /etc/sysctl.conf

net.ipv4.ip.forward = 1

立即生效

```

sysctl -p

```

所有服务器先暂时关闭iptables服务,避免影响服务搭建。

在主备服务器上安装LVS

选择yum或源码包的安装方式

```

#yum install ipvsadm

#wget http://www.linuxvirtualserver.org/software/kernel-2.6/ipvsadm-1.26.tar.gz

#tar --zxvf ipvsadm-1.26.tar.gz

#make && make install

```

对主备配置LVS,将请求分别轮询到150和151

```

#ipvsadm --A 192.168.65.200:80 --s wrr 这里是加权轮询

#ipvsadm --a 192.168.65.200:80 --r 192.168.65.150:80 --g --w 5

ipvsadm --a 192.168.65.200:80 --r 192.168.65.150:80 --g --w 5

```

为了使配置文件一直生效可以添加进配置文件中

```

Vim /etc/sysconfig/ipvsadm

ipvsadm --A 192.168.65.200:80 --s wrr 这里是加权轮询

ipvsadm --a 192.168.65.200:80 --r 192.168.65.150:80 --g --w 5

ipvsadm --a 192.168.65.200:80 --r 192.168.65.150:80 --g --w 5

#-g表示直接路由,-w表示权重的值

```

在主备服务器安装keepalived

```

#wget http://www.keepalived.org/software/keepalived-1.2.4.tar.gz

#tar --zxvf keepalived-1.2.4.tar.gz

#./configure --prefix=/usr/local/keepalived

#make && make install

```

将keepalived做成开启启动服务

```

#cp /usr/local/etc/rc.d/init.d/keepalived /etc/init.d/

#cp /usr/local/etc/sysconfig/keepalived /etc/sysconfig/

#cp /usr/local/etc/keepalived/keepalived.conf /etc/keepalived/

#cp /usr/local/sbin/keepalived /usr/sbin/

```

在主备配置keepalived.conf 主LVS上面的keepalived的配置文件

```

! Configuration File for keepalived

global_defs {

notification_email {

}

router_id LVS_MASTER //备LVS上面LVS_BACKUP

}

vrrp_instance VI_1 {

state MASTER //备LVS设置BACKUP

interface eno16777736 //centos6设置为eth0

virtual_router_id 51

priority 150 //备LVS设置100

advert_int 1

authentication {

auth_type PASS

auth_pass 1111

}

virtual_ipaddress {

192.168.65.200

}

}

vrrp_server 192.168.65.200 80 {

delay_loop 3

lb_algo wrr

lb_kind DR

persistence_timeout 30

protocol TCP

real_server 192.168.65.200 80 {

weight 3

TCP_CHECK {

connect_timeout 3

nb_get_retry 3

delay_before_retry 3

connect_port 80

}

}

real_server 192.168.65.200 80 {

weight 3

TCP_CHECK {

connect_timeout 3

nb_get_retry 3

delay_before_retry 3

connect_port 80

}

}

}

```

安装nginx 下载需要的nginx的源码包

```

#wget http://nginx.org/download/nginx-xx.xx.tar.gz

#tar --zxvf nginx1.9.4.tar.gz

#./configure --prefix=/usr/local/nginx

#make && make install

```

配置real server服务器,两台nginx的服务器都一样,禁止arp相应的请求

```

Vim /etc/sysctl.conf

net.ipv4.conf.lo.arp_ignore = 1

net.ipv4.conf.all.arp_ignore = 1

net.ipv4.conf.lo.arp_announce = 2

net.ipv4.conf.all.arp_announce =2

```

两台real server 配置虚拟网卡 新建ifcfg-lo:0

vim /etc/sysconfig/network-scripts/ifcfg-lo:0

```

DEVICE=lo:0

BOOTPROTO=static

IPADDR=192.168.65.200

NETMASK=255.255.255.255

ONBOOT=yes

```

使配置生效:sysctl --p

为了区分两台real server服务器对nginx做如下配置

修改Real server1 和real server2

```

Vim nginx/html/index.html

<h1>Welcome to nginx!192.168.65.150</h1>

<h1>Welcome to nginx!192.168.65.151</h1>

```

分别启动服务

主备LVS : service ipvsadm start

Service keepalived start

Real server: service nginx start

测试在浏览器输入:192.168.65.200

任意一台服务器宕机,查看服务是否可用

相关推荐
大橘4 天前
centos8上实现lvs集群负载均衡dr模式
服务器·负载均衡·lvs
Z字小熊饼干爱吃保安5 天前
LVS-----DR模式
linux·运维·服务器·网络·nginx·lvs
Z字小熊饼干爱吃保安5 天前
Keepalive+LVS+Nginx+NFS高可用项目
运维·服务器·nginx·自动化·lvs·高可用
xxc_my5 天前
LVS高可用负载均衡
服务器·负载均衡·lvs·高可用
再学一丢丢9 天前
Keepalived+LVS+nginx高可用架构
nginx·架构·lvs
xxc_my10 天前
LVS的三种工作模式简述
服务器·网络·lvs
Kendra91911 天前
Keepalive+LVS+Nginx+NFS高可用架构
nginx·架构·lvs
棕生11 天前
架构师面试(二十三):负载均衡
nginx·负载均衡·lvs·架构师面试·rpc连接池·vip+keepalive
RememberLey12 天前
lvs-net+nfs的配置
开发语言·php·lvs
重启就好13 天前
【LVS】负载均衡群集部署(DR模式)
服务器·负载均衡·lvs