Yum安裝更簡單。安裝並啓動keepalived,表示安裝成功。有3個進程。css
etc\keepalived\keepalived.conf:html
備的keepalived配置文件:mysql
! Configuration File for keepalived //!、#是註釋 global_defs { //所有的配置,幾乎不用。 notification_email { acassen@firewall.loc //keepalived節點宕機了,報警的email收件人 failover@firewall.loc //keepalived節點宕機了,報警的email收件人 sysadmin@firewall.loc //keepalived節點宕機了,報警的email收件人 } notification_email_from Alexandre.Cassen@firewall.loc //發件人 smtp_server 192.168.200.1 //郵件服務器的地址 smtp_connect_timeout 30 //郵件服務器的超時時間 router_id LVS_02 //至關於mysql的server id,不一樣的keepalived不能同樣, } vrrp_instance VI_1 { //keepalived的一個實例,或者說是VRRP的一個實例,VI_1是實例的名字(不要改) state BACKUP //狀態:主,備的不同其他跟主的同樣 interface eth0 //通訊端口,virtual_ipaddress裏面的ip綁定到eth0 virtual_router_id 51 //實例的id,一個這個配置文件能夠有20多個實例,備的要跟主的同樣, priority 100 //競選時候的優先級。備的要小50,備的不同其他跟主的同樣 advert_int 1 //心跳的間隔 authentication { //keepalived之間經過密碼通訊,keepalived對之間的密碼要同樣。 auth_type PASS auth_pass 1111 } virtual_ipaddress {//vip功能,keepalived的ip //192.168.200.16/24 192.168.200.17/24 //192.168.200.18/24 } }
主的keepalived的配置文件:nginx
! Configuration File for keepalived //!、#是註釋 global_defs { //所有的配置,幾乎不用。 notification_email { 672530440@qq.com //keepalived節點宕機了,報警的email收件人 } notification_email_from Alexandre.Cassen@firewall.loc //發件人 smtp_server 192.168.200.1 //郵件服務器的地址 smtp_connect_timeout 30 //郵件服務器的超時時間 router_id LVS_01 //至關於mysql的server id,不一樣的keepalived不能同樣, } vrrp_instance VI_1 { //keepalived的一個實例,或者說是VRRP的一個實例,VI_1是實例的名字(不要改) state MASTER //狀態:主,備的不同其他跟主的同樣 interface eth0 //通訊端口,virtual_ipaddress裏面的ip綁定到eth0 virtual_router_id 51 //實例的id,一個這個配置文件能夠有20多個實例,備的要跟主的同樣, priority 150 //競選時候的優先級。備的要小50,備的不同其他跟主的同樣 advert_int 1 //心跳的間隔 authentication { //keepalived之間經過密碼通訊,keepalived對之間的密碼要同樣。 auth_type PASS auth_pass 1111 } virtual_ipaddress {//vip功能,keepalived的ip 192.168.200.17/24 //子網掩碼是24位 } }
給keepalived配置ip:sql
2邊是一個實例,只是主備之分。服務器
配合nginx服務:app
Nginx默認監聽80端口,ip是全部的IP。對外提供服務不是網卡的ip是lkeepalived的ip。先把nginx代理調整好再配置keepalived。ide
keepalived之間的心跳,應該單獨拉一條線或者用串口直接通訊,不容易出現互相找不着對方。代理
global_defs { notification_email { 49000448-@qq.com } notification_email_from Alexandre.Cassen@firewall.loc smtp_server 192.168.200.1 smtp_connect_timeout 30 router_id LVS_01 } vrrp_instance VI_1 { state MASTER interface eth0 virtual_router_id 51 priority 150 advert_int 1 authentication { auth_type PASS auth_pass 1111 } virtual_ipaddress { 10.0.0.17/24 } } vrrp_instance VI_2 { state BACKUP interface eth0 virtual_router_id 52 priority 100 advert_int 1 authentication { auth_type PASS auth_pass 1111 } virtual_ipaddress { 10.0.0.18/24 } } worker_processes 1; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; upstream static_pools { server 10.0.0.9:80 weight=5 max_fails=10 fail_timeout=10s; } upstream dynamic_pools { server 10.0.0.10:80 weight=5; } server { listen 80; server_name www.etiantian.org; location / { root html; index index.html index.htm; proxy_pass http://dynamic_pools; include proxy.conf; } location ~ .*.(gif|jpg|jpeg|png|bmp|swf|css|js)$ { proxy_pass http://static_pools; include proxy.conf; } } }