私の連絡先情報
郵便メール:
2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
DRモード:
lvs nat アドレス変換の 3 つのモード
DRダイレクトルートモード
トンネルモード
スケジューラは、LVS クラスタ全体で最も重要であり、NAT モードでは、リクエストの受け入れ、負荷分散アルゴリズムに従ってトラフィックの転送、およびクライアントへの応答の送信を担当します。
DR モード: スケジューラは引き続き要求を受け入れる責任を負い、負荷分散アルゴリズムに従ってトラフィックを RS に転送し、応答は RS によってクライアントに直接応答されます。
ダイレクト ルーティング ダイレクト ルーティングは、レイヤー 2 転送モードです。レイヤ 2 はデータ フレームを転送します。送信元 MAC アドレスと宛先 MAC アドレスに基づいて転送します。
データ パケットの送信元 IP と宛先 IP は変更されず、データ パケットは MAC アドレスに基づいて転送されます。
DR モードでは、LVS も仮想 IP アドレスを維持し、すべてのリクエストは第 2 層を介して転送されるため、クライアントのリクエストがスケジューラに到達すると、負荷分散アルゴリズムに従って RS が選択されます。 VIP が変更されると、サーバーの MAC アドレスが RS の MAC アドレスになり、RS はリクエストを処理した後、スケジューラを必要とせずに、メッセージ内のクライアントの送信元 MAC アドレスに基づいて応答をクライアントに直接送信できます。
1. スケジューラは VIP で構成され、VIP アドレスも RS 上で構成されます。
VIP アドレスが競合しています。スケジューラと RS は両方とも同じネットワーク セグメント上にあり、ARP 通信は LAN 全体にブロードキャストされ、すべてのデバイスが受信しているため、混乱しています。
lo のループバック応答をブロックして、本機の物理 IP アドレスのみが応答するようにする方法。
カーネルパラメータを変更します。
arp_igrone=1
システムの物理 IP アドレスのみが要求に応答します。 lo は ARP リクエストに応答しません。
2. メッセージが返されたとき、VIP アドレスはまだ存在します。クライアントはどのように応答を受け取ることができますか?
アープアナウンス=2
システムは、ARP 要求に応答するために IP パケットの送信元アドレスを使用せず、物理インターフェイスの IP アドレスを直接送信します。
ノードサーバー構成:
DRモードの実装:
nginx1 RS1 192.168.233.100
nginx2 RS2 192.168.233.110
192.168.233.200 のVIP
test1 スケジューラ 192.168.233.10
テスト2クライアント192.168.233.20
ルート追加 -host 192.168.233.100 dev lo:0
IPアドレスを192.168.233.100に設定します。
スケジューラー (test1)、クライアント (test2)、rs1 (nginx1)、rs2 (nginx2) のファイアウォールと防御メカニズムをオフにします。
- [root@test1 ~]# systemctl stop firewalld
- [root@test1 ~]# setenforce 0
スケジューラはカーネルをロードし、ipvsadm ツールをインストールします。
- [root@test1 ~]# modprobe ip_vs
- [root@test1 ~]# yum -y install ipvsadm*
VIPアドレスを作成する
- [root@test1 ~]# cd /etc/sysconfig/network-scripts/
- [root@test1 network-scripts]# vim ifcfg-ens33:0
- DEVICE=ens33:0
- ONBOOT=YES
- IPADDR=192.168.233.200
- NETMASK=255.255.255.255
- [root@test1 network-scripts]# ifup ens33:0
スケジューラの応答パラメータを変更する
- [root@test1 network-scripts]# vim /etc/sysctl.conf
- net.ipv4.ip_forward=0
- #关闭数据包转发功能
- net.ipv4.conf.all.send_redirects=0
- #禁止系统发送icmp重定向的消息
- net.ipv4.conf.default.send_redirects=0
- #禁止默认网络接口发送ICMP重定向的消息
- net.ipv4.conf.ens33.send_redirects=0
- #禁止ens33设备,禁止发送ICMP重定向消息
VIP および負荷分散アルゴリズムを指定する
- [root@test1 opt]# ipvsadm -C
- [root@test1 opt]# ipvsadm -A -t 192.168.233.200:80 -s rr
- #指定vip和负载均衡的算法
実サーバー指定モードとバックアップを追加
- [root@test1 opt]# ipvsadm -a -t 192.168.233.200:80 -r 192.168.233.100:80 -g
- [root@test1 opt]# ipvsadm -a -t 192.168.233.200:80 -r 192.168.233.110:80 -g
- [root@test1 opt]# ipvsadm-save /etc/sysconfig/ipvsadm
- [root@test1 opt]# systemctl restart ipvsadm
-
2 つの実サーバー (nginx1 nginx2) を構成します
2 つのサーバーのアクセス ページを nginx1 と nginx2 に設定します。
- [root@nginx1 ~]# vim /usr/local/nginx/html/index.html
- nginx1
- [root@nginx1 ~]# systemctl restart nginx
- [root@nginx2 ~]# vim /usr/local/nginx/html/index.html
- nginx2
- [root@nginx2 ~]# systemctl restart nginx
自分で訪問してテストしてください2 つのサーバーのループバック アドレス用のループバック インターフェイスを作成します。
- [root@nginx1 ~]# cd /etc/sysconfig/network-scripts/
- [root@nginx1 network-scripts]# cp ifcfg-lo ifcfg-lo:0
- [root@nginx1 network-scripts]# vim ifcfg-lo:0
- DEVICE=lo:0
- IPADDR=192.168.233.200
- NETMASK=255.255.255.255
- ONBOOT=yes
- [root@nginx1 network-scripts]# ifup lo:0
IP アドレスを 192.168.233.100 に設定し、lvs の VIP としてループバック インターフェイスに追加します。これは、ルーティング モードを通じて RS に転送され、VIP が実サーバーを識別できるようになります。
[root@nginx1 network-scripts]# route add -host 192.168.233.200 dev lo:0
実サーバーのカーネル応答のチューニング
- [root@nginx1 ~]# vim /etc/sysctl.conf
- net.ipv4.conf.lo.arp_ignore = 1
- #设置回环接口忽略来自任何接口的ARP请求
- net.ipv4.conf.lo.arp_announce = 2
- #设置回环地址仅仅公告本地的ip地址,但是不响应ARP请求
- net.ipv4.conf.all.arp_ignore = 1
- #设置所有接口忽略来自任何接口的ARP请求
- net.ipv4.conf.all.arp_announce = 2
- #设置所有接口仅仅公告本地的ip地址,但是不响应ARP请求
試験結果
lvs の 3 つの動作モード:
NAT DR タン
利点: アドレス変換パフォーマンスは WAN の中で最高であり、長距離にわたるデータ パケットの送信を実現できます。
単純な専用チャネルの構成
短所: パフォーマンスのボトルネックによりクロスネットワーク セグメントがサポートされず、VPN を開く必要がある (コストがかかる)
RS の要件: Unlimited では、非物理インターフェイスでの ARP 応答を禁止し、トンネル モードをサポートする必要があります。
RS 数量 10-20 個 100 個 100 個
面接の質問:
LV の 3 つのモードとその違いについて簡単に説明します。
面接の質問:
キープアライブのスプリット ブレインを解決するにはどうすればよいですか?
lvs クラスターの高可用性アーキテクチャは、スケジューラーの高可用性のみを目的としています。
vrrp に基づいて、メイン スケジューラーとバックアップ スケジューラーが実装されます。
高可用性 HA アーキテクチャ
メインスケジューラとバックアップスケジューラ(複数)
メインスケジューラが正常に動作している場合、スタンバイは完全な冗長状態になります(未定)。メイン スケジューラに障害が発生した場合にのみ、スタンバイがクラスタの動作に参加しません。メイン スケジューラが機能を回復した後、プライマリは引き続きクラスタへの入り口となります。スタンバイは引き続き冗長状態になります (優先度に応じて)。
Keeplive は、vrrp プロトコルに基づいた LVS 高可用性ソリューションを実装します。
1. マルチキャストアドレス:
224.0.0.18 はマルチキャスト アドレスに基づいて通信し、プライマリ デバイスとセカンダリ デバイスは相手が生存しているかどうかを判断するメッセージを送信します。
2. 優先順位に基づいてプライマリとセカンダリの位置を決定します
3. フェイルオーバー。プライマリ マシンがハングアップしても、バックアップ マシンは動作し続けます。マスター マシンが回復しても、バックアップ マシンは待機し続けます。
4. プライマリとセカンダリの切り替えは、VIP アドレスの切り替えです。
キープアライブは LVS 専用に表示されますが、LVS 専用ではありません。