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

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

相关推荐
2401_878961722 天前
lvs介绍 模式
服务器·数据库·lvs
2401_850410832 天前
LVS简介
运维·nginx·tomcat·lvs
弗罗里达老大爷3 天前
负载均衡-lvs
运维·负载均衡·lvs
qq_448941085 天前
1、lvs介绍和模式
负载均衡·lvs
a1denzzz6 天前
lvs介绍与应用
lvs
yangfeipancc6 天前
LVS介绍
lvs
2401_871213307 天前
lvs负载均衡
运维·负载均衡·lvs
TianyaOAO7 天前
lvs介绍和DR模式
服务器·网络·lvs
学Linux的语莫9 天前
负载均衡,高可用,监控服务搭建总结
linux·服务器·分布式·ceph·lvs
马立杰11 天前
LVS能否实现两台服务器的负载均衡
linux·lvs