LVS虚拟服务器相关实验

本节内容主要是是lvs相关性实验,及lvs健康性检查工具Ldirectord

本节索引:

一、实验:实现LVS-NAT

二、实验:实现LVS与RS之间添加路由器的LVS-NAT

(1)实现端口映射

(2)添加权重

三、实验:实现单网络LVS-DR

四、Ldirectord:实现LVS的RS健康性检查

 

 

一、实验:实现LVS-NAT

逻辑拓扑:

Nat模型

前期准备:

CLIENT:   172.20.0.123; 网关:172.20.0.200

LVS:     VIP:192.168.30.200, DIP:172.20.0.200,启用ip_forward

RS1:     192.168.30.17

RS2:     192.168.30.27

 

LVS:

开启路由转发

echo net.ipv4.ip_forward=1 >> /etc/sysctl.conf

sysctl –p

sysctl –a |grep ip_f

 

 

RS1、2:

搭建WEB环境

网关指向192.168.30.200

yum install httpd

RS1:

echo RS1> /var/www/html/index.html

systemctl start httpd

RS2:

echo RS2> /var/www/html/index.html

systemctl start httpd

 

LVS:

添加LVS规则

yum install ipvsadm

Ipvsadm –A –t 172.20.0.200:80 –s rr

Ipvsadm –a –t 172.20.0.200:80  –r 192.168.30.17 –m 

Ipvsadm –a –t 172.20.0.200:80  –r 192.168.30.27 –m 

Ipvsadm –Ln

1

 

测试:

curl 172.20.0.200

6

 

 

二、实验:实现LVS与RS之间添加路由器的LVS-NAT

逻辑拓扑:

Nat-Router模型

前期准备:

新增加一台虚拟机作为路由器,按下图进行网络环境搭建

CLIENT:   172.20.0.123;网关:172.20.0.200

LVS:   192.168.30.0,172.20.0.200,不启用ip_forward

ROUTER: VIP:172.20.0.100/16;DIP:192.168.30.200 /24,启用ip_forward

RS1:  192.168.30.17

RS2:  192.168.30.27

路由器必须配置到LVS的网关,并且开启路由转发功能

3

curl 172.20.0.200测试

4

 

实现端口映射:

以httpd服务为例,修改其中一台RS服务器的80端口为8080

RS1:

vim /etc/httpd/conf/httpd.conf

Listen 80 ==>Listen 8080

 

LVS:

清除原有LVS规则

ipvsadm -C 

ipvsadm -A -t 172.20.0.200:80 -s rr

ipvsadm -a -t 172.20.0.200:80 -r 192.168.30.17:8080 -m

ipvsadm -a -t 172.20.0.200:80 -r 192.168.30.27:80 -m

5

CLIENT:

6

 

添加权重:

LVS:

修改调度算法为wrr模式

7

ipvsadm -a -t 172.20.0.200:80 -r 192.168.30.17:8080 -m -w 3

8

 

CLIENT:

我们看到LVS已按RS1:RS1 = 3:1的权重进行调度

9

 

 

三、实验:实现单网络LVS-DR

逻辑拓扑:

LVS-DR模型-单网络

前期准备:

5台虚拟机,网络环境配置如下:

CLIENT:    桥接模式;172.20.0.222/16

ROUTER:  桥接模式;172.20.0.200/16;192.168.30.200/24

LVS:  仅主机模式;VIP:192.168.30.7/24;DIP:192.168.30.100/24

RS1:  仅主机模式;192.168.30.17/24;VIP:192.168.30.7/24

RS2:  仅主机模式;192.168.30.27/24;VIP:192.168.30.7/24

 

RS1,RS2:

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

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

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

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

一般习惯是将VIP绑定到RS服务器的回环网卡lo上

ip a a 192.168.30.7/32 dev lo

1

在RS1,RS2上搭建web服务

yum install httpd

RS1:

echo RS1> /var/www/html/index.html

systemctl start httpd

RS2:

echo RS2> /var/www/html/index.html

systemctl start httpd

 

 

LVS:

网络配置要求

VIP:  ip addr a192.168.30.7/32 dev lo

DIP:  192.168.30.100/24 eth0

GATEWAY:  192.168.30.X          #网关必须配,但可随意配置,同一网段即可

配置调度策略:

yum install ipvsadm

ipvsadm -A -t 192.168.30.7:80 -s rr

ipvsadm -a -t 192.168.30.7:80 -r 192.168.30.17      #默认dr模型

ipvsadm -a -t 192.168.30.7:80 -r 192.168.30.27

2

 

CLIENT:

测试

3

 

四、Ldirectord:实现LVS的RS健康性检查

ldirectord:监控和控制LVS守护进程,可管理LVS规则

包名:ldirectord-3.9.6-0rc1.1.1.x86_64.rpm

文件:

/etc/ha.d/ldirectord.cf    主配置文件

/usr/share/doc/ldirectord-3.9.6/ldirectord.cf   配置模版

/usr/lib/systemd/system/ldirectord.service    服务

/usr/sbin/ldirectord   主程序

/var/log/ldirectord.log   日志

/var/run/ldirectord.ldirectord.pid pid   文件

 

Ldirectord配置文件示例

checktimeout=3

checkinterval=1

autoreload=yes

logfile=”/var/log/ldirectord.log”       #日志文件

quiescent=no                                        #down时yes权重为0,no为删除

virtual=5                                               #指定VS的FWM或IP:port

real=172.16.0.7:80 gate 2

real=172.16.0.8:80 gate 1

fallback=127.0.0.1:80 gate #sorry server

service=http

scheduler=wrr

checktype=negotiate

checkport=80

request=”index.html”

receive=”test Ldirectord”

Ldirectord配置

重启ldirectord服务,将自动生成LVS规则

systemctl start ldirectord

Ldirectord配置2

默认情况下,当有一台RS服务器宕机时,LVS还将继续调度,启动ldirectord服务后,当某台RS服

务器宕机后,LVS将不再继续调度至该台服务器

 

 

 

 

 

 

 

 

 

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/102292

(1)
wangxczwangxcz
上一篇 2018-07-05 13:57
下一篇 2018-07-05 17:04

相关推荐

  • N31第四周作业

    本周(7.9–7.15)第4周 1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。 [a@localhost ~]$ sudo cp -r /etc/skel /home/tuser1 [a@localhost ~]$ sudo chmod -R go= /hom…

    Linux笔记 2018-07-16
  • shell脚本

    shell脚本的练习题

    2018-04-18
  • sed作业

    编程基础 程序:指令+数据程序编程风格:过程式:以指令为中心,数据服务于指令对象式:以数据为中心,指令服务于数据shell程序:提供了编程能力,解释执行 程序的执行方式 计算机:运行二进制指令编程语言:低级:汇编高级:编译:高级语言–>编译器–>目标代码 java,C#解释:高级语言–>解释器&#8211…

    2018-04-15
  • 手把手系列(四)教你用kickstart自动化安装CentOS系统

    KickStart是一种半自动化的安装方式。安装者完全可以只告诉安装程序从何处获取ks.cfg文件,然后去忙自己的事情。等安装完毕,安装程序会根据ks.cfg中设置的重启选项来重启系统,并结束安装。

    2018-05-24
  • 第一周作业-Linux基础

    1、描述计算机的组成及其功能。
    2、按系列罗列Linux的发行版,并描述不同发行版之间的联系与区别。
    3、描述Linux的哲学思想,并按照自己的理解对其进行解释性描述。
    4、说明Linux系统上命令的使用格式;详细介绍ifconfig、echo、tty、startx、export、pwd、history、shutdown、poweroff、reboot、hwclock、date命令的使用,并配合相应的示例来阐述。
    5、如何在Linux系统上获取命令的帮助信息,请详细列出,并描述man文档的章节是如何划分的。
    6、请罗列Linux发行版的基础目录名称命名法则及功用规定

    2018-06-24
  • 计算机原理与Linux基础

    计算机的组成及功能 1、其实计算机的组织分为内部设备和外部设备, 内部设备:         CPU:运算器、寄存器、缓存         存储器:内存,RAM(Random Access Memory)         控制器:控制器是整个计算机系统的控制中心,它指挥计算机各部分协调地工作,保证计算机按照预先规定的目标和步骤有条不紊地进行操作及处理。 外部…

    Linux笔记 2018-05-13