部署LVS-DR集群

使用LVS实现DR模式的集群调度服务器,为用户提供Web服务

  • 路由器对外公网IP地址为202.114.106.20
  • 路由器内网IP地址为192.168.0.254
  • 路由是需要设置SNAT及DNAT功能
  • LVS调度器真实IP地址为192.168.0.10
  • LVS调度器VIP地址设置为192.168.0.253
  • 真实Web服务器地址分别为192.168.0.1、192.168.0.2
  • 使用加权轮询调度算法,真实服务器权重与其IP地址末尾数一致

方案

使用4台虚拟机,1台作为Linux路由器、1台作为Director调度器、2台作为Real Server、物理机作为客户端,拓扑结构如图-2所示。

部署LVS-DR集群
 

环境准备:

client :201.1.1.200(eth2)

dieector:(eth2)
      dip:201.1.1.1.100

vip:201.1.1.1.101

rel server :(eth2)

201.1.1.102   

201.1.1.103

 

配置调度服务器:

1.配置vip地址:

[root@ds1 ~]# ip addr add dev eth2 201.1.1.101/24

[root@ds1 ~]# ip addr  ls dev eth2

4: eth2: mtu 1500 qdisc pfifo_fast state UP qlen 1000

    link/ether 52:54:00:eb:93:36 brd ff:ff:ff:ff:ff:ff

    inet 201.1.1.100/24 brd 201.1.1.255 scope global eth2

       valid_lft forever preferred_lft forever

    inet 201.1.1.101/24 scope global secondary eth2

       valid_lft forever preferred_lft forever

    inet6 fe80::a5ea:f6dd:a462:eb4f/64 scope link 

       valid_lft forever preferred_lft forever

 

 

2.添加虚拟服务器:

[root@ds1 ~]# ipvsadm -C

[root@ds1 ~]# ipvsadm -A -t 201.1.1.101:80 -s rr

 

3.添加真实服务器:

[root@ds1 ~]# ipvsadm -a -t 201.1.1.101:80 -r 201.1.1.102 -g

[root@ds1 ~]# ipvsadm -a -t 201.1.1.101:80 -r 201.1.1.103 -g

 

 

4.查看LVS配置

[root@ds1 ~]# ipvsadm -Ln

IP Virtual Server version 1.2.1 (size=4096)

Prot LocalAddress:Port Scheduler Flags

  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn

TCP  201.1.1.101:80 rr

  -> 201.1.1.102:80               Route   1      0          0         

  -> 201.1.1.103:80               Route   1      0          0  

 

Real Server 的配置:

 

1.在lo设备上配置vip:(虚拟ip)(rs 1 和 rs 2  都是一样的配置)

[root@rs1 ~]# ip a a dev lo 201.1.1.101/32

[root@rs1 ~]# ip a ls dev lo 

1: lo: mtu 65536 qdisc noqueue state UNKNOWN qlen 1

    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00

    inet 127.0.0.1/8 scope host lo

       valid_lft forever preferred_lft forever

   inet 201.1.1.101/32 scope global lo

       valid_lft forever preferred_lft forever

    inet6 ::1/128 scope host 

       valid_lft forever preferred_lft forever

 

2.禁用arp 请求:

[root@rs1 ~]# cat /proc/sys/net/ipv4/conf/all/arp_ignore 

0

[root@rs1 ~]# echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore

[root@rs1~]# echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce 

 

3.开启httpd服务:

[root@rs1 ~]# systemctl  start httpd

[root@rs2 ~]# systemctl  start httpd

 

 

4.客户端测试:

[root@client ~]# ping -c 3 201.1.1.101

[root@client ~]# curl http://201.1.1.101

rs2

[root@client ~]# curl http://201.1.1.101

rs1

[root@client ~]# curl http://201.1.1.101

rs2

[root@client ~]# curl http://201.1.1.101

rs1

[root@client ~]# curl http://201.1.1.101

rs2

 

 

测试:

[root@client ~]# yum install  httpd-tools

 

[root@client ~]# nmcli connection  add  type  ethernet  con-name eth3 ifname  eth3

连接“eth3”(013093b5-8bc9-4a3b-b29c-9b912efcfe8f) 已成功添加。

[root@client ~]# nmcli connection  modify  eth3 ipv4.method  manual ipv4.addresses 201.1.2.200/24 ipv4.gateway 201.1.2.254 connection.autoconnect yes

[root@client ~]# nmcli connection  up eth3

连接已成功激活(D-Bus 活动路径:/org/freedesktop/NetworkManager/ActiveConnection/9)

[root@client ~]# nmcli connection  delete eth2

 

 

 

 

 

 

[root@rs2 ~]# nmcli connection modify eth2 ipv4.method  manual ipv4.gateway  201.1.1.254 connection.autoconnect yes

[root@rs2 ~]# nmcli connection  up eth2

[root@rs2 ~]# nmcli connection modify  eth0 ipv4.method  manual ipv4.gateway 0.0.0.0 connection.autoconnect yes

[root@rs2 ~]# nmcli connection  up eth0

[root@rs2 ~]# route -n

 

[root@ds1 ~]# nmcli connection  modify  eth2 ipv4.method  manual ipv4.gateway 201.1.1.254 connection.autoconnect yes

[root@ds1 ~]# ip a a dev eth2 201.1.1.101/24

 

 

 

[root@room9pc01 ~]# iptables -F  -A forward

[root@room9pc01 ~]# cat /proc/sys/net/ipv4/ip_forward

1

 

 

每个节点的节点的都ping通

[root@client ~]# ping -c 2 201.1.2.254

[root@client ~]# ping -c 2 201.1.1.254

[root@client ~]# ping -c 2 201.1.1.102

[root@client ~]# ping -c 2 201.1.1.103

[root@client ~]# ping -c 2 201.1.1.101

 

 

客户机测试:

[root@client ~]# curl http://201.1.1.101

rs1

[root@client ~]# curl http://201.1.1.101

rs2

[root@client ~]# curl http://201.1.1.101

rs1

[root@client ~]# curl http://201.1.1.101

rs2

 

删除client的网关:

[root@client ~]# route del default

 

在路由器上添加规则:

 

[root@room9pc01 ~]# iptables -t nat -F

 

[root@room9pc01 ~]# iptables -t nat -A PREROUTING -d 201.1.2.254 -p tcp  --dport 80 -j DNAT  --to 201.1.1.101

 

[root@room9pc01 ~]# iptables -t nat -A POSTROUTING -s 201.1.1.0/24 -j SNAT --to  201.1.2.254

 

客户端client 访问:

[root@client ~]# curl 201.1.2.254

rs1

[root@client ~]# curl 201.1.2.254

rs2

[root@client ~]# curl 201.1.2.254

rs1

[root@client ~]# curl 201.1.2.254

rs2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

运维螺丝钉

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值