LVS_NAT实验过程...

LVS-NAT

是通过改变数据包中的目的IP地址,来实现调度的.

拓扑图:

说明:

Director是调度服务器、Real N为真实服务器(这里用四台).实验用vmware虚拟机和小凡模拟器来完成,为了保证物理上确实是隔离开的,需要不同的vmnet网卡相连.

lClient与路由器之间用vmnet1连接;

l路由器与Director之间用vmnet2连接;

lDirector的eth1与Real N用vmnet5

所有服务器均为:Centos6.5_X86_64 内核版本为2.6.32-431.el6.x86_64

步骤:

一、Install software:

1.安装ipvsadm(用户空间工具)

配置好本地yum源,使用本地yum源来安装此工具

[[email protected] ~]# yum install -yipvsadm

二、配置各主机的IP


主机


IP


网关


Client


172.16.41.2


F0/0


Route


F0/0:172.16.41.1---vm1

F0/1:192.168.2.1---vm2


Director


eth0:192.168.2.2(VIP)---vm2

eth1:192.168.3.1(DIP)---vm5


F0/1


Real server 1


eth0:192.168.3.10


192.168.3.1(DIP)


Real server 2


eth0:192.168.3.20


192.168.3.1(DIP)


Real server 3


eth0:192.168.3.30


192.168.3.1(DIP)


Real server 4


eth0:192.168.3.40


192.168.3.1(DIP)


Real server N


eth0:192.168.3.N


192.168.3.1(DIP)

由于是用NAT方式做负载均衡,所以Realserver N 都要指向Director作为网关.

三、配置Realserver N的主页服务

给每台Real server 服务器安装好Web服务,并在每台服务器的/var/www/html/下建立index.html文件,为了看出效果,最好每台服务器上的index.html文件不一样,例如在Real server 1 上的index.html内容如下:

其他几台Real server 服务器的index.html内容,只需要把上面的红色框的部分对应更改一下即可,然后开启httpd服务.

四、配置Director

在Director上面也建立个apache服务,写个与真实服务器不一样的index.html,例如:

建立这个index.html的目的是为验证集群效果.当没有配置集群时,看到的是Director上的index.html,如果配置了集群,再访问VIP,就能看到其他Real server服务器上的index.html.

1.开启路由转发:

[[email protected] ~]# vim/etc/sysctl.conf

[[email protected] ~]# sysctl -p

此步非常重要!!!

2.增加虚拟服务

[[email protected] ~]# ipvsadm -A -t 192.168.2.2:80 -s rr

增加一个指向192.168.2.2:80 的tcp虚拟服务,用轮叫(rr)算法

3.增加真实服务器

ipvsadm -a -t192.168.2.2:80 -r 192.168.3.10 -m

ipvsadm -a -t192.168.2.2:80 -r 192.168.3.20 -m

ipvsadm -a -t 192.168.2.2:80-r 192.168.3.30 -m

ipvsadm -a -t192.168.2.2:80 -r 192.168.3.40 -m

以NAT的方式,增加指向各真实服务器条目.

五、测试

在Client上用浏览器打开http://192.168.2.2地址,这时能看到真实服务的主页内容.反复按F5刷新,能看到不同的真实服务器的内容.说明集群已经建立成功.

我们也可以到Director服务器上,通过执行ipvsadm -L-n 来查看调度的状态,如下:

可以看出,4台Realserver,被调用的频率是均等的,因为用了rr算法.

并且用的是NAT方式实现调度.(Masq代表NAT方式)

六、wrr算法的应用

上面用的是轮叫(rr)算法,每个Realserver被调用的机会是均等的,假设Real server1和Realserver2的处理性能远比Real server3和Real server4都强,用rr算法就不是很合理了.因为rr算法不会考虑权重(Weight),也就是优先级,所以需要换成wrr(加权轮叫)算法,此算法会考虑管理员设置的权重,权重高的Realserver,会被优先选中,而被选中的频率也会多一些.

由于是接着上面的实验继续研究,所以可以有2种方法:①删除以前的内容重新开始②替换以前的内容.如果要删除,可以用ipvsadm -C来清除所有配置,再按上面的步骤2、3做就可以了.下面采用替换的方法:

1.改变算法:

2.改变Real server1和Realserver2的权重高一些

权重值范围从0-65535之间,默认值为1,值越高,优先级就越高.如果值是0表示永远不被选中(在处理真是服务器故障和维护时很有用),如果只是65535表示永远只选中它.

改完后在Client 的浏览器里按F5刷新,在director上可以看到Realserver1和Real server2被选中的频率是其他Real server的5倍.倍值可以根据你工作的环境来合理设置.

注意:

当用rr算法时,即使设置了权重值,也不会起作用.只有用到wrr算法时,权重值才会发挥作用.

可见ipvsadm -a 命令加入真实条目的先后顺序,并不能决定Real server 的优先级,而是靠权重来决定的.

七、lc和wlc算法的应用

Lc是最少链接算法,此算法会检查哪台Realserver 的链接请求最少,就优先选择它.所以当你的服务器硬件配置相同时,lc是个不错的选择,(个人感觉如果链接的起始数量一样的时候,跟rr算法没有区别)wlc是加权最少链接算法,此算法跟lc类似,只是增加了权重的考虑条件.能让管理员在指定的Realserver中,优先应用最少链接算法.跟rr与wrr之间的关系是一种感觉.我们来实验一下:

1.改变算法:

2.改变Realserver1和Real server 2的权重高一些

改完后在Client 的浏览器里按F5刷新,在director上可以看到Realserver1和Real server2被选中的频率是其他Real server的5倍.倍值可以根据你工作的环境来合理设置.(好像跟wrr的效果差不多-_-!)

