您的位置:首页 > 运维架构 > Nginx

如何搭建高可用架构(五)--LVS+Nginx配置实现

2017-12-15 13:06 876 查看

如何搭建高可用架构(五)–LVS+Nginx配置实现

标签(空格分隔): 高可用架构

上文中已经提到LVS在高可用架构中的作用,架构图如下:



本文将实现怎么配置LVS+Nginx的架构图:

LVS安装

1、检测Luinx内核中是否已经存在LVS

Centos6.5的内核已经支持了lvs,所有只需要安装lvs的管理工具ipvsadm即可;

1.1 检查linux内核是否集成lvs模块

[reman@node3 ~]$ modprobe -l | grep ipvs
kernel/net/netfilter/ipvs/ip_vs.ko
kernel/net/netfilter/ipvs/ip_vs_rr.ko
kernel/net/netfilter/ipvs/ip_vs_wrr.ko
kernel/net/netfilter/ipvs/ip_vs_lc.ko
kernel/net/netfilter/ipvs/ip_vs_wlc.ko
kernel/net/netfilter/ipvs/ip_vs_lblc.ko
kernel/net/netfilter/ipvs/ip_vs_lblcr.ko
kernel/net/netfilter/ipvs/ip_vs_dh.ko
kernel/net/netfilter/ipvs/ip_vs_sh.ko
kernel/net/netfilter/ipvs/ip_vs_sed.ko
kernel/net/netfilter/ipvs/ip_vs_nq.ko
kernel/net/netfilter/ipvs/ip_vs_ftp.ko
kernel/net/netfilter/ipvs/ip_vs_pe_sip.ko


1.2 开启路由转发功能:

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


2 安装依赖

yum install -y gcc gcc-c++ makepcre pcre-devel kernel-devel openssl-devel libnl-devel popt*


3、安装ipvsadm

1、cd /usr/local/src/

2、mkdir ipvsadm

3、cd ipvsadm/

4、wget http://www.linuxvirtualserver.org/software/kernel-2.6/ipvsadm-1.26.tar.gz或者rz上传

5、tar -xvf ipvsadm-1.26.tar.gz

6、cd ipvsadm-1.26

7、make

8、make install

9、ipvsadm –help (安装成功)

LVS配置

1、配置Director Server

1.1 在eth0上绑定虚拟ip

ifconfig eth0:0 192.168.0.57 broadcast 192.168.0.57 netmask 255.255.255.255 up


此处在eth0设备上绑定了一个虚拟设备eth0:0,同时设置了一个虚拟IP是192.168.0.57,然后指定广播地址也为192.168.0.57,需要特别注意的是,这里的子网掩码为255.255.255.255。

1.2.添加路由规则

route add -host 192.168.0.57 dev eth0:0


1.3.启用系统的包转发功能

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


参数值为1时启用ip转发,为0时禁止ip转发。其实在DR模式中,开启系统的包转发功能不是必须的,而在NAT模式下此操作是必须的。

1.4. 清除原有转发规则

ipvsadm –C


1.5. 添加虚拟IP规则

ipvsadm -A -t 192.168.0.57:80 -s rr


1.6. 在虚拟IP中添加服务规则

ipvsadm -a -t 192.168.0.57:80 -r 192.168.0.48:80 -g
ipvsadm -a -t 192.168.0.57:80 -r 192.168.0.49:80 –g


在新加虚拟IP记录中添加两条新的Real Server记录,并且指定LVS 的工作模式为直接路由模式。

1.7.重启LVS服务

ipvsadm


2、配置Real Server

在lvs的DR和TUn模式下,用户的访问请求到达真实服务器后,是直接返回给用户的,而不再经过前端的Director Server,因此,就需要在每个Real server节点上增加虚拟的VIP地址,这样数据才能直接返回给用户。

2.1. 在回环设备上绑定了一个虚拟IP地址

ifconfig lo:0 192.168.0.57 broadcast 192.168.0.57 netmask 255.255.255.255 up
/sbin/route add -host 192.168.0.57 dev lo:0


2.2. 设置参数

echo "1" >/proc/sys/net/ipv4/conf/lo/arp_ignore
echo "2" >/proc/sys/net/ipv4/conf/lo/arp_announce
echo "1" >/proc/sys/net/ipv4/conf/all/arp_ignore
echo "2" >/proc/sys/net/ipv4/conf/all/arp_announce

sysctl -p
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: