--DRモード+ keepalivedのバランスをとるLVSロード

コンテンツのハイライト:

一、keepalivedの:

第二に、の設定手順:


一、keepalivedの:

どのような(1)keepalivedのIS


keepalivedのクラスタ管理は、ハートビートのような関数は、単一障害点を防止するための高可用性クラスタサービスソフトウェアを、確実にするためです。


図1は、3つのコアモジュールをkeepalivedの。


  • コアコアモジュール

  • chechヘルスモニタリング

  • 仮想ルータ冗長プロトコルVRRP

2、3の重要な機能keepalivedのサービス:


  • 管理LVS

  • LVSは、クラスタノードをチェックします

  • ネットワークサービスのシステムとして、高可用性機能

(2)keepalivedの作品

keepalivedの1は、VRRPプロトコルベースを達成することである、VRRPは仮想ルータ冗長プロトコル、または仮想ルーティング冗長プロトコルの略です。


図2に示すように、仮想ルーティング冗長プロトコル、プロトコルルータは、ステージNルータへについて、高可用性と考えることができるルータ群の同じ機能、マスタと複数のバックアップを持つグループを提供し、外部のサービスプロバイダ上記マスタがありますバックアップは、マスター遊び人アウトは、その後、あなたが選挙の優先度に応じVRRPが必要であることを考慮VRRPパケットを受信しない場合、マスターは、マルチキャスト送信されますVIP(VIPのためにあるルータのLAN内の他のマシンへのデフォルトルート)ときにバックアップマスター。だから我々は、ルータの高可用性を確保することができます。


図3は、三つの主要なモジュール、すなわちコア、小切手とVRRPがあるkeepalivedの。コア、開始、維持、および負荷グローバルコンフィギュレーションファイルを解析するための責任とメインプロセスとしてkeepalivedのコアモジュール。一般的な検査方法の多様含む健康診断、責任をチェック。VRRP VRRPモジュールは、合意を達成することです。


第二に、の設定手順:

実験環境の説明:


4台の仮想マシン、二つのサーバのスケジューリングを調製(1)、二つのサーバノード。


(2)スケジューリングサーバとkeepalivedの展開LVS、負荷分散とステートフルフェールオーバー。


(3)仮想IPアドレスを介してクライアントホスト、バックエンドWebサーバーページへのアクセス。


(4)実験結果:前記1つのDRの停止時間、通常アクセス通常通りすべてのサービス。

役割 IPアドレス
DRLスケジューリングサーバ(マスター) 192.168.100.201
スケジューリングサーバのDR2(スタンバイ) 192.168.100.202
ノードサーバweb1と 192.168.100.221
ノードサーバーWEB2 192.168.100.222
仮想IP 192.168.100.10
クライアントテストマシンwin7の 192.168.100.50


ステップ1:設定2 DR

(1)インストールとkeepalivedのパケットipvsadmの

yumをインストールipvsadmのkeepalivedの-y


(2)次のコードを追加し、に/etc/sysctl.confファイルを変更します。


=。1 net.ipv4.ip_forwardという名前で、
リダイレクト応答オフ// PROC 
net.ipv4.conf.all.send_redirects = 0 
net.ipv4.conf.default.send_redirects = 0 
net.ipv4.conf.ens33.send_redirects = 0
このコマンドは-pのsysctlは、上記の構成を有効にすることです


(3)の構成の仮想NIC(ens33:0):


/ etc / sysconfig / network-scriptsに/:1は、パスをメモ


2、直接コピーする既存のカード情報は、変更することができます。


ifcfg-ens33のifcfg-CPのens33:0 

VIMのifcfg-ens33:0 
 削除すべて元の情報、次のコードを追加します。
DEVICE = ens33:0 
ONBOOT = yesの
IPADDR = 192.168.100.10 
NETMASK = 255.255.255.0を


3、仮想NICを有効にします。

0:ens33 ifupを


/etc/init.dの:(4)は、サービスの起動スクリプト、パスを書きます


次のように1、vimのdr.shスクリプトが読み取ります。


#!/ binに/ bashの
GW = 192.168.100.1 
VIP = 192.168.100.10 
RIP1 = 192.168.100.221 
RIP2 = 192.168.100.222 
の場合と"$ 1" 
スタート)
        / sbinに/ ipvsadmの--save>の/ etc /のsysconfig / ipvsadmの
        systemctl ipvsadmの起動
        の/ sbin / ifconfigコマンドens33:0 $ VIP放送の$のVIPのネットマスク255.255.255.255ブロードキャスト$のVIPアップ
        / sbinに/ルートの追加-host $ VIP DEV ens33:0 
        / sbinに/ ipvsadmの-A -t $ VIP:80 -s RR 
        / sbinに/ ipvsadmの-a -t $ VIP:80 -r $ RIP1:80 -g 
        / sbinに/ ipvsadmの-a -t $ VIP:80 -r $ RIP2:80 -g 
        エコー「ipvsadmの開始-------- ---------- [OK]」
        ;; 
        ストップ) 
        / sbinに/ ipvsadmの-C
        systemctl停止ipvsadmの
        ifconfigコマンドens33:0ダウン
        ルートデル$ VIP 
        エコー"立ち止まっipvsamd -------------------- [OK]" 
        ;; 
