質問がある場合は、個人的に整理し、コメントしてメッセージを残してください!
一、Keepalived
アプリケーションの単一障害点を持つ単一サーバーの危険を解決します
前書き
LVSおよびHA用に特別に設計されたヘルスチェックツール
- 自動フェイルオーバーをサポート
- サポートノードのヘルスチェック
- 公式サイト:http://www.keepalived.org/
次に、LVS + Keepalivedをビルドします
- VRRP(Virtual Routing Redundancy Protocol)は、ルーターのバックアップソリューションです。
- Keepalivedはマルチマシンホットバックアップを実現でき、各ホットバックアップグループは複数のサーバーを持つことができます
- デュアルシステムホットバックアップですが、デュアルシステムホットバックアップのフェイルオーバーは、仮想IPアドレスのドリフトにより実現されており、各種アプリケーションサーバーに適しています。
環境を準備します。
LVS-DRの運用をもとに、待機スケジューラを追加し、構成を変更しました。
マスタースケジューラ: | 192.168.100.25 VIPアドレス:ens33:0 192.168.100.100 |
スタンバイスケジューラ: | 192.168.100.29 |
web1: | 192.168.100.26 VIPアドレス:lo:0 192.168.100.100 |
web2: | 192.168.100.27 VIPアドレス:lo:0 192.168.100.100 |
NFSストレージ: | 192.168.100.28 |
メインスケジューラの構成:
1. Keepalived ipvsadmをインストールします
root @ localhost〜]#yum -y install keepalived ipvsadm
2. keepalived.conf構成ファイルを構成します
[root@localhost ~]# cd /etc/keepalived/
[root@localhost keepalived]# cp keepalived.conf keepalived.conf.bakup
[root@localhost keepalived]# vi keepalived.conf
global_defs {
router_id HA_TEST_R1
}
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.100.100
}
}
virtual_server 192.168.100.100 80 {
delay_loop 15
lb_algo rr
lb_kind DR
persistence 60
protocol TCP
real_server 192.168.100.26 80 {
weight 1
TCP_CHECK {
connect_port 80
connect_timeout 3
nb_get_retry 3
delay_before_retry 4
}
}
real_server 192.168.100.27 80 {
weight 1
TCP_CHECK {
connect_port 80
connect_timeout 3
nb_get_retry 3
delay_before_retry 4
}
}
地域構成モジュールの説明:
global_defs {:define the router_id of this router
vrrp_instance VI_1 {:define the VRRP hot standby
virtual_ipaddress {:define thedrift address(VIP)、it can multiple
virtual_server 192.168.100.10 80 {:define the virtual server address( VIP)、ポート
real_server 192.168.100.26 80 {:WEBサイトのアドレスとポートを定義します
3. keepalivedを起動し、ブート後に自動起動します。ipvsadm
systemctl start keepalived
systemctl enable keepalived
systemctl enable ipvsadm
4. VIPアドレス192.168.100.100を構成します
[root@localhost ~]# cd /etc/sysconfig/network-scripts/
[root@localhost network-scripts]# cp ifcfg-lo ifcfg-lo:0
[root@localhost network-scripts]# vi ifcfg-lo:0
DEVICE=lo:0
IPADDR=192.168.100.100
NETMASK=255.255.255.255
ONBOOT=yes
ifup lo:0 #开启lo:0
ifconfig
5.構成中の負荷戦略を表示する
[root@localhost ]# ipvsadm -ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 192.168.100.100:80 rr
-> 192.168.100.26:80 Route 1 0 0
-> 192.168.100.27:80 Route 1 0 0
6. VIP情報を表示する
ip addr show
ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:0c:29:da:8c:3c brd ff:ff:ff:ff:ff:ff
inet 《192.168.100.25/24》 brd 192.168.100.255 scope global noprefixroute ens33
valid_lft forever preferred_lft forever
inet 《192.168.100.100/32》scope global ens33
valid_lft forever preferred_lft forever
inet6 fe80::a33e:6402:8d1:c2aa/64 scope link noprefixroute
valid_lft forever preferred_lft forever
7. / proc応答パラメーター(最適化されたカーネルパラメーター)を調整します。
vi /etc/sysctl.conf
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.default.send_redirects = 0
net.ipv4.conf.ens33.send_redirects = 0
sysctl -p
バックアップスケジューラの構成:
アップグレードの優先順位を設定するには、キープアライブ構成ファイルを構成するだけです。router_id、bakup(バックアップ)
LVSスケジューリングルールも、直接生成できるkeepalived.conf構成ファイルにあります。
1. Keepalived ipvsadmをインストールします
root@localhost ~]# yum -y install keepalived ipvsadm
2. keepalived.conf構成ファイルを構成します
[root@localhost ~]# cd /etc/keepalived/
[root@localhost keepalived]# cp keepalived.conf keepalived.conf.bakup
[root@localhost keepalived]# vi keepalived.conf
global_defs {
router_id HA_TEST_R2
}
vrrp_instance VI_1 {
state BACKUP
interface ens33
virtual_router_id 1
priority 99
advert_int 1
authentication {
auth_type PASS
auth_pass 123456
}
virtual_ipaddress {
192.168.100.100
}
}
virtual_server 192.168.100.100 80 {
delay_loop 15
lb_algo rr
lb_kind DR
persistence 60
protocol TCP
real_server 192.168.100.26 80 {
weight 1
TCP_CHECK {
connect_port 80
connect_timeout 3
nb_get_retry 3
delay_before_retry 4
}
}
real_server 192.168.100.27 80 {
weight 1
TCP_CHECK {
connect_port 80
connect_timeout 3
nb_get_retry 3
delay_before_retry 4
}
}
}
3. keepalivedを起動し、ブート後に自動起動します。ipvsadm
systemctl start keepalived
systemctl enable keepalived
systemctl enable ipvsadm
4.構成中の負荷戦略を表示する
[root@localhost ]# ipvsadm -ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 192.168.100.100:80 rr
-> 192.168.100.26:80 Route 1 0 0
-> 192.168.100.27:80 Route 1 0 0
3つのハイパーリンク(ビルドWeb、NFS)
まだ構成されていない3つのサーバー(web1、web2、nfsストレージ)
Webサーバーとnfsストレージサービスがあります。ブロガー分類ロードクラスターのLVS-DRモードの展開を
参照してください。手順のwebとnfsの部分を参照してください。ここにハイパーリンクがあります:
リンク:Webを参照、 NFSストレージを構築する手順...
4番目に、LVS + Keepalivedを確認します
cmdで確認した後、フェイルオーバーするかどうか、VIPアドレス転送!!
1.まずそれが正常であることを確認し
ます。2. vipアドレスにpingを送信し続け、メインスケジューラを切断して、macアドレスが変更され、vipアドレスがドリフトするかどうかを確認します。
3. VIPアドレスがスタンバイスケジューラにドリフトするかどうかを確認します。
ip addr show
ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:0c:29:9e:cf:4e brd ff:ff:ff:ff:ff:ff
inet <192.168.100.29/24> brd 192.168.100.255 scope global noprefixroute ens33
valid_lft forever preferred_lft forever
inet <192.168.100.100/32> scope global ens33
valid_lft forever preferred_lft forever
inet6 fe80::f50a:6f87:cda8:5a2d/64 scope link noprefixroute
valid_lft forever preferred_lft forever