有关配置lvs的测试

来源:互联网 发布:字体库软件下载 编辑:程序博客网 时间:2024/06/05 14:46

1LVS:linux 虚拟服务器(linux virtual server

三层结构:

1层,由lvs负载均衡器组成,即lvs服务器

2层,有真实服务器组成,即RealServer

3层,共享存储层,为所有的RealServer提供共享存储空间和内容一致性的存储区域,一般有磁盘阵列设备组成。

Lvs完整执行的顺序:

创建lvsip_port方式和fwmark方式)——添加真实服务器(NAT模式和DR模式)——启动真实服务器(在真实服务器上进行操作)——停止真实服务器——移除真实服务器——删除lvs——清除lvs配置信息

2、真实服务器为NAT模式的网络环境配置:

至少需要两台机器(虚拟机也可):

lvs1:准备将其配置成lvs,需要两张网卡,eth0:192.168.8.174eth1:192.168.99.1

lvs2:充当真实服务器使用。需要一张网卡,eth0:192.168.99.2

真实服务器的网卡信息要与lvs的内网ip在同一个网段内,(说明:当启动真实服务器的时候,传给真实服务器的iplvs的内网ip,将其作为网关传递给真实服务器,启动成功之后,可以在真实服务器上查看到有默认网关192.168.99.1

NAT模式下,真实服务器的配置文件信息为:

路径:/etc/sysconfig/network-scripts/ifcfg-eth0(真实服务器的网卡信息配置)

Device=”eth0”

Onboot=”yes”(ONBOOT是指明在系统启动时是否激活网卡,只有在激活状态的网卡才能去连接网络,进行网络通讯)

Ipaddr=”192.168.99.2”

NAT 模式下的真实服务器infoworks2只能在内网,即网卡设置为internal模式。只有lvs服务器能跟外界通信。

检验NAT网络环境配置是否正确:

用其他外网客户端(如82网段192.168.82.48ping 192.168.8.174 可以ping

用其他外网客户端(如82网段192.168.82.48ping 192.168.99.2 ping 不通

192.168.8.174ping 192.168.99.2可以ping

启动真实服务器:

假设条件创建lvs和给lvs添加真实服务器都具备并且正确了。接下来就是启动真实服务器了。启动真实服务器的时候,需要在真实服务器上进行操作,即测试用例需要执行的服务器是192.168.99.2,而传给真实服务器的ip就是内网的ip192.168.99.1

停止真实服务器:(停止真实服务器后,真实服务器上的默认网关192.168.99.1会被删除)

停止真实服务器需要在真实服务器上执行,跟启动的情况一样,但是传递的参数只是真实服务器的类型参数,而不需要ip地址。必须传type参数是因为真实服务器不知道自己的模式,这些模式信息配置存放在lvs服务器上。(NAT模式和DR模式一样)

测试lvs是否配置成功,真实服务器是否能正常工作:

要通过其他客户端访问lvs的网卡信息。如果真实服务器启动成功,则执行测试用例,将lvs当做服务器访问,执行枚举网卡的操作,可以枚举到真实服务器的信息,如果有多台服务器,可以根据lvs的转发规则,访问到不同服务器的网卡信息,相当于真实服务器已经开始工作。

3、真实服务器为DR模式的网络环境

需要两台机器:

lvs1eth0:192.168.8.174eth1:192.168.99.1

lvs2eth0:192.168.8.175,充当真实服务器使用

说明:DR模式是指客户端访问lvs之后,lvs将请求转发给真是服务器,真实服务器能将结果直接转回给客户端,所以就需要真实服务器要与lvs中的一张网卡都能与外网通信,即需要有网关192.168.8.1(后面配置文件会写到),并且,真实服务器的端口跟lvs的端口都是一样,当然要求此端口的infoworks服务开启。

真实服务器为DR模式时的网络环境配置

路径:/etc/sysconfig/network-scripts/ifcfg-eth0(真实服务器的网卡信息配置)

Device=”eth0”

Onboot=”yes”

Ipaddr=”192.168.8.175”

GATEWAY=192.168.8.175(网关的作用就是让不同的网络也可以访问此网络)

DR 模式与NAT模式在网络配置上的最大区别就是DR模式的真实服务器需要有网关,这样才能与外网直接通信。

检测DR模式网络环境是否配置成功:

外网(如82网段:192.068.82.48)能ping192.168.8.174lvs服务器)

外网(如82网段:192.068.82.48)能ping192.168.8.175(真实服务器)

Lvs服务器能ping通真实服务器,即192.168.8.174ping192.168.8.175

启动真实服务器:

假设条件创建lvs和给lvs添加真实服务器都具备并且正确了,启动真实服务器的操作也是要在真实服务器上执行(192.168.8.175上),传给真实服务器的ip就是lvs设置的ipipport方式创建的vipfwmark方式创建是的dip(目的ip,相当于vip的作用)),启动真实服务器的一些配置是在lvs上面记录的,所以真实服务器自己其实不知道自己是什么模式,因而,停止真实服务器的时候需要传递给真实服务器一个转发模式的参数,如DR模式,或NAT模式。

停止真实服务器:(停止真实服务器后,真实服务器上的虚拟网卡lo:0会被删除)

停止真实服务器需要在真实服务器上执行,跟启动的情况一样,但是传递的参数只是真实服务器的类型参数,而不需要ip地址。(NAT模式和DR模式一样)

测试lvs是否配置成功,测试是否能正常完成转发功能

需要用第三方的客户端访问lvs,查看枚举到的网卡信息是否是真实服务器的网卡信息(注:枚举网卡信息时,只能枚举到物理设备,虚拟的网卡信息枚举不到)

82.48虚拟机访问lvsvipport,执行枚举网卡信息,看是否是枚举到真实服务器的网卡信息。

4、备注:

ANAT模式可以实现lvs端口和真实服务器端口不一致情况下的转发,例如,lvs服务器的ip192.168.8.174prot80 ip192.168.8.175port9000,但是DR模式的lvs服务器和真实服务器的端口只能是一样的,并且开启了服务器。

B、任何模式都不可以添加自己为真实服务器,当一台机器配置成lvs服务器后,只做转发用,不做真实服务器使用。

Cip_port 方式创建的lvs(真实服务器的模式为DR),可以通过ifconfig命令查看到,lvs服务器上多了一个虚拟网卡:eth0:0,而fwmark方式创建lvs之后没有这个虚拟网卡,ip_port方式NAT模式创建之后也没有虚拟网卡。Ip_port方式DR模式创建lvs生成的虚拟网卡用来充当对外访问的网卡。其他模式都是用eth0本身来作为对外访问地址。

D真实服务器起作用的模式为DR模式时,启动真实服务器成功后,可以在真实服务器上用ifconfig命令查看网卡信息,可以看到多了张虚拟网卡:lo0,停止真实服务器之后,此虚拟网卡就没有了。NAT模式下,不会有虚拟网卡出现。

E真实服务器的模式为NAT模式时,启动真实服务器成功之后,会在真实服务器的路由信息上配置一个默认网关(即内网ip),本测试过程中,可以通过route命令查看到真实服务器的默认路由是192.168.99.1

F启动真实服务器和停止真实服务器都是要在真实服务器上执行,即测试用例可以放在lvs服务器上,但是连接到的服务器socket是真实服务器(如192.168.8.175192.168.99.2

G涉及到lvs的执行,在配置创建lvs信息时,测试用例的TSocketlvs的另一张网卡ip(如lvs服务器上打算将192.168.8.174设置成lvs,则可以连接的socket192.168.99.1,(99.18.174是同一台机器,但是当设置成8.174之后,会与外界连接不上,只能通过99.1连接)这样创建lvs之后,还可以执行其他其他操作)

5、各种组合模式:

(1) ip_port 方式(DR+DR模式

参数设置:

Lvs参数设置:lvs创建成功后,会有一张虚拟网卡生成)

dev=eth0

ip=192.168.8.176vip,要不同于eth0eth1这两个两个ip,实际是配置给eth0:0这张虚拟网卡,后面通过其他客户端访问的时候也是访问的这个虚拟ip

port=9000(保证此端口的服务开启)

type=DR(此type是真实服务器的type,优先级低于添加真实服务器时候给的type

真实服务器的参数设置:

Rip=192.168.8.175(真实服务器要跟eth0都可以跟外界客户端通信,即ping通)

Port=9000

Type=DR(此时赋值的真实服务器优先级最高,若此时没赋值优先级,则使用创建lvs时候的type,若创建时也没指定,则使用默认的真实服务器模式)

启动真实服务器:(启动之后可以在真实服务器上用ifconfig命令查看到多了张虚拟网卡lo0

Ip=192.168.8.176(虚拟ip

Type=DR(此模式要跟真实服务器的模式一致,才可成功启动)

结果检测:

82.48上执行测试用例,用例访问的服务器为lvs的地址(192.168.8.176:9000),执行动作为枚举网卡信息,枚举到的网卡信息为192.168.8.175上面的网卡信息

(2) ip_port 方式(NAT+DR模式

参数设置:

Lvs参数设置:

dev=eth0

ip=192.168.8.174vip,要不同于eth0eth1这两个两个ip,实际是配置给eth0:0这张虚拟网卡,后面通过其他客户端访问的时候也是访问的这个虚拟ip

port=9000(保证此端口的服务开启)

type=NAT

真实服务器的参数设置:

Rip=192.168.8.175(真实服务器要跟eth0都可以跟外界客户端通信,即ping通)

Port=9000

Type=DR

启动真实服务器:(启动之后可以在真实服务器上用ifconfig命令查看到多了张虚拟网卡lo0

Ip= 192.168.8.175(虚拟ip

Type=DR(此模式要跟真实服务器的模式一致,才可成功启动)

结果检测:

82.48上执行测试用例,用例访问的服务器为lvs的地址(192.168.8.174:9000),执行动作为枚举网卡信息,枚举到的网卡信息为192.168.8.175上面的网卡信息

(3) Ip_port 方式(DR+NAT模式

参数设置:

Lvs参数设置:

dev=eth0

ip=192.168.8.176vip,会生成一张虚拟网卡eth0:0后面通过其他客户端访问的时候也是访问的这个虚拟ip

port=80(保证此端口的服务开启)

type=DR(此type是真实服务器的type,优先级低于添加真实服务器时候给的type

真实服务器的参数设置:

Rip=192.168.99.2(真实服务器要跟eth0都可以跟外界客户端通信,即ping通)

Port=9000

Type=NAT(此时赋值的真实服务器优先级最高,若此时没赋值优先级,则使用创建lvs时候的type,若创建时也没指定,则使用默认的真实服务器模式)

启动真实服务器:(启动成功后,可以通过route命令查看到默认网关为192.168.99.1

Ip=192.168.99.1(内网ip

Type=NAT(此模式要跟真实服务器的模式一致,才可成功启动)

结果检测:

82.48上执行测试用例,用例访问的服务器为lvs的地址(192.168.8.176:80),执行动作为枚举网卡信息,枚举到的网卡信息为192.168.99.2上面的网卡信息

(4) Ip_port 方式(NAT+NAT模式

参数设置:

Lvs参数设置:

dev=eth0

ip=192.168.8.174vip,对应的是eth0的网卡ip,后面通过其他客户端访问的时候也是访问的这个虚拟ip

port=80(保证此端口的服务开启)

type=NAT(此type是真实服务器的type,优先级低于添加真实服务器时候给的type

真实服务器的参数设置:

Rip=192.168.99.2(真实服务器要跟eth0都可以跟外界客户端通信,即ping通)

Port=9000

Type=NAT(此时赋值的真实服务器优先级最高,若此时没赋值优先级,则使用创建lvs时候的type,若创建时也没指定,则使用默认的真实服务器模式)

启动真实服务器:(启动成功后,可以通过route命令查看到默认网关为192.168.99.1

Ip=192.168.99.1(内网ip

Type=NAT(此模式要跟真实服务器的模式一致,才可成功启动)

结果检测:

82.48上执行测试用例,用例访问的服务器为lvs的地址(192.168.8.174:80),执行动作为枚举网卡信息,枚举到的网卡信息为192.168.99.2上面的网卡信息

(5) Fwmark方式(DR+DR模式

参数设置:

Lvs参数设置:

dev=eth0

ip=192.168.8.174vip,对应的是eth0的网卡ip,后面通过其他客户端访问的时候也是访问的这个虚拟ip

port=9000(保证此端口的服务开启)

type=DR(此type是真实服务器的type,优先级低于添加真实服务器时候给的type

真实服务器的参数设置:

Rip=192.168.8.175(真实服务器要跟eth0都可以跟外界客户端通信,即ping通)

Port=9000

Type=NAT(优先级说明同上)

启动真实服务器:(启动成功后,可以通过route命令查看到默认网关为192.168.99.1

Ip=192.168.8.174(内网ip

Type=NAT(此模式要跟真实服务器的模式一致,才可成功启动)

结果检测:

82.48上执行测试用例,用例访问的服务器为lvs的地址(192.168.8.174:9000),执行动作为枚举网卡信息,枚举到的网卡信息为192.168.99.2上面的网卡信息

(6) Fwmark方式(NAT+DR模式

参数设置:

Lvs参数设置:

dev=eth0

ip=192.168.8.174vip,对应的是eth0的网卡ip,后面通过其他客户端访问的时候也是访问的这个虚拟ip

port=9000(保证此端口的服务开启)

type=NAT(此type是真实服务器的type,优先级低于添加真实服务器时候给的type

真实服务器的参数设置:

Rip=192.168.8.175(真实服务器要跟eth0都可以跟外界客户端通信,即ping通)

Port=9000

Type=DR(优先级说明同上)

启动真实服务器:(启动成功后,可以通过route命令查看到默认网关为192.168.99.1

Ip=192.168.8.174(内网ip

Type=DR(此模式要跟真实服务器的模式一致,才可成功启动)

结果检测:

82.48上执行测试用例,用例访问的服务器为lvs的地址(192.168.8.174:9000),执行动作为枚举网卡信息,枚举到的网卡信息为192.168.99.2上面的网卡信息

(7) Fwmark方式(DR+NAT模式

参数设置:

Lvs参数设置:

dev=eth0

dip=192.168.8.174vip,对应的是eth0的网卡ip,后面通过其他客户端访问的时候也是访问的这个虚拟ip

port=80(保证此端口的服务开启)

type=DR(此type是真实服务器的type,优先级低于添加真实服务器时候给的type

真实服务器的参数设置:

Rip=192.168.99.2(真实服务器要跟eth0都可以跟外界客户端通信,即ping通)

Port=9000

Type=NAT(此时赋值的真实服务器优先级最高,若此时没赋值优先级,则使用创建lvs时候的type,若创建时也没指定,则使用默认的真实服务器模式)

启动真实服务器:(启动成功后,可以通过route命令查看到默认网关为192.168.99.1

Ip=192.168.99.1(内网ip

Type=NAT(此模式要跟真实服务器的模式一致,才可成功启动)

结果检测:

82.48上执行测试用例,用例访问的服务器为lvs的地址(192.168.8.174:80),执行动作为枚举网卡信息,枚举到的网卡信息为192.168.99.2上面的网卡信息

(8) Fwmark方式(NAT+NAT模式

参数设置:

Lvs参数设置:(与fwmark方式(DR+NAT模式没多大区别)

dev=eth0

dip=192.168.8.174vip,对应的是eth0的网卡ip,后面通过其他客户端访问的时候也是访问的这个虚拟ip

port=80(保证此端口的服务开启)

type=DR(此type是真实服务器的type,优先级低于添加真实服务器时候给的type

真实服务器的参数设置:

Rip=192.168.99.2(真实服务器要跟eth0都可以跟外界客户端通信,即ping通)

Port=9000

Type=NAT(此时赋值的真实服务器优先级最高,若此时没赋值优先级,则使用创建lvs时候的type,若创建时也没指定,则使用默认的真实服务器模式)

启动真实服务器:(启动成功后,可以通过route命令查看到默认网关为192.168.99.1

Ip=192.168.99.1(内网ip

Type=NAT(此模式要跟真实服务器的模式一致,才可成功启动)

结果检测:

82.48上执行测试用例,用例访问的服务器为lvs的地址(192.168.8.174:80),执行动作为枚举网卡信息,枚举到的网卡信息为192.168.99.2上面的网卡信息

6、错误信息集:

1、 启动真实服务器成功后,通过其他客户端访问lvs,枚举不到网卡信息的可能情况:

a、 真实服务器的的服务端口是否开启

例如,真实服务器实际开启的端口是9000,但是在添加真实服务器的时候,端口号添加的是80,而80端口的服务尚未开启,所以会枚举不到真实服务器的网卡信息。

b、 访问的lvs服务器ip或者port不正确,ip必须是lvsvipfwmark方式创建的vip就是参数中的DIP),port是设置lvs信息是的portDR模式下,lvs的端口和真实服务器的端口必须一样)

7、相关命令:

1ifconfig:查看网络网卡信息

2、启动真实服务器后,发现环境清理不干净,真实服务器上有虚拟网卡lo0,可以使用命令ifconfig lo:0 down,然后重启lo网卡,ifdown lo ifup lo

组合使用:(Ifconfig lo:0    Ifdown lo    Ifup lo)

3、 ipvsadm命令可以查看lvs的相关信息,包括真实服务器的ip地址和端口,lvs的转发规则等。

4、 ipvsadm –C,可以清空lvs的环境

5、 99.2不容易更新,可以使用命令从8.1758.174上更新同步过来,scp

6、 删除网关:route del default gw 192.168.99.1

7、 添加网关:route add –net default gw 192.168.8.1

8、 查看lvs的转发详细信息:iptables –t mangle –L –n 可以查看到从lvs的哪个端口转发到真实服务器的哪个端口。

原创粉丝点击