lvs+keepalived+nginx负载搭建

来源:互联网 发布:双色球黄金分割算法 编辑:程序博客网 时间:2024/06/05 09:01

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

#ipvsadmA 192.168.65.200:80s wrr  这里是加权轮询#ipvsadma 192.168.65.200:80r 192.168.65.150:80gw 5# ipvsadma 192.168.65.200:80r 192.168.65.150:80gw 5

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

Vim /etc/sysconfig/ipvsadmipvsadm –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 keepalivedglobal_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.confnet.ipv4.conf.lo.arp_ignore = 1net.ipv4.conf.all.arp_ignore = 1net.ipv4.conf.lo.arp_announce = 2net.ipv4.conf.all.arp_announce =2

两台real server 配置虚拟网卡 新建ifcfg-lo:0
vim /etc/sysconfig/network-scripts/ifcfg-lo:0

DEVICE=lo:0BOOTPROTO=staticIPADDR=192.168.65.200NETMASK=255.255.255.255ONBOOT=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
任意一台服务器宕机,查看服务是否可用
这里写图片描述

0 0
原创粉丝点击