入門
keepalivedのプログラムが実装高可用性VRRPプロトコルに基づいて、VRRP(仮想ルータ冗長プロトコル)または仮想ルーティング冗長プロトコルは、同じルータ複数の機能は、グループ内のマスタと複数のバックアップが存在することになる、ルーティンググループを構成します仮想ルータは仮想IP(VIP)マスター応答とIPフォワーディングIPパケットの、所有権を持っているかのように外国人がいるようです。バックアップは、マスタがダウンしていると考えられるタイムアウトデータパケット内に受信されない場合、マスタは、選出された優先順位をルーティングすることにより、高い可用性を確保するために、バックアップにマスタとして、他のルータのバックアップにパケットを送信します。
インストールと展開
設置環境
YUM -y GCCをインストール
yumを-yのopensslのopenssl-develのインストール
yumを-y libnl libnl-develのインストール
yumを-y libnfnetlink-develのインストール
解凍keepalivedの
タール-zxvf keepalivedの-2.0.20.tar.gz
設置環境を確認し、インストールパスを指定します
CDはkeepalivedの-2.0.20
./configure --prefix =は/ usr / local / keepalivedの
コンパイル
作る&& make installを
ブート
デフォルトではインストールされていないので、移動する必要はファイル自体を
MKDIRは/ etc / keepalivedの
CP /usr/local/keepalived/etc/keepalived/keepalived.confの/ etc / keepalivedの/
CP /usr/local/keepalived-2.0.20/keepalived/etc/init.d/keepalived /etc/rc.d/init.d/keepalived
CPは/ usr / local / keepalivedのの/ etc /のsysconfig / keepalivedのは/ etc /のsysconfig / keepalivedの
サービス開始
keepalivedのを開始systemctl
ログの表示
問題の設定ファイルは、あなたがの/ var /ログ/メッセージの内部でログを表示することができますので、エラーの可能性がありここからスタート
セットのブーツ
keepalivedのを有効にsystemctl
キャンセルブーツ
systemctl無効にkeepalivedの
プロファイル
/etc/keepalived/keepalived.conf
!設定ファイルのためのkeepalivedの #グローバルコンフィギュレーション未満であること、メールボックスの部分を削除した global_defs { #の私はIPを使用して、ここで実際には、一意に識別し、ロードバランシング、ロゴ、 ROUTER_ID 10.32を。16.195 #ヘルスチェックのユーザーグループ script_userルート #を考えますヘルスチェックを実行するためのスクリプトは、あなたがそうでなければ、権限、この設定を追加する必要があり enable_script_securityの #のデフォルトはチェックをスキップしません。受け取ったVRRP広告検査のすべてのアドレスは時間がかかるかもしれ、同じマスターからのルータ広告の受信した広告が、何のチェックが実行されていない場合、設定手段、このコマンド(チェックをスキップ)。 Vrrp_skip_check_adv_addr#の VRRPプロトコル#厳密に準拠。次の条件がスタートkeepalivedの:. 1無VIPアドレスを防ぐことができます。2.ユニキャスト隣人。3. VRRPバージョン2でありIPv6のアドレス。 Vrrp_strict# } #VRRP構成 スクリプトの実行#1.vrrp_scriptタイミング vrrp_scriptのnginx_check { #スクリプトパス実行 スクリプト" /etc/keepalived/nginx_check.sh " #1 、LSとの間のデフォルトの実行間隔を インターバル1つの。 #タイムアウト時間を失敗に TIMEOUT 10 #優先度(-254〜254)デフォルト2 重量- 20である } #1 2.vrrp_instanceノード情報 VI_1 vrrp_instance { #指定されたノードのステータス施設MASTER |バックアップ 状態MASTERの #のカード情報、IPアドレス、カード情報を参照してください インタフェースens33 #同じ仮想ルーティングでは、マスターとバックアップは、IDは同じでなければなりませんしましょう virtual_router_id 51 #の優先度が高くなっているか、誰でしょうマスターとなり 、優先度100 #押収しないように設定します。デフォルトが先取りされ、時に優先度の高いマシンバック、マシンがMASTERになり先取り、というよりもつかむだろう、それは優先度の低いマシンは、マシンがオンラインに高い優先順位を持っている場合でも、MASTERであり続けることができます。この機能を使用するには、状態を初期化する必要がありBACKUPです。 #Nopreempt #は、時間伝送VRRPアドバタイズメント間隔LS指定 advert_intを1。 認証{ #の認証PASS(推奨簡単なパスワード認証、)| AH(IPSEC認証が推奨されません) AUTH_TYPE PASSの #のパスワード最大8 AUTH_PASS 1111 } #はVIPアドレスを指定し、 VIPアドレスは、仮想の複数であってもよい virtual_ipaddress { 10.32。16.200 } track_script { nginx_check } } #一般大LVSで使用される、ように元の構成とそこVIRTUAL_SERVER、ここでは説明しません
/etc/keepalived/check_nginx.sh(ここでは、ファイルのパーミッションを755に、なぜ777エラーを知りません)
#!/ binに/ bashのは 、実行= `psの-C nginxの- 無 -header | トイレ- 'L' 場合は [ $実行していない -eq 0 ] 、その後 は/ usr / ローカル - / nginxの/ sbinに/ nginxのsの停止 は/ usr / ローカル / nginxの/ sbinに/ nginxの 睡眠 3 場合 `PS -C nginxの[ - 何 -header | トイレ- 'L'] その後、 killallをkeepalivedの Fiの Fiの
クラスタ構成
マスターノード196は、バックアップとして定義される195ノード
keepalivedの二つのサーバを起動し、また、nginxのnginx80に始まっ続く参照は、テストのためにマークされるページを調整します。
そして、私たちはVIPアドレスを訪れ、VIP keepalivedの仮想アドレスは10.32.16.200です合格しました
これは、クラスタが成功を確立しているように、nginxの196に私たちの仮想IPを訪問してアクセスできることを参照してください。
ここでは、その結果に195 keepalivedの近い外観を置くことができます。
systemctl停止keepalivedの
可視196サービス後ハングアップし、従って高い可用性を実現nginxの、195に切り替えます。