keepalived+haproxy 高可用負載均衡叢集
阿新 • • 發佈:2018-11-01
案例
chkconfig NetworkManager off
chkconfig iptables off
cat /etc/sysconfig/selinux #例行公事四臺都要這樣selinux為disabled狀態。
#web為配置好的狀態 只有一個頁面。
開始配置主排程器
/etc/sysctl.conf #修改核心引數( /etc/sysctl.conf)檔案,關閉ICMP重定向。
sysctl -p
yum -y install pcre-devel bzip2-devel keepalived haproxy #裝外掛 從伺服器同樣需要裝
/etc/haproxy/haproxy.cfg #配置檔案 global #全域性配置 log /dev/log local0 info #配置日誌記錄,local0為日誌裝置,預設存到系統日誌。這裡單獨定義出來了 log /dev/log local0 notice #日誌級別預設有24個級別 # chroot /var/lib/haproxy maxconn 4096 #最大連線數 user haproxy #程式使用者 group haproxy #程式組 daemon defaults #預設配置 log global #定義日誌為global配置中的日誌定義 mode http #模式為http option httplog #採用http日誌格式記錄日誌 option dontlognull #保證HAProxy不記錄上級負載均衡傳送過來的用於檢測狀態沒有資料的心跳包 option http-server-close #主動關閉http請求選項 retries 3 #檢查節點伺服器失敗次數,連續三次失敗,則認為節點不可用 maxconn 2000 #最大連線數 contimeout 5000 #連線超時時間 clitimeout 50000 #客戶端超時時間 srvtimeout 50000 #伺服器超時時間 listen webcluster 0.0.0.0:80 #應用元件配置,定義一個webcluster的應用 option httpchk GET /index.html #檢查伺服器的index.htm檔案l balance roundrobin #負載均衡排程演算法使用輪詢 #option persist #強制將請求傳送到已經down掉的伺服器 server inst1 192.168.1.20:80 check inter 2000 fall 3 server inst2 192.168.1.30:80 check inter 2000 fall 3 #後面加backup就認為是備份伺服器 不加為線上節點 #2000為心跳頻率,3表示3次失敗認為不可用。 fall 3 backup 這樣將認為是節點備份伺服器。
service haproxy start #啟動服務
配置日誌檔案
vim /etc/rsyslog.d/haproxy.conf #配置檔案 if ($programname == 'haproxy' and $syslogseverity-text == 'info') then -/var/log/haproxy/haproxy-info.log & ~ if ($programname == 'haproxy' and $syslogseverity-text == 'notice') then -/var/log/haproxy/haproxy-notice.log & ~
service rsyslog restart
tail -f /var/log/haproxy/haproxy-info.log #動態檢視日誌
配置keepalived 熱備
vim /etc/keepalived/keepalived.conf #配置檔案
! Configuration File for keepalived
global_defs {
notification_email {
[email protected]
[email protected]c
[email protected]
}
notification_email_from [email protected]
smtp_server 192.168.200.1
smtp_connect_timeout 30
router_id LVS_DEVEL1
}
vrrp_instance VI_1 {
state MASTER
interface eth0
virtual_router_id 51
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.1.100
}
}
配置從排程器
yum -y install pcre-devel bzip2-devel keepalived haproxy #外掛
scp [email protected]:/etc/sysctl.conf /etc/
sysctl -p
scp [email protected]:/etc/keepalived/keepalived.conf /etc/keepalived
scp [email protected]:/etc/haproxy/haproxy.cfg /etc/haproxy/
vim /etc/keepalived/keepalived.conf #修改配置檔案 這裡把需要改的列出來
router_id LVS_DEVEL2 #改名字
state BACKUP #改型別
priority 90 #改優先順序
service haproxy start
service keepalived start
#啟動服務
配置日誌檔案
scp [email protected]:/etc/rsyslog.d/haproxy.conf /etc/rsyslog.d/
service rsyslog restart