ストップ)
       / sbinに/ ipvsadmの-C 
        systemctl停止ipvsadmの
        ifconfigコマンドens33:0ダウン
        ルートデル$ VIP 
        エコー"立ち止まっipvsamd -------------------- [OK]" 
        ;; 
        ステータス)
        [あれば!-e AR /ロック/ SUBSYS / ipvsadmの];次に、
        "ipvsadmのは--------------------立ち止まっ"エコー
        出口1 
                他
                エコー「がruningてipvsamd ------ ------- [OK]」
        Fiの
        ;; 
        *)
        エコー"使い方:$ 0 {開始|停止|ステータス}"
        ESACの
        終了0


2、パーミッション、スタートアップスクリプトを追加


chmodの+ X dr.sh 
サービスdr.sh開始


(5)第DR第一の構成と同様に、動作が外観に繰り返されます


ステップ2:最初のノードサーバweb1とを設定します

(1)インストールのhttpd

yumをインストールhttpdの-y


systemctl開始httpd.service //サービスを開始


(2)は、サイト上のテストページを書き、それがテスト結果の背中を検証するために簡単になります


路径:/ var / www / htmlと設定
エコー"これはACCPウェブで"> index.htmlを


(3)は、仮想ネットワークアダプタを作成します


図1に示すように、パス:は/ etc / sysconfig / network-スクリプト/ 


2、コピーカード情報を変更する
CPのifcfg-LOのifcfg-LO:0 
。3、Vimはのifcfg-LO:0 
すべての元のメッセージを削除するには、以下を追加します。
DEVICE = LOを: 0 
IPADDR = 192.168.100.10 
NETMASK = 255.255.255.0 
ONBOOT = yesの


/etc/init.dの:(4)は、サービスの起動スクリプト、パスを書きます


次のように1、vimのweb.shスクリプトが読み取ります。


#!/bin/bash
VIP=192.168.100.10
        case "$1" in
        start)
                ifconfig lo:0 $VIP netmask 255.255.255.255 broadcast $VIP
                /sbin/route add -host $VIP dev lo:0
        echo "1" > /proc/sys/net/ipv4/conf/lo/arp_ignore
        echo "2" > /proc/sys/net/ipv4/conf/lo/arp_announce
        echo "1" > /proc/sys/net/ipv4/conf/lo/arp_ignore
        echo "2" > /proc/sys/net/ipv4/conf/lo/arp_announce
        sysctl -p > /dev/null 2>&1
        echo "RealServer Start OK "
        ;;
        stop)
                ifconfig lo:0 down
                route del $VIP /dev/null 2>&1
                echo "0" > /proc/sys/net/ipv4/conf/lo/arp_ignore
                echo "0" > /proc/sys/net/ipv4/conf/lo/arp_announce
                echo "0" > /proc/sys/net/ipv4/conf/all/arp_ignore
                echo "0" > /proc/sys/net/ipv4/conf/all/arp_announce
    echo "RealServer Stoped"
                ;;
        *)
                echo "Usage: $0 {start|stop}"
                exit 1
        esac
        exit 0


2、添加权限,并执行


chmod +x web.sh           //添加权限
service web.sh start      //启动服务


20191130111614606.png

(5)开启虚拟网卡

ifup lo:0


(6)测试网页是否正常

image.png


第三步:配置第二台节点服务器 web2

第二台web和第一台配置一模一样,唯一不同的是,为了区分实验效果,第二台的测试网页内容换了:


路径:/var/www/html
echo "this is benet web" > index.html


测试网页是否正常:

image.png


第四步:客户端测试

(1)配置好客户端的IP地址

image.png

(2)测试


1、与 192.168.100.10 能否互通:

image.png

2、访问网页是否正常

image.png

image.png



第五步:部署 keepalived

一、在第一台 DR 上部署:


(1)修改 keepalived.conf 文件,路径 /etc/keepalived/


修改以下内容:

image.png

image.png

(2)启动服务

systemctl start keepalived.service


二、在第二台 DR 上部署:


(1)修改 keepalived.conf 文件

image.png

image.png


(2)启动服务

systemctl start keepalived.service


第六步:实验结果验证

由于部署了 LVS 和 keepalived,目的是,负载均衡和双机热备。

此时,我们模拟一下故障,宕掉其中一台 DR1,如果客户端依旧可以和虚拟 IP地址 互通,且能够正常访问网站的话,就说明 DR2 就代替 DR1 工作了,防止单点故障的效果实现了。


(1)故障模拟:宕掉 DR1

ifdown ens33:0


(2)结果验证


1、在客户端 ping 一下虚拟ip

image.png

2、网站也依旧能够访问

image.png

image.png


おすすめ

転載: blog.51cto.com/14475876/2461888