LVS ロード バランシング DR ダイレクト ルーティング

1. DRの動作原理

LVS-DR (Linux Virtual Server Director Server) 動作モードは、運用環境で最も一般的に使用される動作モードです。

  • LVS-DR モードでは、Director Server はクラスターへのアクセス入口として機能し、ゲートウェイとしては使用されません。
  • ノード Director サーバーとリアル サーバーは同じネットワーク内にある必要があり、クライアントに返されるデータは Director サーバーを経由する必要はありません。
  • クラスタ全体へのアクセスに応答するには、Director Server と Real Server の両方に VIP アドレスを設定する必要があります。

ここに画像の説明を挿入します

1.客户机发起请求,经过调度服务器(lvs),经过算法调度,去访问真实服务器(RS)
2.由于不原路返回,客户机不知道,真实主机的ip地址
3.所以只能通过调度服务器的外网ip(vip)去反回报文信息

2. データパケットの流れの方向

  • クライアントは要求を Director Server に送信し、要求されたデータ パケット (送信元 IP は CIP、宛先 IP は VIP) がカーネル空間に到達します。
  • Director サーバーとリアル サーバーは同じネットワーク内にあり、データは第 2 層のデータリンク層を介して送信されます。
  • カーネル空間は、データ パケットのターゲット IP がローカル VIP であると判断します。このとき、IPVS は、データ パケットによって要求されたサービスがクラスタ サービスであるかどうかを比較します。クラスタ サービスである場合は、データ パケットを再カプセル化します。 。送信元 MAC アドレスを Director サーバーの MAC アドレスに変更し、宛先 MAC アドレスを実サーバーの MAC アドレスに変更し、送信元 IP アドレスと宛先 IP アドレスを変更しないで、データ パケットを実サーバーに送信します。
  • リアルサーバに到着したリクエストメッセージのMACアドレスが自身のMACアドレスであれば、メッセージは受信されます。データ パケットは再カプセル化され (送信元 IP アドレスは VIP、宛先 IP は CIP)、応答メッセージは lo インターフェイスを介して物理ネットワーク カードに送信されてから送信されます。
  • Real Server は、応答メッセージをクライアントに直接送信します。

3. DRモードの特徴

1.Director Server 和 Real Server 必须在同一个物理网络中。

2.Real Server 可以使用私有地址,也可以使用公网地址。如果使用公网地址,可以通过 互联网对 RIP 进行直接访问。

3.所有的请求报文经由 Director Server,但回复响应报文不能经过 Director Server。

4.Real Server 的网关不允许指向 Director Server IP,即不允许数据包经过 Director S erver。

5.Real Server 上的 lo 接口配置 VIP 的 IP 地址。

4.ARP問題

4.1 最初の訪問が完了しました (実際の問題に関係なく)

客户端---->外网地址12.0.0.188      12.0.0.188---->客户端 
#12.0.0.18-----客户端   客户端会直接丢弃
对每台真实服务器配置外网地址 12.0.0.188
12.0.0.188------>客户端   

4.2 問題 1: IP アドレスの競合

1. LVS-DR ロード バランシング クラスターでは、ロード バランサーとノード サーバーが同じ VIP アドレスで構成され、LAN 内で同じ IP アドレスを持つ必要があります。必然的にサーバー間の ARP 通信に混乱が生じます
2. ARP ブロードキャストが LVS-DR クラスターに送信されると、ロード バランサーとノード サーバーは両方とも同じネットワークに接続されているため、ARP ブロードキャストを受信します。 3. フロント
のみ-endload バランサーは応答しますが、他のノード サーバーは ARP ブロードキャストの
回避策に応答すべきではありません。

  • VIP の ARP リクエストに応答しないようにノード サーバーを処理します。
  • 仮想インターフェイス lo:0 を使用して VIP アドレスを伝送します
  • カーネル パラメータ arp_ignore=1 を設定します。システムは、宛先 IP がローカル IP である ARP 要求にのみ応答します。
