博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
lvs 笔记
阅读量:6909 次
发布时间:2019-06-27

本文共 3544 字,大约阅读时间需要 11 分钟。

  hot3.png

我的环境:VMware workstation + 3台 Ubuntu 12.04.5 LTS 版本的。

LVS/NAT

我配置的LVS/NAT配置的拓扑图如下

这里写图片描述

调度服务器:2个网卡一个桥接(192.168.31.206 ),一个host-only(10.10.100.52 )

真实服务器:10.10.100.51/53 ,(仿内网模式,都是host-only)

安装LVS

sudo apt-get install ipvsadm

调度服务器配置

开启路由转发功能

vim /etc/sysctl.conf

修改ip_forward

net.ipv4.ip_forward=1
//让参数生效sysctl -p

添加IP记录和规则

ipvsadm -A -t 192.168.31.206:80 -s rr        //这个IP地址就是用户访问的ip或者VIP地址ipvsadm -a -t 192.168.31.206:80 -r 10.10.100.51:80 -m -w 1ipvsadm -a -t 192.168.31.206:80 -r 10.10.100.53:80 -m

说明:-m 指定LVS 的工作模式为NAT 模式 ,rr表示采用轮询调度算法,这里还可以采用其他调度算法如wrr(加权轮询调度算法),-w在使用加权轮询调度算法时,还可以在添加规则时改变权值,一般默认权值为1

真实服务器配置

#真实服务器IPhu@ubuntu:~$ cat lvs.txtroot@10.10.100.51root@10.10.100.53hu@ubuntu:~$

网关

hu@ubuntu:~$ pssh -h lvs.txt -i 'route add default gw 10.10.100.52'[1] 20:36:48 [SUCCESS] root@10.10.100.51[2] 20:36:48 [SUCCESS] root@10.10.100.53

在2台真实的服务器配置网关,是把真实服务器处理的结果交给调度服务器去响应给用户

安装nginx

//内网没有源的可以测试ssh端口22或者其他端口pssh -h lvs.txt -i 'apt-get install nginx'

安装完成查看80端口

hu@ubuntu:~$ pssh -h lvs.txt -i 'lsof -i:80'[1] 20:19:35 [SUCCESS] root@10.10.100.51COMMAND  PID     USER   FD   TYPE DEVICE SIZE/OFF NODE NAMEnginx   1127     root    6u  IPv4   9227      0t0  TCP *:http (LISTEN)nginx   1127     root    7u  IPv6   9228      0t0  TCP *:http (LISTEN)nginx   1128 www-data 6u IPv4 9227 0t0 TCP *:http (LISTEN)nginx   1128 www-data 7u IPv6 9228 0t0 TCP *:http (LISTEN)nginx   1129 www-data 6u IPv4 9227 0t0 TCP *:http (LISTEN)nginx   1129 www-data 7u IPv6 9228 0t0 TCP *:http (LISTEN)nginx   1130 www-data 6u IPv4 9227 0t0 TCP *:http (LISTEN)nginx   1130 www-data 7u IPv6 9228 0t0 TCP *:http (LISTEN)nginx   1131 www-data 6u IPv4 9227 0t0 TCP *:http (LISTEN)nginx   1131 www-data 7u IPv6 9228 0t0 TCP *:http (LISTEN)[2] 20:19:35 [SUCCESS] root@10.10.100.53COMMAND  PID     USER   FD   TYPE DEVICE SIZE/OFF NODE NAMEnginx   1030     root    6u  IPv4   9062      0t0  TCP *:http (LISTEN)nginx   1030     root    7u  IPv6   9063      0t0  TCP *:http (LISTEN)nginx   1032 www-data 6u IPv4 9062 0t0 TCP *:http (LISTEN)nginx   1032 www-data 7u IPv6 9063 0t0 TCP *:http (LISTEN)nginx   1033 www-data 6u IPv4 9062 0t0 TCP *:http (LISTEN)nginx   1033 www-data 7u IPv6 9063 0t0 TCP *:http (LISTEN)nginx   1034 www-data 6u IPv4 9062 0t0 TCP *:http (LISTEN)nginx   1034 www-data 7u IPv6 9063 0t0 TCP *:http (LISTEN)nginx   1035 www-data 6u IPv4 9062 0t0 TCP *:http (LISTEN)nginx   1035 www-data 7u IPv6 9063 0t0 TCP *:http (LISTEN)

2个真实的服务器http服务启动了

测试

为了知道到底是访问到哪台了,分别修改下/usr/share/nginx/html/index.html(查看/etc/nginx/sites-available/default 的root )

hu@ubuntu:~$ pssh -h lvs.txt -i 'hostname > /usr/share/nginx/html/index.html'[1] 20:42:25 [SUCCESS] root@10.10.100.51[2] 20:42:25 [SUCCESS] root@10.10.100.53

访问 为zoo1 为zoo2

访问调度服务器 返回的内容不是zoo1就是zoo2.(多刷新几次才有效,Ctrl+F5)

VIP配置

如果需要keepalived

真实服务器的路由改成

route add default gw $vip

LVS/DR

这里写图片描述

eth0:1 为vip 192.168.31.200

调度服务器配置

ifconfig eth0:1 192.168.31.200 broadcast 192.168.31.200 netmask 255.255.255.255 uproute add -host 192.168.31.200 dev eth0:1ipvsadm -Cipvsadm -A -t 192.168.31.200:80 -s rr -p 600ipvsadm -a -t 192.168.31.200:http -r 192.168.31.186:http -gipvsadm -a -t 192.168.31.200:http -r 192.168.31.187:http -g

-g是使用DR模式

真实服务器配置

ifconfig lo:0 192.168.31.200 broadcast 192.168.31.200 netmask 255.255.255.255 uproute add -host 192.168.31.200 dev lo:0echo "1" >/proc/sys/net/ipv4/conf/lo/arp_ignoreecho "2" >/proc/sys/net/ipv4/conf/lo/arp_announceecho "1" >/proc/sys/net/ipv4/conf/all/arp_ignoreecho "2" >/proc/sys/net/ipv4/conf/all/arp_announcesysctl -p

测试

同上

转载于:https://my.oschina.net/neohlj/blog/624785

你可能感兴趣的文章
Linux下修改Mysql的用户(root)的密码
查看>>
20个java异常处理最佳实践
查看>>
centos架设pptp服务:并测试windos客户端、Linux客户端!
查看>>
【c#】BackgroundWorker类的使用方法
查看>>
【NetApp】启用smb2.0
查看>>
001作业题
查看>>
Redis密码验证情况下创建集群参考资料
查看>>
ssh连接复用
查看>>
我的友情链接
查看>>
原生js弹窗
查看>>
修改Hosts文件
查看>>
Python基本概念
查看>>
网络工程师该何去何从
查看>>
TeXworks代码补全功能
查看>>
java+jsp+mysql网页制作总结(1)
查看>>
获取当前操作的IFrame 对象的方法
查看>>
年月日下拉选择三级联动(闰年判断),时间获取方法总结,特殊:获取当前月天数...
查看>>
Tallest Cow(POJ3263)
查看>>
POJ—Building a Space Station
查看>>
杭电oj Problem-1013 Digital Roots
查看>>