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
下一篇 2018-07-05

相关推荐

  • 创建空文件和刷新时间

    复制文件和目录cp:    

    Linux笔记 2018-04-01
  • 第七周

    1、简述linux操作系统启动流程 inux系统启动流程大致是这样的: post ->BIOS(Boot Sequence) –> MBR(GRUB) –> Kernel(ramdisk) –> rootfs –> /sbin/init(/etc/inittab) BIOS 主板在接通电源后,BIOS会第一个获得系统的控制权。B…

    Linux笔记 2018-07-15
  • N31-第二周作业—文件的管理

    1、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。
    2、bash的工作特性之命令执行状态返回值和命令行展开所涉及的内容及其示例演示。
    3、请使用命令行展开功能来完成以下练习:
    (1)、创建/tmp目录下的:a_c, a_d, b_c, b_d
    (2)、创建/tmp/mylinux目录下的:
    mylinux/
    ├── bin
    ├── boot
    │   └── grub
    ├── dev
    ├── etc
    │   ├── rc.d
    │   │   └── init.d
    │   └── sysconfig
    │   └── network-scripts
    ├── lib
    │   └── modules
    ├── lib64
    ├── proc
    ├── sbin
    ├── sys
    ├── tmp
    ├── usr
    │   └── local
    │   ├── bin
    │   └── sbin
    └── var
    ├── lock
    ├── log
    └── run
    4、文件的元数据信息有哪些,分别表示什么含义,如何查看?如何修改文件的时间戳信息。
    5、如何定义一个命令的别名,如何在命令中引用另一个命令的执行结果?
    6、显示/var目录下所有以l开头,以一个小写字母结尾,且中间至少出现一位数字(可以有其它字符)的文件或目录。
    7、显示/etc目录下,以任意一个数字开头,且以非数字结尾的文件或目录。
    8、显示/etc目录下,以非字母开头,后面跟了一个字母以及其它任意长度任意字符的文件或目录。
    9、在/tmp目录下创建以tfile开头,后跟当前日期和时间的文件,文件名形如:tfile-2016-05-27-09-32-22。
    10、复制/etc目录下所有以p开头,以非数字结尾的文件或目录到/tmp/mytest1目录中。
    11、复制/etc目录下所有以.d结尾的文件或目录至/tmp/mytest2目录中。
    12、复制/etc/目录下所有以l或m或n开头,以.conf结尾的文件至/tmp/mytest3目录中。

    2018-07-05
  • 数组,字符串切片,高级变量

    数组 变量:存储单个元素的内存空间 数组:存储多个元素的连续的内存空间,相当于多个变量的集合 数组名和索引 索引:编号从0开始,属于数值索引 注意:索引可支持使用自定义的格式,而不仅是数值格式,即为关联索引 bash4.0版本之后开始支持 bash –version   查看bash版本 bash的数组支持稀疏格式(索引不连续) 声明数组: de…

    Linux笔记 2018-05-13
  • SSH端口转发实验

      本节索引: 一、SSH端口转发相关概念 二、实验:模拟SSH本地端口转发 三、实验:模拟SSH远程端口转发 四、实验:模拟SSH动态端口转发   一、SSH端口转发相关概念 在上一节我们知道,SSH会自动加密和解密所有SSH客户端和服务器之间的网络数据。但是,SSH还同时 提供了一个非常有用的功能,这就是端口转发。它能够将其他TCP端…

    Linux笔记 2018-05-22
  • 内核空间与用户空间,进程与线程以及上下文

    个人理解,比较啰嗦,逻辑性也不强。如果有疑问可以讨论,或者有大佬提点也是可以的。

    2018-03-30