1.路由器发送ARP请求(广播)
2..ARP---->广播去找ip地址解析成mac地址
3.默认使用调度服务器上的外网地址(vip地址)响应,
4.需要在真实服务器上修改内核参数
5.使真实服务器只对自己服务器上的真实IP地址响应ARP解析。

5. LVS-DR クラスターの展開

#环境简介
DR 服务器:192.168.11.11
web 服务器1:192.168.11.12
web 服务器2:192.168.11.13
vip(虚拟回环):192.168.11.11
客户端:192.168.11.15
1. #关闭防火墙
systemctl stop firewalld.service
setenforce 0
 
2. #安装ipvsadm工具
yum install ipvsadm.x86_64 -y
 
3. #配置虚拟IP地址(VIP:192.168.59.188)
cd /etc/sysconfig/network-scripts/
cp ifcfg-ens33 ifcfg-ens33:0
vim ifcfg-ens33:0
#删除UUID,dns与网关,注意子网
NAME=ens33:0
DEVICE=ens33:0
IPADDR=192.168.11.11
NETMASK=255.255.255.255
 
4. #重启网络服务、启动网卡
systemctl restart network
ifup ifcfg-ens33:0
 
5. #调整/proc响应参数   
   #对于 DR 群集模式来说,由于 LVS 负载调度器和各节点需要共用 VIP 地址,应该关闭 Linux 内核的重定向参数响应服务器不是一台路由器,那么它不会发送重定向,所以可以关闭该功能
vi /etc/sysctl.conf
net.ipv4.ip_forward = 0
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.default.send_redirects = 0
net.ipv4.conf.ens33.send_redirects = 0
 
6. #刷新配置
sysctl -p
 
7. #加载模块
modprobe ip_vs
cat /proc/net/ip_vs
 
8. #配置负载分配策略,并启动服务
ipvsadm-save >/etc/sysconfig/ipvsadm
systemctl start ipvsadm.service
 
9. #清空ipvsadm,并做策略
##添加真实服务器-a  指定VIP地址及TCP端口-t   指定RIP地址及TCP端口 -r 指定DR模式-g
ipvsadm -C
ipvsadm -A -t 192.168.11.11:80 -s rr
ipvsadm -a -t 192.168.11.11:80 -r 192.168.11.12:80 -g
ipvsadm -a -t 192.168.59.1:80 -r 192.168.11.13:80 -g
 
10. #保存设置
ipvsadm
ipvsadm -ln
ipvsadm-save >/etc/sysconfig/ipvsadm

ファイアウォールをオフにし、
ここに画像の説明を挿入します
ipvsadm ツールをインストールし、
ここに画像の説明を挿入します
仮想 IP アドレス (VIP: 192.168.11.11) を構成します。
ここに画像の説明を挿入します
ここに画像の説明を挿入します

fb4fadabecee9b6ce5c55a.png) ネットワーク サービスを再起動し、ネットワーク カードを起動して
ここに画像の説明を挿入します
、/proc 応答パラメータを調整します。
ここに画像の説明を挿入します

ここに画像の説明を挿入します
構成を更新し、
ここに画像の説明を挿入します
モジュールをロードし、
ここに画像の説明を挿入します
負荷分散戦略を構成し、サービスを開始します。

ここに画像の説明を挿入します
ipvsadm をクリアし、ポリシーを設定して
ここに画像の説明を挿入します
設定を保存します
ここに画像の説明を挿入します

5.2. 最初の Web サーバー

1. #关闭防火墙
systemctl stop firewalld.service
setenforce 0
 
2. #安装httpd、开启服务
yum install httpd -y
systemctl start httpd
 
3. #创建一个站点文件
vim /var/www/html/index.html
this is 利拉德111
 
3. #添加回环网卡,修改回环网卡名,IP地址,子网掩码
cd /etc/sysconfig/network-scripts/
cp ifcfg-lo ifcfg-lo:0
vim ifcfg-lo:0
DEVICE=lo:0
IPADDR=192.168.11.11
NETMASK=255.255.255.255
NETWORK=127.0.0.0
 
systemctl restart network
 
 
4. #设置路由
route add -host 192.168.11.11 dev lo:0
route -n
 
