Centos7は、Keepalivedデュアルシステムホットスタンバイ+ LVS高可用性クラスターを展開します

Keepalivedデュアルマシンホットスタンバイ+ LVS高可用性クラスター

1.Keepalivedの概要

Keepalivedは元々、LVS専用に設計された強力な補助ツールであり、主にフェイルオーバー(Failover)およびヘルスチェック(Health Checking)機能提供するために使用され、LVSロードスケジューラ、ノードサーバー、タイムリーな分離および交換の可用性を判断します。障害が発生したホストが回復すると、新しいサーバーはクラスターに再参加します。Keepalivedの公式Webサイトは次の場所にあります。http//www.keepalived.org/。非LVSクラスター環境で使用する場合、Keepalivedはホットバックアップソフトウェアとしても使用できます。

1.Keepalivedホットバックアップ方式

Keepalivedは、VRRP(Virtual Router Redundancy Protocol、Virtual Router Redundancy Protocol)ホットバックアッププロトコルを採用して、ソフトウェアでLinuxサーバーのマルチマシンホットバックアップ機能を実現します。VRRPは、ルーターのバックアップソリューションです。複数のルーターがホットスタンバイグループを形成し、パブリック仮想IPアドレスを介して外部サービスを提供します。各ホットスタンバイグループには、同時にサービスを提供するメインルーターが1つだけあり、他のルーターもあります。冗長状態では、現在オンラインのルーターに障害が発生すると、他のルーターが自動的に仮想IPアドレスを引き継ぎ(優先順位によって継承の順序が決まります)、サービスの提供を継続します。

2.Keepalivedデュアルシステムホットバックアップを展開します

1.準備

CPU名 オペレーティング・システム IPアドレス
マスタースケジューラ Centos7 192.168.1.1
二次スケジューラ Centos7 192.168.1.2
クライアントコンピュータ Win7 192.168.1.88

2.ディスパッチサーバーを構成します

主调度器与辅调度器步骤一样

1)サポートソフトウェアをインストールする

挂光盘,并配置yum源

[root@master ~]# yum -y install keepalived ipvsadm
[root@master ~]# systemctl enable keepalived

2)httpdサービスをインストールします

[root@master ~]# yum -y install httpd
为主调度器设置网页:
[root@master ~]# echo "<h1>This is master</h1>" > /var/www/html/index.html
为辅调度器设置网页:
[root@backup ~]# echo "<h1>This is backup</h1>" > /var/www/html/index.html

3)Keepalivedメイン構成ファイルをバックアップします

[root@master ~]# cd /etc/keepalived/
[root@master keepalived]# cp keepalived.conf keepalived.conf.bak

ここに写真の説明を挿入

4)Keepalivedのメイン構成ファイルを編集します

主调度器上操作:

[root@master keepalived]# vi keepalived.conf
将原有数据删除,写入以下数据:
global_defs {
    
    
   router_id 1
}
vrrp_instance VI_1 {
    
    
    state MASTER
    interface ens33
    virtual_router_id 1
    priority 100
    advert_int 1
    authentication {
    
    
        auth_type PASS
        auth_pass 123456
    }
    virtual_ipaddress {
    
    
        192.168.1.188
    }
}
辅调度器上要稍作修改:
  router_id 1  改为  router_id 2
  state MASTER  改为  state BACKUP
  priority 100  改为  priority 99
其他一致即可

ここに写真の説明を挿入

5)サービスを有効にする

[root@master keepalived]# systemctl start keepalived
[root@master keepalived]# systemctl start httpd

VIPがこのサーバー上にあるかどうかを確認します

[root@master keepalived]# ip a

メインスケジューラ:
ここに写真の説明を挿入
補助スケジューラ:補助スケジューラ
ここに写真の説明を挿入
の優先度がメインスケジューラよりも低いため、仮想IPは補助スケジューラにありませんが、メインスケジューラに障害が発生すると、仮想IPは外部アクセスのために補助スケジューラにドリフトします。

3.検証

この間、メインサーバーのネットワークカードを繰り返し切断して接続し、表示します

1)テストするクライアントpingドリフトIP

短時間の中断がある場合は、再開します。デュアルシステムホットバックアップが有効であることを示します
ここに写真の説明を挿入

2)検証のためのクライアントアクセスhttp

別のコンテンツが表示されている場合は、メインスケジューラネットワークカード開いて再度アクセスすると有効になり
ここに写真の説明を挿入
ます。
ここに写真の説明を挿入

3、Keepalived + LVSクラスター

最初の実験環境を使用して、次のことを微調整できます。
加两台Centos7机器

CPU名 オペレーティング・システム IPアドレス
web-1 Centos7 192.168.1.3
web-2 Centos7 192.168.1.4

1.ディスパッチサーバーを構成します

主调度器和辅调度器一致:

1)スケジューラでhttpdサービスを削除します

[root@master ~]# systemctl stop httpd
[root@master ~]# yum -y remove httpd

2)Keepalivedメイン構成ファイルを変更します

[root@master ~]# vi /etc/keepalived/keepalived.conf
在后一行添加:
virtual_server 192.168.1.188 80 {
    
    
        delay_loop 15
        lb_algo rr
        lb_kind DR
        protocol TCP
        
                real_server 192.168.1.3 80 {
    
    
        weight 1
        TCP_CHECK {
    
    
                connect_port 80
                connect_timeout 3
                nb_get_retry 3
                delay_before_retry 4
                }
        }
                real_server 192.168.1.4 80 {
    
    
        weight 1
        TCP_CHECK {
    
    
                connect_port 80
                connect_timeout 3
                nb_get_retry 3
                delay_before_retry 4
                }
        }
}

ここに写真の説明を挿入

3)システムカーネルのサービスモジュールをロードします

[root@master ~]# modprobe ip_vs

4)システムモジュールの動作ステータスを表示する

[root@master ~]# lsmod | grep ip_vs

ここに写真の説明を挿入

5)起動時にip_vsモジュールをロードします

[root@master ~]# echo "modprobe ip_vs" >> /etc/rc.local
[root@master ~]# systemctl restart keepalived

ここに写真の説明を挿入

2.LVS-DRクラスター戦略を構成します

  • Keepalivedも仮想インターフェイスを使用するため、アドレスの競合を回避するためにバインディングは必要ありません

主调度器与辅调度器都要做

1)/ procカーネルパラメータを調整します

[root@master ~]# cat <<END >> /etc/sysctl.conf 
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.default.send_redirects = 0
net.ipv4.conf.ens33.send_redirects = 0
END
[root@master ~]# sysctl -p

ここに写真の説明を挿入

2)LVS-DRクラスター戦略を構成する

[root@master ~]# ipvsadm -A -t 192.168.1.188:80 -s rr
[root@master ~]# ipvsadm -a -t 192.168.1.188:80 -r 192.168.1.3 -g -w 1
[root@master ~]# ipvsadm -a -t 192.168.1.188:80 -r 192.168.1.4 -g -w 1
[root@master ~]# ipvsadm-save
[root@master ~]# systemctl enable ipvsadm
[root@master ~]# ipvsadm -ln

ここに写真の説明を挿入

3.Webサーバープールの構成

挂光盘,并配置yum源

1)Web1サーバーとweb2サーバーも構成されています

[root@web-1 ~]# cat <<END >> /etc/sysconfig/network-scripts/ifcfg-lo:0
DEVICE=lo:0
IPADDR=192.168.1.188
NETMASK=255.255.255.255
ONBOOT=yes
END
[root@web-1 ~]# systemctl restart network
[root@web-1 ~]# ip a

ここに写真の説明を挿入

2)ルーティングを追加する

[root@web-1 ~]# yum -y install net-tools       			  #安装路由工具
[root@web-1 ~]# echo "route add -host 192.168.1.188 dev lo:0" >> /etc/rc.local   #添加到开机自运行
[root@web-1 ~]# route add -host 192.168.1.188 dev lo:0    #临时添加
[root@web-2 ~]# route -n

ここに写真の説明を挿入

3)/ procカーネルパラメータを調整し、ARP応答をオフにします

[root@web-1 ~]# cat <<END >> /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
END
[root@web-1 ~]# sysctl -p

ここに写真の説明を挿入

4)httpdサービスをインストールします

Web1,Web2操作步骤一致

[root@web-1 ~]# yum -y install httpd
Web1测试页面:
[root@web-1 ~]# echo "This is web1" > /var/www/html/index.html
Web2测试页面:
[root@web-2 ~]# echo "This is web2" > /var/www/html/index.html
[root@web-1 ~]# systemctl enable httpd
[root@web-1 ~]# systemctl start httpd
[root@web-1 ~]# netstat -anpt | grep 80

4. lvs + Keepalived高可用性クラスターをテストします

1)LVSの負荷分散が正常であることを確認します

クライアントブラウザで192.168.1.188にアクセスして、Webページを切り替えるか、forループステートメントを使用してテストできるかどうかを確認します
ここに写真の説明を挿入
ここに写真の説明を挿入

[root@backup ~]# for i in $(seq 10);do curl http://192.168.1.188;done

ここに写真の説明を挿入

2)Keepalivedデュアルシステムホットバックアップが正常かどうかを確認します

クライアントがWebページに正常にアクセスできるかどうか、LVSマスタースケジューラを閉じます
ここに写真の説明を挿入
ここに写真の説明を挿入
ここに写真の説明を挿入

おすすめ

転載: blog.csdn.net/weixin_46902396/article/details/108922030
おすすめ