keepalivedのは、もともと具体(ヘルスチェックなしでLVSのでkeepalivedのヘルスチェックを使用)各サーバノードの状態を監視するように設計されたLVS、およびそれ以降の単一防止するVRRP(仮想ルーティングホットスタンバイプロトコル(仮想ルータ冗長プロトコル)機能に参加し失敗のポイントは、高可用性のスケジューリング・ノードを実現しています。
keepalivedの、またはノードに障害が発生した異常の作業サーバを検出する各サーバノードの状態は、故障箇所keepalivedのクラスタシステムから除去されます。障害回復のポイントは、keepalivedのは、クラスタシステムに追加する場合。
keepalivedのハイライト:
まず、プロキシサーバの障害を自動的に切り替える解決するVRRP仮想ルーティング深さを実現しています。
第二に、それは自動的にLVS完全な統合keepalivedの+ LVS機能を設定することができます。
三、keepalivedのは、自動では、クラスタマシン障害を拒否し、健康チェックなしでLVSを解決するため、復旧が自動的に追加されます。
準備する練習環境:
バックエンドはweb1:192.168.4.100/24 VIP:192.168.4.15
バックエンドWEB2:192.168.4.200/24 VIP:192.168.4.15
keepalivedの:
LVS:192.168.4.5のVIP:192.168.4.15
LVS:192.168.4.6のVIP:192.168.4.15
重要な必需品:
1. DRは、LVSスケジューリングモードの組み合わせであるので、カーネルパラメータを設定し、開示請求をARP要求に応答するために、バックエンドサーバー迷彩IPを設定する必要があるローカルループバックLOを禁止され、上で動作してブログを参照してください:LVS DRモードの練習 が、ここで必要+ keepalivedのLVSを使用
LVSは、サーバーとkeepalivedのipvsadmの両方にインストールし、自動起動を設定し、既存のLVSルールを空にします。
yumをインストール-y keepalivedのipvsadmの&& systemctl有効keepalivedの&& ipvsadmの-C
keepalivedの設定ファイルを編集します。
!keepalivedのための設定ファイル
global_defs {//グローバルコンフィギュレーション
{notification_email
[email protected] //障害警報受信者のメールボックス
}
notification_email_from [email protected] //は接尾を設定する必要が
192.168.4.20 // SMTPサーバSMTP_SERVER
30 // SMTP接続時間が提供されsmtp_connect_timeout与えられた
ROUTER_ID keepalived5 //ルーティングIDは、次のことが必要ユニーク
vrrp_skip_check_adv_addr
vrrp_strict
vrrp_garp_interval 0
vrrp_gna_interval 0
}
vrrp_instance VI_1 {// VRRP設定
状態(BACKUPスタンバイサーバ)MASTERにMASTER //マスターサーバー
インターフェース、ネットワークインターフェースeth0は//名前を定義する
161 //仮想ルータIDをvirtual_router_id、マスタデバイスは一貫している必要があり、IDを確保するためにデフォルト51は、他に変形
/優先度100を/サーバの優先順位は、高い優先度はVIPに優先的にアクセスされる
1つのadvert_intの
認証{//仮想ルーティング認証
AUTH_TYPEのPASS //パスワードを
デフォルトのパスワードを変更する// 999520 auth_passが同じスタンバイ認証が成功しなければなりません。
}
Virtual_ipaddress {// VIPアドレスの設定
192.168.4.15/24を
}
}
192.168.4.15 80 {// LVS仮想サーバの構成規則VIRTUAL_SERVER
6 delay_loop
WLC WLC lb_algo //ここで使用するLVSスケジューリングアルゴリズム、重み付き最小接続アルゴリズム
lb_kind DR // LVSスケジューリングモード、デフォルトおよびDR NAT NATのある
フレーズが削除一般的なケースpersistence_timeout#50 //長さ50代は、クライアントは、常に一定の時間内に同じサーバにアクセスする
プロトコルTCP //プロトコルタイプTCPプロトコル
80 {192.168.4.100 real_server
重量1つの//サーバー重み値は、より大きな重み値が大きい図。
HTTP_GET {//デフォルトのヘルスチェックのサポートTCP_CHECK {} {} HTTP_GET SSL_GET { } カスタムスクリプトをチェック
URL {//検出のページは複数のURL検査をサポート
パス/index.htmlが// URL値が検出された
66ee606d5019d75f83836eeb295c6b6f // MD5チェックサム値をダイジェスト
}
CONNECT_TIMEOUT 3 //接続タイムアウト決意時間のヘルスチェックは、
3回の//リトライがnb_get_retry
ヘルスチェックを行う方法何秒おき// 3をdelay_before_retry
}
real_server 192.168.4.200 80 {
2重量
HTTP_GET {
URL {
パスは/index.htmlが
699d00db64614eb287931b977d5c047fダイジェスト
}
CONNECT_TIMEOUT 3
nb_get_retry 3
delay_before_retry 3
}
}
}
サービスを再起動するには、マスターノードから構成されました
systemctl再起動keepalivedの
次に、iptablesの空にすることを忘れないでください
iptablesの-F
重要な必需品:
1.サーバーTCP_CHECK {}身体検査及び検査ポートのみSSL_GET {}、HTTP_GETは{}のみページが改竄を施しかどうかを確認するために、複数のページを介してポートのMD5チェックサム値をチェックします。
テスト結果:
トラブルシューティングフォールト:
仮想ルーティングIPでのビューのkeepalivedのマスターノードポイントで1.pingどこ仮想ルーティングIPがネットワークインターフェイスのセットにバインドされていますが、iptablesのを使用している場合、-Fルールをクリアしてみてください。
2. keepalivedのマスターを停止していない場合は、自動的にバックアップ・ノードに切り替え、問題をトラブルシューティングするために、サービスのステータスとログを見て、大部分の構成ファイル、仮想ルーティングIDマスタとスレーブは同じですか?ここでは他のネットワークプロトコルID VRRPと一貫性のある使用がありますか?カーネルパケット転送がオンになっていますか?バックエンドの設定VIPかどうか?何の告知放送がないかどうかをバックエンドVIPが応答しないように設定されていますか?