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

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

相关推荐
会飞的爱迪生5 天前
centos7之LVS-DR模式传统部署
网络·lvs
会飞的爱迪生6 天前
centos7之LVS-TUNNEL模式
lvs·tunnel
IT-民工211109 天前
LVS Nginx HAProxy的优缺点
运维·nginx·lvs
会飞的爱迪生9 天前
centos7配置keepalive+lvs
lvs·keepalive
打败4049 天前
lvs知识点归纳
负载均衡·lvs
阳排9 天前
Virtuoso使用layout绘制版图、使用Calibre验证DRC和LVS
lvs·layout·版图·virtuoso·drc
mqiqe13 天前
Linux LVS详解
linux·运维·lvs
运维小白。。13 天前
企业级调度器 LVS
运维·服务器·lvs
happy_king_zi14 天前
高并发负载均衡——nginx与lvs
nginx·负载均衡·lvs
abandondyy19 天前
LVS+Keepalived
lvs