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
keepalived-2端:
[root @ CentOS-4〜]#
[root @ CentOS-4〜]#yum install keepalived ipvsadm
[root @ CentOS-4〜]#
[root @ CentOS-4〜]#rpm -qa keepalived ipvsadm
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
[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
[root @ CentOS network-scripts]#
[root @ CentOS network-scripts]#systemctl restart network#ネットワークカードを再起動して構成永続的に有効
[ルート@ CentOSネットワークスクリプト]#
[ルート@ CentOSネットワークスクリプト]#ifconfig#ネットワークカードのステータスを確認する
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#構成を表示
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#構成を表示
[ルート@ CentOSネットワークスクリプト]#
[ルート@ CentOSネットワークスクリプト]#リブート#構成完了その後、サーバーを再起動して構成を有効にします
web-2側:
web-2側とweb-1側は同じ操作を実行できますが、構成が完了したら、サーバーを再起動する必要があります。
特定の構成プロセスは省略されます...
9. LVS + keepalived設定が成功するかどうかをテストします
1)LVSルーティングエントリの
keepalived-1の終わりを確認します。
[root @ CentOS-3〜]#
[root @ CentOS-3〜]#ipvsadm -L
keepalived-2端:
[root @ CentOS-4〜]#
[root @ CentOS-4〜]#ipvsadm -L
2)VIPがインストールされているマシンを確認する
keepalived-1端:
[root @ CentOS-3〜]#
[root @ CentOS-3〜] #ip addr
keepalived-2端:
[root @ CentOS-4〜]#
[root @ CentOS-4〜] #ip addr
3)クライアントアクセスVIP
C:\ Users \ Administrator>
C:\ Users \ Administrator> curl 192.168.18.110 #Client access VIP
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
5)web-1サーバーをシャットダウンし、VIP
web-1エンドに再度アクセスします。
[root @ CentOS〜]#
[root @ CentOS〜]#init 0
C:\ Users \ Administrator>
C:\ Users \ Administrator> curl 192.168.18.110
10.実験的結論
LVS + keepalivedを使用すると、Webサーバークラスターの高可用性とロードバランシングが成功しました