LVS + keepalivedにより、Web高可用性負荷分散クラスターを実現

1.実験環境

4 CentOS-7.5仮想マシン
web-1:192.168.18.103
web-2:192.168.18.104
keepalived-1(LVS-DRモード):192.168.18.107
keepalived-2(LVS-DRモード):192.168.18.108
vip:192.168 .18.110、
keepalivedとlvsが同じマシンにインストールされており
Web 用の個別のインストールクライアントは次のとおりです:個人用win10ノートブック(192.168.18.102)
4つの仮想マシンファイアウォールとselinuxが閉じています

2. keepalived + LVSをインストールします

keepalived-1端:
[root @ CentOS-3〜]#
[root @ CentOS-3〜]#yum install keepalived ipvsadm
[root @ CentOS-3〜]#
[root @ CentOS-3〜]#rpm -qa keepalived ipvsadm
LVS + keepalivedにより、Web高可用性負荷分散クラスターを実現

keepalived-2端:
[root @ CentOS-4〜]#
[root @ CentOS-4〜]#yum install keepalived ipvsadm
[root @ CentOS-4〜]#
[root @ CentOS-4〜]#rpm -qa keepalived ipvsadm
LVS + keepalivedにより、Web高可用性負荷分散クラスターを実現

3. keepalivedをLVSと組み合わせて
構成する説明:LVSを動員して機能するようにkeepalivedを構成します。

Keepalived-1の終了:
[root @ CentOS-3〜]#
[root @ CentOS-3〜]#vim /etc/keepalived/keepalived.conf #keepalivedマスターノードの構成

keepalivedの構成ファイル

global_defs {
router_id Director1
}

vrrp_instance VI_1 {
state MASTER
interface ens32
virtual_router_id 51
priority 150
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.18.110/24 dev ens32
}
}

virtual_server 192.168.18.110 80 {
delay_loop 3
lb_algo rr
lb_kind DR
プロトコルTCP

real_server 192.168.18.103 80 {
    weight 1
    TCP_CHECK {
        connect_timeout 3
            }
   }

   real_server 192.168.18.104 80 {
    weight 1
    TCP_CHECK {
        connect_timeout 3
            }
   }

}

[root @ CentOS-3〜]#

Keepalived-2の終了:
[root @ CentOS-4〜]#
[root @ CentOS-4〜]#vim /etc/keepalived/keepalived.conf #keepalivedスタンバイノードの構成

keepalivedの構成ファイル

global_defs {
router_id Director2
}

vrrp_instance VI_1 {
state BACKUP
interface ens32
virtual_router_id 51
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.18.110/24 dev ens32
}
}

virtual_server 192.168.18.110 80 {
delay_loop 3
lb_algo rr
lb_kind DR
プロトコルTCP

real_server 192.168.18.103 80 {
    weight 1
    TCP_CHECK {
        connect_timeout 3
            }
   }

   real_server 192.168.18.104 80 {
    weight 1
    TCP_CHECK {
        connect_timeout 3
            }
   }

}

[root @ CentOS-4〜]#

4. keepalivedを起動して、前の構成を有効にします

Keepalived-1の終了:
[root @ CentOS-3〜]#
[root @ CentOS-3〜]#systemctl start keepalived #Start
[root @ CentOS-3〜]#systemctl enable keepalived #Set boot start
[root @ CentOS-3 〜]#
[root @ CentOS-3〜]#reboot#サーバーを再起動して、keepalived + lvsリンケージを有効にします

Keepalived-2の終了:
[root @ CentOS-4〜]#
[root @ CentOS-4〜]#systemctl start keepalived
[root @ CentOS-4〜]#systemctl enable keepalived
[root @ CentOS-4〜]#
[root @ CentOS-4〜]#reboot#keepalived + lvsリンケージを有効にするためにサーバーを再起動します

5. Webサービスをインストールする

web-1:
[root @ CentOS〜]#
[root @ CentOS〜] #yum install httpd #Apache サービスをインストール
[root @
CentOS〜] #rpm -qa httpd httpd-2.4.6-90.el7.centos.x86_64
[root @
CentOS〜]#[root @ CentOS〜]#systemctl start httpd #Start Apache
[root @ CentOS〜]#systemctl enable httpd #Set boot start
[root @ CentOS〜]#lsof -i:80
LVS + keepalivedにより、Web高可用性負荷分散クラスターを実現
[root @ CentOS 〜]#
[root @ CentOS〜]#cat /var/www/html/index.html#実験
web-1のWebデフォルトホームページを変更
[root @ CentOS〜]#