5. #开机执行命令
vim /etc/rc.d/rc.local 
/usr/sbin/route add -host 192.168.11.11 dev lo:0
 
chmod +x /etc/rc.d/rc.local
 
6. #调整 proc 响应参数
#添加系统只响应目的IP为本地IP的ARP请求
#系统不使用原地址来设置ARP请求的源地址,而是物理mac地址上的IP
vim /etc/sysctl.conf
 
net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.all.arp_announce = 2
net.ipv4.conf.default.arp_ignore = 1
net.ipv4.conf.default.arp_announce = 2
net.ipv4.conf.lo.arp_ignore = 1
net.ipv4.conf.lo.arp_announce = 2
 
sysctl -p

ファイアウォールをオフにし
ここに画像の説明を挿入します
、httpd をインストールし、サービスを有効にして、
ここに画像の説明を挿入します
ここに画像の説明を挿入します
サイト ファイルを作成します。
ここに画像の説明を挿入します

ここに画像の説明を挿入します
ループバック ネットワーク カードを追加し、ループバック ネットワーク カード名、IP アドレス、およびサブネット マスクを変更します。
ここに画像の説明を挿入します

ここに画像の説明を挿入します
ここに画像の説明を挿入します
ルーティングを設定し
ここに画像の説明を挿入します
、起動時にコマンドを実行する
ここに画像の説明を挿入します

ここに画像の説明を挿入します
ここに画像の説明を挿入します
procレスポンスパラメータを調整する
ここに画像の説明を挿入します
ここに画像の説明を挿入します
ここに画像の説明を挿入します

5.3. 2 番目の Web ノードサーバー

1. #关闭防火墙
systemctl stop firewalld.service
setenforce 0
 
2. #安装httpd、开启服务
yum install httpd -y
systemctl start httpd
 
3. #创建一个站点文件
vim /var/www/html/index.html
this is 利拉德222
 
3. #添加回环网卡,修改回环网卡名,IP地址,子网掩码
cd /etc/sysconfig/network-scripts/
cp ifcfg-lo ifcfg-lo:0
vim ifcfg-lo:0
DEVICE=lo:0
IPADDR=192.168.11.11
NETMASK=255.255.255.255
NETWORK=127.0.0.0
 
systemctl restart network
 
 
4. #设置路由
route add -host 192.168.11.11 dev lo:0
route -n
 
5. #开机执行命令
vim /etc/rc.d/rc.local 
/usr/sbin/route add -host 192.168.11.11 dev lo:0
 
chmod +x /etc/rc.d/rc.local
 
6. #调整 proc 响应参数
#添加系统只响应目的IP为本地IP的ARP请求
#系统不使用原地址来设置ARP请求的源地址,而是物理mac地址上的IP
vim /etc/sysctl.conf
 
net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.all.arp_announce = 2
net.ipv4.conf.default.arp_ignore = 1
net.ipv4.conf.default.arp_announce = 2
net.ipv4.conf.lo.arp_ignore = 1
net.ipv4.conf.lo.arp_announce = 2
 
sysctl -p

ファイアウォールをオフにする
ここに画像の説明を挿入します

httpd をインストールし、サービスを開始し
ここに画像の説明を挿入します
ここに画像の説明を挿入します
、サイト ファイルを作成しますここに画像の説明を挿入します

ここに画像の説明を挿入します
ループバック ネットワーク カードを追加し、ループバック ネットワーク カード名、IP アドレス、サブネット マスクを変更し、
ここに画像の説明を挿入します
ここに画像の説明を挿入します
ここに画像の説明を挿入します
ルーティングを設定し
ここに画像の説明を挿入します
、起動時にコマンドを実行します。
ここに画像の説明を挿入します
ここに画像の説明を挿入します
ここに画像の説明を挿入します

procレスポンスパラメータを調整する
ここに画像の説明を挿入します

ここに画像の説明を挿入します
ここに画像の説明を挿入します

5.4. クライアント (192.168.11.14) でのテスト

ここに画像の説明を挿入します

おすすめ

転載: blog.csdn.net/fyb012811/article/details/132914284