まず、何が?keepalivedのさ
keepalivedのソフトウェアは、もともと管理し、LVSクラスタシステムの各サービスノードの状態を監視するために設計されたLVS負荷分散ソフトウェア用に設計された、と後にVRRP(仮想ルータ冗長プロトコルは、高可用性を実現することができます参加し、仮想ルータ冗長プロトコル)機能。従って、管理LVSソフトウェアに、keepalivedの追加だけでなく、(例えば:等nginxの、Haproxy、MySQLの)付加サービスとして使用することができる高可用性ソフトウェアソリューション
第二に、どのようにフェイルオーバー?
高可用性サービスのサポートとの間にkeepalivedのフェールオーバーの移行は、VRRPによって達成されます。keepalivedのサービス作業は、メインのマスターノードがメインのマスターノードに障害が発生した時に生きているバックアップのバックアップノードを伝えるためにスタンバイノード(マルチキャストモード)へのハートビートメッセージを送信し続けますと、それはハートビートメッセージやバックアップを送信することはできませんノードは独立したマスターノードにすることはできませんハートビートの到着を検出し続け、その後、メインマスターノードのIPリソースとサービスを引き継ぐために、プログラムを引き継ぐために自分自身を呼び出します。ときにマスターノード復旧マスター、準備されたバックアップノードがプライマリノードが自身を失敗したときに引き継ぐために、IPリソースとサービスを解放し、元のスタンバイ・ロールに復元されます。
実験環境の構成は次のとおりです。
192.168.1.110:nginx + keepalivedのマスター主
192.168.1.111:nginx + keepalivedのバックアップ从
192.168.1.111:tomcat_8080
192.168.1.111:tomcat_8081
仮想IP(VIP):192.168.1.200、IP外部のサービスプロバイダは、フローティングIPと呼ばれることも次のように、様々な構成要素間の関係は、次のとおり
第三に、インストールと設定
1.ダウンロードします。https://pan.baidu.com/s/1G7sLL-YkZGSMu8G76yz1Rwパスワード:adbw。
2. keepalivedのインストール手順:192.168.1.110:nginxの+ keepalivedのマスターノード:
2.1は./configure --prefix = /データ/プログラム/ keepalivedの--sysconf = /など
##キープアライブ開始時間が/etc/keepalived/keepalived.confを読んでデフォルト設定されますので、
2.2。作る&& make installを
3. /etc/keepalived/keepalived.confプロファイル情報を変更します
global_defs { #全局配置
notification_email {
[email protected] #设置报警邮件地址,可以设置多个,每行一个。需要开启sendmail服务。
}
notification_email_from [email protected]
smtp_server smtp.hysec.com #设置SMTP Server地址
smtp_connection_timeout 30 #设置SMTP Server的超时时间
router_id nginx_master #表示运行Keepalived服务器的一个标识,唯一的
}
vrrp_script chk_http_port {
script "/usr/local/src/check_nginx_pid.sh" #心跳执行的脚本
interval 2 #(检测脚本执行的间隔,单位是秒)
weight 2
}
vrrp_instance VI_1 { #vrrp 实例定义部分
state MASTER # 指定keepalived的角色,MASTER为主,BACKUP为备
interface ens33 # 当前进行vrrp通讯的网络接口卡(当前centos的网卡)
virtual_router_id 66 # 虚拟路由编号,主从要一直
priority 100 # 优先级,数值越大,获取处理请求的优先级越高
advert_int 1 # 检查间隔,默认为1s(vrrp组播周期秒数)
authentication {
auth_type PASS #设置验证类型和密码,MASTER和BACKUP必须使用相同的密码才能正常通信
auth_pass 1111
}
track_script {
chk_http_port #(调用检测脚本)
}
virtual_ipaddress {
192.168.1.200 # 定义虚拟ip(VIP),可多设,每行一个
}
}
同じノードとマスターノード構成バックアップから上記マスタノードの構成が、我々は、マスタに小さな点よりも状態のバックアップ、優先度の値を変更したいです
四、启动keepalivedの
/データ/プログラム/ keepalivedの/ sbinに/ keepalivedの
ブートシーケンス:
1. 192.168.1.111 tomcat8080サーバーとtomcat8081上
192.168.1.110の2.スタートマスターkeepalivedのノードは、shスクリプトを自動的に実行し、nginxのを開始します
3. keepalivedのノードのバックアップ192.168.1.111を起動し、shスクリプトを自動的に実行し、nginxのを開始します
注意:手動でnginxのを起動する必要はありません。
4.チェックログkeepalivedの:は、tail -f / var / log / messagesを
五、KEEPLIVEDメイン故障試験から
1 2つのKeepalied + nginxのアプリケーションは、2つのTomcatへのアクセスのバランスを取るVIPロードを使用して、正常に起動した後、
2.停止nginxのアプリケーション192.168.1.110マスタノード、nginxの観察状態とTomcatにアクセスします。
3.停止192.168.1.110マスターノード・アプリケーションkeepalivedのは、ログは/ var / log / messagesに、アクセスTomcatを観察しました
4.状況を変更するには、ログのノードの役割から1.111を守ってください。