LVS_NAT和LVS_DR模式实现web负载均衡

一、   LVS_NAT模式实现web负载均衡


1.1 实验环境说明


实验拓扑


1.2 配置好个主机的IP地址和主机名(略)


1.3 关闭Linux防火墙和selinux


1.3.1时间同步

ntpdate ntp.aliyun.com

1.3.2关闭selinux

sed -i 's/^SELINUX=.*$/SELINUX=disable/' /etc/selinux/config

setenforce 0

1.3.3关闭防火墙

CentOS 7.x

  systemctl disable firewalld

  systemctl stop firewalld

CentOS 6.x

  /etc/init.d/iptables stop

  chkconfig iptables off


1.4 负载均衡服务器(LVS Director)安装配置


1.4.1 安装lvs的管理工具ipvsadm

[root@localhost ~]# yum install -y ipvsadm


1.4.2 开启路由转发功能

[root@localhost ~]# echo 1 > /proc/sys/net/ipv4/ip_forward


1.4.3 LVS Director 配置路由转发

[root@localhost ~]# iptables -t nat -F

[root@localhost ~]# iptables -t nat -X

[root@localhost ~]#  iptables -t nat -A POSTROUTING -s 192.168.2.0/24  -j MASQUERADE


1.4.4 配置LVS规则

[root@localhost ~]# ipvsadm -A -t 10.10.10.11:http -s rr

[root@localhost ~]# ipvsadm -a -t 10.10.10.11:http -r 192.168.2.11:80 -m

[root@localhost ~]# ipvsadm -a -t 10.10.10.11:http -r 192.168.2.12:80 -m


1.4.5 常用的ipvsadm命令

查看ipvs规则

ipvsadm –Ln

清空ipvs规则

Shell > ipvsadm -C

保存ipvs规则

ipvsadm -S > /etc/sysconfig/ipvsadm 或者ipvsadm-save -n > /etc/sysconfig/ipvsadm

恢复ipvs规则

ipvsadm -R < /etc/sysconfig/ipvsadm 或者ipvsadm-restore < /etc/sysconfig/ipvsadm


1.5 后端RS服务器配置


1.5.1 配置RS的RIP网关必须指向DIP(略)


1.5.2 RS上安装Nginx(两个RS都安装)

[root@localhost ~]# yum install epel-release

[root@localhost ~]# yum install -y nginx


1.5.3 RS1和RS2上分别修改nginx的静态主页

[root@localhost ~]# echo "<h1>Testpage on node1.ruhua.com<h1>" > /usr/share/nginx/html/index.html

[root@localhost ~]# echo "<h1>Testpage on node2.ruhua.com<h1>" > /usr/share/nginx/html/index.html


1.5.3启动nginx服务

[root@localhost ~]# service nginx start  #启动nginx

[root@localhost ~]# nginx -s reload #重载配置

[root@localhost ~]# chkconfig nginx on #设为开机启动


1.6.测试lvs负载效果


1.6.1windows上测试

在Windows平台使用浏览器测试,刷新页面,轮询的转发到后端的web1和web2节点上。

1.6.2在Linux上测试

[root@localhost ~]# curl 10.10.10.11

[root@localhost ~]# for i in {1..6} ; do curl http://10.10.10.11; done

[root@localhost ~]# for i in {1..6} ; do sleep 3; curl http://192.168.2.99; done


二、   LVS_NAT模式实现web负载均衡


2.1 实验环境说明


2.2 实验拓扑


2.3 配置好个主机的IP地址和主机名(略)


2.4 关闭Linux防火墙和selinux


2.4.1时间同步

ntpdate ntp.aliyun.com

2.4.2关闭selinux

sed -i 's/^SELINUX=.*$/SELINUX=disable/' /etc/selinux/config

setenforce 0

2.4.3关闭防火墙

CentOS 7.x

  systemctl disable firewalld

  systemctl stop firewalld


2.5 RS安装配置nginx(Apache也可以)


2.5.1 安装nginx

[root@localhost ~]# yum install epel-release

[root@localhost ~]# yum install -y nginx


2.5.2 修改nginx默认主页

RS1

cp /usr/share/nginx/html/{index.html,index.html_bak}

echo "RS1,192.168.99.101"> /usr/share/nginx/html/index.html

RS2

cp /usr/share/nginx/html/{index.html,index.html_bak}

echo "RS2,192.168.99.102"> /usr/share/nginx/html/index.html


2.5.3 启动nginx服务

systemctl start nginx.service

systemctl enable nginx.service


2.5.3 RS配置vip,RS1和RS2分别运行以下脚本

vim /usr/local/sbin/lvs_dr_rs.sh

bash /usr/local/sbin/lvs_dr_rs.sh start|stop


#!/bin/bash

#

vip=192.168.99.99

mask='255.255.255.255'

case $1 in

start)

echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore

echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore

echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce

echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce

ifconfig lo:0 $vip netmask $mask broadcast $vip up

route add -host $vip dev lo:0

;;

stop)

ifconfig lo:0 down

echo 0 > /proc/sys/net/ipv4/conf/all/arp_ignore

echo 0 > /proc/sys/net/ipv4/conf/lo/arp_ignore

echo 0 > /proc/sys/net/ipv4/conf/all/arp_announce

echo 0 > /proc/sys/net/ipv4/conf/lo/arp_announce

;;

*)

echo "Usage $(basename $0) start|stop"

exit 1

;;

esac


2.6  Director上安装配置LVS


2.6.1 安装lvs的管理工具ipvsadm

[root@localhost ~]# yum install -y ipvsadm

[root@localhost ~]# rpm -qa ipvsadm


2.6.2 Director上运行以下脚本,配置vip和lvs规则

vim /usr/local/sbin/lvs_dr.sh

bash /usr/local/sbin/lvs_dr.sh start|stop


#!/bin/bash

#

vip='192.168.99.99'

iface='ens33:0'

mask='255.255.255.255'

port='80'

rs1='192.168.99.101'

rs2='192.168.99.102'

scheduler='wrr'

type='-g'

case $1 in

start)

ifconfig $iface $vip netmask $mask broadcast $vip up

ipvsadm -A -t ${vip}:${port} -s $scheduler

ipvsadm -a -t ${vip}:${port} -r ${rs1} $type -w 1

ipvsadm -a -t ${vip}:${port} -r ${rs2} $type -w 1

;;

stop)

ipvsadm -C

ifconfig $iface down

;;

*)

echo "Usage $(basename $0) start|stop"

exit 1

;;

esac


2.7 测试lvs负载效果


在linux测试客户机上用curl命令测试

[root@localhost ~]# curl 192.168.99.99

[root@localhost ~]# for i in {1..10} ; do curl http://192.168.99.99; done


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,734评论 6 505
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,931评论 3 394
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,133评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,532评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,585评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,462评论 1 302
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,262评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,153评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,587评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,792评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,919评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,635评论 5 345
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,237评论 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,855评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,983评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,048评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,864评论 2 354

推荐阅读更多精彩内容