高可用集群 Keepalived

2021-10-01 15:02:20 字數 3924 閱讀 1037

1.vrrp熱備(ftp,mysql,httpd,nginx,lvs)

2.自動配置lvs規則

3.健康檢查

使用keepalived實現web伺服器的高可用

web伺服器ip位址分別為192.168.4.100和192.168.4.200

web伺服器的浮動vip位址為192.168.4.80

客戶端通過訪問vip位址訪問web頁面

安裝keepalived軟體

注意:兩台web伺服器做相同的操作。

yum install -y keepalive
部署keepalived服務

vim /etc/keepalived/keepalived.conf

global_defs

notification_email_from ka@localhost #設定發件人

smtp_server 127.0.0.1 #定義郵件伺服器

smtp_connect_timeout 30

router_id web1 #設定路由id號(實驗需要修改)

}vrrp_instance vi_1

virtual_ipaddress

}

啟動服務

systemctl start keepalived

iptables -f

setenforce 0

lvs1排程器真實ip位址為192.168.4.5

lvs2排程器真實ip位址為192.168.4.6

伺服器vip位址設定為192.168.4.15

真實web伺服器位址分別為192.168.4.100、192.168.4.200

配置網路環境

配置好網絡卡,設定vip(web1)

cd /etc/sysconfig/network-scripts/

cp ifcfg-lo

vim ifcfg-lo:0

device=lo:0

ipaddr=192.168.4.15

netmask=255.255.255.255

network=192.168.4.15

broadcast=192.168.4.15

onboot=yes

name=lo:0

#當有arp廣播問誰是192.168.4.15時,本機忽略該arp廣播,不做任何回應

vim /etc/sysctl.conf

net.ipv4.conf.all.arp_ignore = 1

net.ipv4.conf.lo.arp_ignore = 1

net.ipv4.conf.lo.arp_announce = 2

net.ipv4.conf.all.arp_announce = 2

啟動服務,設定防火牆

[root@web1 ~]

# systemctl stop networkmanager

[root@web1 ~]

# systemctl disable networkmanager

[root@web1 ~]

# systemctl restart network

[root@web1 ~]

# ifconfig

[root@web1 ~]

# systemctl stop firewalld

[root@web1 ~]

# setenforce 0

#web2 同1一樣

viretual_server ...}}

#檢查埠

#ssl_get{}

部署keepalived實現lvs-dr模式排程器的高可用

[root@proxy ~]

# vim /etc/keepalived/keepalived.conf

global_defs

notification_email_from ka@localhost #設定發件人

smtp_server 127.0.0.1 #定義郵件伺服器

smtp_connect_timeout 30

router_id lvs1 #設定路由id號(實驗需要修改)

}vrrp_instance vi_1

virtual_ipaddress

}virtual_server 192.168.4.15 80

} real_server 192.168.4.200 80 }}

[root@proxy1 ~]

# systemctl start keepalived

proxy2的配置

同proxy大致一樣

只需要更改以下幾個地方

router_id lvs2

state backup

priority 50

集群軟體比較

效能:lvs>haproxy>nginx

功能:nginx>haproxy>lvs

yum -y install haproxy

幫助檔案位置:

vim /etc/haproxy/haproxy.cfg

刪除63行後的所有內容

末尾追加以下內容

listen webs *:80

# balance roundrobin #defaults is roundrobin

server web1 192.168.2.100:80 check

server web2 192.168.2.200:80 check

listen stats *:1080

stats refresh 30s

stats uri /stats

stats realm haproxy manager

stats auth admin:admin

重啟haproxy

優點

工作在7層,可以針對http做分流策略

1.9版本開始支援4層**

正規表示式比haproxy強大

安裝,配置,測試簡單,通過日誌可以解決大多數問題

併發量可以達到幾萬次

nginx還可以作為web伺服器使用

缺點

7層**僅支援http,https,mail協議,應用面小

監控檢查僅通過埠,無法使用url檢查

優點

負載能力強,工作在4層,對記憶體,cpu消耗低

配置性低,沒有大多可配置性,減少人為錯誤

應用面廣,幾乎可以為所有應用提供負載均衡

缺點

不支援正規表示式,不能實現動靜分離

如果**架構龐大,lvs-dr配置比較繁瑣

優點

支援session,cookie功能

可以通過url進行健康檢查

效率,負載均衡速度,高於nginx,低於lvs

haproxy支援tcp,可以對mysql進行負載均衡

排程演算法豐富

缺點

正則弱於nginx

日誌依賴與syslogd(乙個日誌服務)

Keepalived高可用集群

目錄 keepalived keepalived實現主備 keepalived軟體起初是專為lvs負載均衡軟體設計的,用來管理並監控lvs集群系統中各個伺服器節點的狀態,後來又加入了實現高可用的vrrp功能。因此 keepalived 除了能夠管理lvs軟體外,還可以作為其他服務 例如 nginx ...

keepalived高可用集群

1.keepalived服務概念說明 keepalived軟體能幹什麼?keepalived軟體起初是專為lvs負載均衡軟體設計的,用來管理並監控lvs集群系統中各個服務節點的狀態,後來又加入了可以實現高可用的vrrp功能 keepalived軟體主要是通過vrrp協議實現高可用功能的。vrrp是v...

Keepalived 配置高可用集群

一 keepalived 簡介 1 keepalived 能實現高可用也能實現負載均衡,keepalived 是通過 vrrp 協議 virtual router redundancy protocol 來實現高可用的 2 keepalived 有三個模組,core 模組是核心模組,負責主程序的啟動...