注意:

Lvs默认的算法是wlc

当用lc算法时,即便设置了权重值,也不会起作用.只用用到wlc算法时,权重才会发挥作用.

NAT方式小结:

原理比较好理解,配置相对简单些

如果Real server 到5-10台以上时,Director将会是瓶颈....

LVS_NAT实验过程...,布布扣,bubuko.com

时间: 2024-12-16 12:34:34

LVS_NAT实验过程...的相关文章

VS项目属性配置实验过程

一.实验背景 cocos2d-x已经发展的相对完善了,从项目的创建.编译.运行到最后的打包都有相应的便捷工具,开发者只需要关注自己的游戏逻辑代码即可,这一点很赞,可是傻瓜式的编程,让我至今还只停留在使用vs建个空项目做个小demo的阶段,我根本不知道cocos2d-x项目究竟是如何组织的,那些项目与项目之间的关系,那些库文件的引用,那些属性的配置,那些路径设置,那些宏定义究竟是在哪里,为什么会出现两个窗口,一大片属性究竟是什么意思,,所以很有必要研究一下.现在把实验过程同大家交流一下,有什么说的

数据库数据恢复实验过程

进入数据库操作,难免会出现一些误操作.这时就需要我们对数据进行恢复.一下介绍一下如何将表中的内容删除后进行恢复的过程. 首先我们模拟一下实验环境: 将数据库安装好之后进入到/etc/my.cnf中 查看是否启用了日志功能(数据恢复是根据日志来进行恢复的.) 在此环境已经设置好了. 之后进入数据库中新建一个库命名未vianet_bss 进入库中并新建一个表命名为stb_active create table stb_active (SERVER_ID char(5),SERVER_CODE cha

静态路由的配置实验过程

在进行静态路由配置的实验之前,我们先要了解什么是静态路由,并且知道静态路由是如何工作的!静态路由:一种路由的方式,路由项(routing entry)由手动配置,而非动态决定.与动态路由不同,静态路由是固定的,不会改变,即使网络状况已经改变或是重新被组态.一般来说,静态路由是由网络管理员逐项加入路由表.路由工作在网络层,路由根据"路由表"转发数据.路由选择.路由转发. 静态路由的配置实验 实验流程一.配置路由器和PC这张图表明的是我们今天要做的静态路由实验.三台PC连接四台路由器,如图

mdadm命令详解及实验过程

一.概念 mdadm是multiple devices admin的简称,它是Linux下的一款标准的软件 RAID 管理工具,作者是Neil Brown 二.特点 mdadm能够诊断.监控和收集详细的阵列信息          mdadm是一个单独集成化的程序而不是一些分散程序的集合,因此对不同RAID管理命令有共通的语法          mdadm能够执行几乎所有的功能而不需要配置文件(也没有默认的配置文件) 三.作用 (引用) 在linux系统中目前以MD(Multiple Device

图像识别实验过程(一)背景和介绍

在训练图像识别的深度神经网络时,使用大量更多的训练数据,可能会使网络得到更好的性能,例如提高网络的分类准确率,防止过拟合等.获取更多的训练样本其实是很好的想法.但是,这个方法的代价很大,在实践中常常是很难达到的.不过还有一种方法能够获得类似的效果,那就是人为扩展训练数据(Artificially expanding the training data). 对于图像数据我们可以通过旋转,转换,扭曲图像等方式来扩展训练数据,人为扩展训练数据的原则是对数据的操作最好能反映真实世界的变化.例如在2003

k8s 实验过程中遇到的两个小问题 端口 和 批量删除Error的pods

1. 自己kubeadm搭建的一套k8s系统 然后进行做实验 发现了几个问题 jenkins 创建 salves的时候总是有问题.  提示注册不上 然后 我修改了下yaml文件 暴露端口 50000 提示不支持的端口范围 端口仅支持 30000-32567 左右的几个端口 百度了下 来修改端口的范围 发现 有几个不一样的地方 我的是通过 docker化方式部署的 没有配置文件 只有yaml文件 简单参考了下 方法为: 找到 kubeadm 创建的默认文件位置 cd /etc/kubernetes

隧道目标识别实验过程(二)标准VOC数据集和制作后的数据集实验结果对比

VOC标准数据集中一共有20个类别: 'aeroplane', 'bicycle', 'bird', 'boat','bottle', 'bus', 'car', 'cat', 'chair','cow', 'diningtable', 'dog', 'horse','motorbike', 'person', 'pottedplant','sheep', 'sofa', 'train', 'tvmonitor' 可以尝试用其中的红色标注的五个类别来对隧道目标进行识别. 标准数据集中的车和行人的

Samba服务器相关配置及实验过程

Samba服务器 又叫操作系统集成工具    能验证IP网段.还能验证身份    安全性比NFS优越的多    SMB:tcp/139和tcp/445NetBIOS: udp/137和udp/138 samba软件目前可以提供的功能---->一般用前两个,主要是第一个    文件共享    主机名解析    WINDOWS活动目录的支持(3.0以上的版本)---->将linux添加到域,成为域控制器,不过很少有人这么做        (LDAP协议)        三个功能分别放在三个脚本上:

NFS服务器配置及实验过程

网络文件系统    1.NFS        UNIX/LINUX   <--->   UNIX/LINUX     2.CIFS        UNIX/LINUX/WINDOWS   <--->   UNIX/LINUX/WINDOWS    NFS 红帽5 port mapper     端口映射表红帽6 rpcbind 远程过程调用 NFS    Network File System    v1:SUN内部使用    v2:开始开放使用    v3:用的最多    v4: