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

相关推荐

  • liunx基础命令

    alias:查看命令别名(别名只针对用户有效) alias h=hostname(定义别名) cdnet=‘cd /etc/sysconfig/network-scripts/’(带参数命令的要带单引号) 想长久生效修改.bashrc文件(root为/root/.bashrc,全部用户为/etc/bashrc,其他/home/user/.bashrc) un…

    Linux笔记 2018-04-08
  • Linux系统进程管理及作业操作

    进程是正在运行的程序实体,并且包括这个运行的程序中占据的所有系统资源,比如说CPU,IO,内存,网络资源等。通过学习Linux系统进程管理来协调多道程序之间的关系,使CPU得到充分的利用。

    2018-05-05
  • 自定义linux系统

    假如生活欺骗了你,不要悲伤不要心急,相信吧,快乐的日子终将来临!–海子

    Linux笔记 2018-03-26
  • 第一周总结

     ##### 存储网络: “` DAS—–直接连接存储(Direct attached storage) NAS—–网络连接存储(Network attached storage) SAN—–存储区域网络(storage area network) “` &#82…

    Linux笔记 2018-04-01
  • 第三周博客作业

    1、列出当前系统上所有已登录的用户名,注意:同一用户登陆多次,则只显示一次即可。
    2、取出最后登录到当前系统的用户的相关信息。
    3、取出当前系统上被用户当作默认shell的最多的那个shell。
    4、将/etc/passwd中的第三个字段数值最大的后10个用户的信息全部改为大写后保存至/tmp/maxusers.txt文件中。
    5、取出当前主机的IP地址,提示:对ifconfig命令的结果进行切分。
    6、列出/etc目录下所有以.conf结尾的文件的文件名,并将其名字转换为大写后保存至/tmp/etc.conf文件中。
    7、显示/var目录下一级子目录或文件的总个数。
    8、取出/etc/group文件中第三个字段数值最小的10个组的名字。
    9、将/etc/fstab和/etc/issue文件的内容合并为同一个内容后保存至/tmp/etc.test文件中。
    10、请总结描述用户和组管理类命令的使用方法并完成以下练习:

    Linux笔记 2018-03-27
  • mysq数据库五

    主从级联复制;主主服务器的搭建;半同步和过滤;主从复制加密;mah高可用性;5实现galeracluster

    2018-06-15