web-2端:
[root @ CentOS-2〜]#
[root @ CentOS-2〜]#yum install httpd
[root @ CentOS-2〜]#
[root @ CentOS-2〜]#systemctl start httpd
[root @ CentOS-2〜]#systemctl enable httpd
[root @ CentOS-2〜]#
[root @ CentOS-2〜]#lsof -i:80
[root @ CentOS-2〜]#
[root @ CentOS-2〜]# cat /var/www/html/index.html
web-2
[root @ CentOS-2〜]#

6.永続的な仮想アドレスを構成する

web-1端:
[root @ CentOS〜]#
[root @ CentOS〜] #cd / etc / sysconfig / network-scripts /
[root @ CentOS network-scripts]#cp ifcfg-lo ifcfg-lo:1
[root @ CentOSネットワークスクリプト]#
[root @ CentOSネットワークスクリプト]#vi ifcfg-lo:1

DEVICE = lo:1
IPADDR = 192.168.18.110
NETMASK = 255.255.255.255
ONBOOT = yes

[root @ CentOS network-scripts]#
[root @ CentOS network-scripts]#cat ifcfg-lo:1
LVS + keepalivedにより、Web高可用性負荷分散クラスターを実現
[root @ CentOS network-scripts]#
[root @ CentOS network-scripts]#systemctl restart network#ネットワークカードを再起動して構成永続的に有効
[ルート@ CentOSネットワークスクリプト]#
[ルート@ CentOSネットワークスクリプト]#ifconfig#ネットワークカードのステータスを確認する
LVS + keepalivedにより、Web高可用性負荷分散クラスターを実現

7.永続的なルーティングを構成する
[root @ CentOS network-scripts]#
[root @ CentOS network-scripts]#vi /etc/rc.local#永続的なルーティングを構成する

/ sbin / route add host 192.168.18.110 dev lo:1#この文を構成ファイルに追加します

[ルート@ CentOSネットワークスクリプト]#
[ルート@ CentOSネットワークスクリプト]#cat /etc/rc.local#構成を表示
LVS + keepalivedにより、Web高可用性負荷分散クラスターを実現

8.永続的なARPを構成する
[root @ CentOS network-scripts]#
[root @ CentOS network-scripts]#vi /etc/sysctl.conf #Permanent configuration

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

[ルート@ CentOSネットワークスクリプト]#
[ルート@ CentOSネットワークスクリプト]#cat /etc/sysctl.conf#構成を表示
LVS + keepalivedにより、Web高可用性負荷分散クラスターを実現
[ルート@ CentOSネットワークスクリプト]#
[ルート@ CentOSネットワークスクリプト]#リブート#構成完了その後、サーバーを再起動して構成を有効にします

web-2側:
web-2側とweb-1側は同じ操作を実行できますが、構成が完了したら、サーバーを再起動する必要があります。
特定の構成プロセスは省略されます...

9. LVS + keepalived設定が成功するかどうかをテストします

1)LVSルーティングエントリの
keepalived-1の終わりを確認します
[root @ CentOS-3〜]#
[root @ CentOS-3〜]#ipvsadm -L
LVS + keepalivedにより、Web高可用性負荷分散クラスターを実現

keepalived-2端:
[root @ CentOS-4〜]#
[root @ CentOS-4〜]#ipvsadm -L
LVS + keepalivedにより、Web高可用性負荷分散クラスターを実現

2)VIPがインストールされているマシンを確認する

keepalived-1端:
[root @ CentOS-3〜]#
[root @ CentOS-3〜] #ip addr
LVS + keepalivedにより、Web高可用性負荷分散クラスターを実現

keepalived-2端:
[root @ CentOS-4〜]#
[root @ CentOS-4〜] #ip addr
LVS + keepalivedにより、Web高可用性負荷分散クラスターを実現

3)クライアントアクセスVIP
C:\ Users \ Administrator>
C:\ Users \ Administrator> curl 192.168.18.110 #Client access VIP
LVS + keepalivedにより、Web高可用性負荷分散クラスターを実現

4)マスター(keepalived-1)のkeepalivedサービスを閉じ、VIP
keepalived-1に再度アクセスします。
[root @ CentOS-3〜]#
[root @ CentOS-3〜]#systemctl stop keepalived
[root @ CentOS-3〜 ]
#C:\ Users \ Administrator>
C:\ Users \ Administrator> curl 192.168.18.110
LVS + keepalivedにより、Web高可用性負荷分散クラスターを実現

5)web-1サーバーをシャットダウンし、VIP
web-1エンドに再度アクセスします
[root @ CentOS〜]#
[root @ CentOS〜]#init 0
C:\ Users \ Administrator>
C:\ Users \ Administrator> curl 192.168.18.110
LVS + keepalivedにより、Web高可用性負荷分散クラスターを実現

10.実験的結論

LVS + keepalivedを使用すると、Webサーバークラスターの高可用性とロードバランシングが成功しました

おすすめ

転載: blog.51cto.com/14783377/2486584