負荷分散クラスターLVS-DR展開

負荷分散クラスターLVS-DR展開

LVS-DRの動作原理

  • DRモードの概要

1.負荷分散クラスター作業モード-直接ルーティング
2.DRモードと呼ばれ、TUNモードの構造と同様のセミオープンネットワーク構造を採用していますが、ノードはさまざまな場所に分散していませんが、スケジューラーと同じ物理ネットワーク
3.ロードスケジューラーは、専用のIPトンネルを確立することなく、ローカルネットワークを介して各ノードサーバーに接続されます。

LVS-DRモードを展開する

nfsマシンのyumにnfsとrpcbindをインストールし
てから、Webディレクトリを作成します

[root@nfs ~]# rpm -qa | grep nfs
nfs-utils-1.3.0-0.48.el7.x86_64
libnfsidmap-0.25-17.el7.x86_64
nfs4-acl-tools-0.3.3-15.el7.x86_64
[root@nfs ~]# rpm -qa | grep rpcbindrpcbind-0.2.0-42.el7.x86_64
[root@nfs ~]# mkdir /web1
[root@nfs ~]# mkdir /web2
[root@nfs ~]# echo  "</h1>this is web1.</h1>" > /web1/index.html
[root@nfs ~]# echo  "</h1>this is web2.</h1>" > /web2/index.html
[root@nfs ~]# echo /web1/index.html /web1/index.html
[root@nfs ~]# vi /etc/exports
[root@nfs ~]# systemctl restart nfs
[root@nfs ~]# systemctl restart rpcbind
[root@nfs ~]# showmount -e
Export list for nfs:
/web2 (everyone)
/web1 (everyone)

最初にweb1マシンにマウントします

[root@web1 ~]# mount 192.168.100.13:/web1 /var/www/html/
[root@web1 ~]# systemctl start httpd
[root@web1 ~]# curl http://localhost
</h1>this is web1.</h1>

シェルスクリプトを書く

[root@web1 ~]# vi web1.sh
#!/bin/bash
#lvs dr 模式
ifconfig lo:0 192.168.100.200 broadcast 192.168.100.200 netmask 255.255.255.255 up
route add -host 192.168.100.200 dev lo:0
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
sysctl -p &> /dev/null

ここに画像の説明を挿入
[root @ web1〜] #ifconfig [root @ web1〜]
ここに画像の説明を挿入
#route -n
ここに画像の説明を挿入
web2web1を使用
してスケジューラにipvsadmをインストールします

[root@lvs ~]# modprobe ip_vs
[root@lvs ~]# cat /proc/net/ip_vs
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port Forward Weight ActiveConn InActConn
[root@lvs ~]# yum -y install ipvsadm
编写shell脚本
[root@lvs ~]# vi dr.sh
#!/bin/bash
#lvs 调度器
ifconfig ens33:0 192.168.100.200 broadcast 192.168.100.200 netmask 255.255.255.255 up
route add -host 192.168.100.200 dev ens33:0
ipvsadm -C
ipvsadm -A -t 192.168.100.200:80 -s rr
ipvsadm -a -t 192.168.100.200:80 -r 192.168.100.11:80 -g
ipvsadm -a -t 192.168.100.200:80 -r 192.168.100.12:80 -g
ipvsadm -Ln

ここに画像の説明を挿入
Webページに仮想IPを入力しますhttp://192.168.100.200
ここに画像の説明を挿入
[root @ lvs〜] #ipvsadm -LncIPVS
接続エントリproexpirestate
ソース仮想宛先TCP14:
49 ESTABLISHED 192.168.100.3:56090 192.168.100.200:80 192.168 .100.11:80
TCP 01:57 FIN_WAIT 192.168.100.3:56089 192.168.100.200:80 192.168.100.12:80
ここに画像の説明を挿入

クライアントに仮想IPhttp://192.168.100.200を入力します
ここに画像の説明を挿入

おすすめ

転載: blog.csdn.net/weixin_50346902/article/details/110878160