まず、環境
NX1 192.168.40.211
nginx2 192.168.40.132
VIP1 192.168.40.223主のkeep1は、keep2からです
VIP2 192.168.40.222主のkeep2は、keep1からです
(ここでは、インストールモードにyumが採用され、疲れではありません)
二、keepalivedのプロフィール
NX1
我々は/etc/keepalived/keepalived.conf
global_defs {
{notification_email
ルート@ localhostを
}
notification_email_from keepalivedの@ localhostの
SMTP_SERVER 127.0.0.1
30 smtp_connect_timeout
route_id LVS_DEVEL
}
vrrp_script_chk_nginx {
スクリプト「/etc/keepalived/ck_ng.sh」
区間2
重量2
}
#1 VIP1
vrrp_instance VI_1 {
状態MASTER
インタフェースens33
lvs_sync_daemon_interface ens33
virtual_router_id 151
優先順位100
advert_int 5
nopreempt
認証{
AUTH_TYPE PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.40.223
}
track_script {
chk_nginx
}
}
#1 VIP2
vrrp_instance VI_2 {
状態のバックアップ
インタフェースens33
lvs_sync_daemon_interface ens33
virtual_router_id 152
優先順位90
advert_int 5
nopreempt
認証{
AUTH_TYPE PASS
auth_pass 2222
}
virtual_ipaddress {
192.168.40.222
}
track_script {
chk_nginx
}
}
nginx2
#vi /etc/keepalived/keepalived.conf
global_defs {
{notification_email
}
notification_email_from [email protected]
SMTP_SERVER 127.0.0.1
30 smtp_connect_timeout
route_id LVS_DEVEL
}
vrrp_script_chk_nginx {
スクリプト「/etc/keepalived/ck_ng.sh」
区間2
重量2
}
#1 VIP1
vrrp_instance VI_1 {
状態のバックアップ
インタフェースens33
lvs_sync_daemon_interface ens33
virtual_router_id 151
優先順位90
advert_int 5
nopreempt
認証{
AUTH_TYPE PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.40.223
}
track_script {
chk_nginx
}
}
#1 VIP2
vrrp_instance VI_2 {
状態MASTER
インタフェースens33
lvs_sync_daemon_interface ens33
virtual_router_id 152
優先順位100
advert_int 5
nopreempt
認証{
AUTH_TYPE PASS
auth_pass 2222
}
virtual_ipaddress {
192.168.40.222
}
track_script {
chk_nginx
}
}
三、nginxの検出スクリプト(2台の織機など)
#vi /etc/keepalived/ck_ng.sh
#!/ binに/ bashの
#チェックnginxのプロセスが存在します
カウンタ= $(psの-C nginxの--no-見出し|トイレ-l)
もし[ "$ {カウンタ}" = "0"]。それから
5秒間の停止、nginxのを開始しようとした後に#が再び検出されました
サービスnginxの開始
睡眠5
カウンタ= $(psの-C nginxの--no-見出し|トイレ-l)
もし[ "$ {カウンタ}" = "0"]。それから
スタートアップが成功しなかった場合は#、キープアライブトリガースイッチオーバーを殺します
サービスkeepalivedの停止
されます
されます
#chmod + X /etc/keepalived/ck_ng.sh
第四に、テスト
[ルートlocalhostの@〜]#1のIP A(nginx1)
....
2:ens33 <UPブロードキャスト、マルチキャスト、LOWER_UP> UP状態pfifo_fast MTU 1500なqdisc QLEN 1000年
リンク/エーテル00:0C:29:17:C0:DB BRD FF:FF:FF:FF:FF:FF
INET 192.168.40.211/24 BRD 192.168.40.255スコープグローバルens33
valid_lftは永遠に永遠にpreferred_lft
INET 192.168.40.223/32スコープグローバルens33
valid_lftは永遠に永遠にpreferred_lft
INET6 FE80 :: 20C:29ff:fe17:c0db / 64スコープリンク
valid_lftは永遠に永遠にpreferred_lft
[ルートlocalhostの@〜]#1のIP A(nginx2)
....
2:ens33 <UPブロードキャスト、マルチキャスト、LOWER_UP> UP状態pfifo_fast MTU 1500なqdisc QLEN 1000年
リンク/エーテル00:0C:29:5E:BA:A3 BRD FF:FF:FF:FF:FF:FF
INET 192.168.40.132/24 BRD 192.168.40.255スコープグローバルens33
valid_lftは永遠に永遠にpreferred_lft
INET 192.168.40.222/32スコープグローバルens33
valid_lftは永遠に永遠にpreferred_lft
INET6 FE80 :: 20C:29ff:fe5e:baa3 / 64スコープリンク
valid_lftは永遠に永遠にpreferred_lft
次のようにkeepalivedの停止nginx1は、この時点でnginx1は、VIPのnginx2に転送されます
[ルート@ localhostの〜]#IP A
....
2:ens33 <UPブロードキャスト、マルチキャスト、LOWER_UP> UP状態pfifo_fast MTU 1500なqdisc QLEN 1000年
リンク/エーテル00:0C:29:5E:BA:A3 BRD FF:FF:FF:FF:FF:FF
INET 192.168.40.132 / 24 BRD 192.168.40.255スコープグローバルens33
valid_lftは永遠に永遠にpreferred_lft
INET 192.168.40.222 / 32スコープグローバルens33
valid_lftは永遠に永遠にpreferred_lft
INET 192.168.40.223 / 32スコープグローバルens33
valid_lftは永遠に永遠にpreferred_lft
INET6 FE80 :: 20C:29ff:fe5e:baa3 / 64スコープリンク
valid_lftは永遠に永遠にpreferred_lft
これらのマシンのいずれかに行くために、2つの仮想IPが正常でした