LVS是Linux Virtual Server的簡寫,意即Linux虛擬服務器,是一個虛擬的服務器集群系統,它可以通過不同的調度算法和工作模式,將客戶端的請求轉發給后端的真實服務器。
Keepalived是一個基于VRRP協議來實現的服務高可用方案,可以利用其來避免IP單點故障,一般與其他負載均衡技術(如LVS、HAProxy、Nginx)一起工作來達到集群的高可用。
兩臺 CentOS 7 機器,IP 地址分別為 10.9.2.121和 10.9.2.122。
vip | 10.9.2.120 | 虛擬出來的IP |
master | 10.9.2.121 | master主機IP |
backup | 10.9.2.122 | backup主機IP |
在兩臺機器上,執行以下命令,安裝 ipvsadm keepalived 軟件包:
yum install -y ipvsadm keepalived
在master機器上,執行以下命令,配置 Keepalived:
vim /etc/keepalived/keepalived.conf
添加以下內容:
global_defs { router_id 1}vrrp_instance VI_1 { state MASTER interface enp0s3 virtual_router_id 1 mcast_src_ip 10.9.2.121 priority 100 advert_int 1 authentication { auth_type PASS auth_pass 123456 } virtual_ipaddress { 10.9.2.120 }}
在 backup機器上,執行以下命令,配置 Keepalived:
vim /etc/keepalived/keepalived.conf
添加以下內容:
global_defs { router_id 2}vrrp_instance VI_1 { state BACKUP interface enp0s3 virtual_router_id 1 mcast_src_ip 10.9.2.122 priority 90 advert_int 1 authentication { auth_type PASS auth_pass 123456 } virtual_ipaddress { 10.9.2.120 }}
保存并退出。
參數說明:
global_defs {router_id 1 # 定義 VRRP 組的 ID,主備服務器必須相同}authentication { # 定義 VRRP 認證類型和密碼,主備服務器必須相同auth_type PASSauth_pass 123456}vrrp_instance VI_1 {state MASTER # 指定該節點的狀態,主節點為 MASTER,備節點為 BACKUPinterface eth0 # 指定VRRP使用的網卡,換成master機器的網卡名稱virtual_router_id 1mcast_src_ip 10.9.2.121 # 指定 VRRP 使用的組播源 IP 地址priority 100 # 指定 VRRP 優先級,優先級越高,該節點成為主節點的概率越大advert_int 1 # 指定 VRRP 通告間隔,單位為秒virtual_ipaddress { # 指定 VRRP 虛擬 IP 地址10.9.2.120}}
在兩臺機器上,執行以下命令,啟動 LVS 和 Keepalived:
systemctl start keepalivedsystemctl start ipvsadm
如果systemctl start ipvsadm異常Active: failed (Result: exit-code) since Fri 2023-09-01 14:31:28 CST; 5min agoProcess: 3618 ExecStart=/bin/bash -c exec /sbin/ipvsadm-restore < /etc/sysconfig/ipvsadm (code=exited, status=1/FAILURE)。
systemctl status ipvsadm.service
journalctl -xe
可以看到/bin/bash: /etc/sysconfig/ipvsadm: No such file or directory。
ipvsadm --save > /etc/sysconfig/ipvsadmsystemctl start ipvsadmsystemctl status ipvsadm.service
看看是否能ping通。
ping 10.9.2.120
再在master和backup機器上都安裝一個nginx或apache httpd。
#masteryum install -y httpdecho "Master" > /var/www/html/index.htmlsystemctl start httpd#backupyum install -y httpdecho "Backup" > /var/www/html/index.htmlsystemctl start httpd
在瀏覽器訪問:http://10.9.2.120。
master優先級高,10.9.2.120顯示的是master。
再來模擬一下故障轉移測試。
在 10.9.2.121 機器上,執行以下命令,停掉 LVS:
systemctl stop keepalived
如果 LVS 配置正確,Keepalived 會自動將 VIP 切換到 10.9.2.122。
再在瀏覽器訪問:http://10.9.2.120。
注意事項
實現集群負載均衡網絡的方案可以分為軟件、硬件、云等方面:
軟件負載均衡是指在現有服務器上安裝負載均衡軟件來實現負載均衡,其優點是成本低廉、配置簡單、靈活性強,適用于中小型集群。常見的軟件負載均衡方案包括:
硬件負載均衡是指使用專門的負載均衡設備來實現負載均衡,其優點是性能高、功能豐富、可靠性強,適用于大型集群。常見的硬件負載均衡方案包括:
云負載均衡是指在云平臺上使用負載均衡服務來實現負載均衡,其優點是部署簡單、彈性伸縮、按需付費,適用于各種規模的集群。常見的云負載均衡方案包括:
LVS(Linux Virtual Server)是 Linux 內核中的軟件負載均衡器,可以將流量分發到多個服務器。LVS 可以分為兩種模式:
LVS 是基于四層的負載均衡器,可以將流量分發到多個服務器。LVS 的核心是 LVS 轉發器,LVS 轉發器負責將客戶端的請求轉發到后端服務器。LVS 轉發器可以運行在 Linux 內核中,也可以運行在用戶空間。
LVS 的優點
Keepalived 是一個基于 VRRP 協議的軟件,用于監控 LVS 的健康狀況。VRRP 協議是一種虛擬路由冗余協議,用于在多個路由器之間實現主備切換。
Keepalived 的主要功能是監控 LVS 主節點的狀態,如果主節點出現故障,Keepalived 會自動將 LVS 的 VIP 切換到備節點。
Keepalived 的優點
本文鏈接:http://www.www897cc.com/showinfo-26-19019-0.htmlLVS+Keepalived:實現高效軟負載均衡的利器
聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。郵件:2376512515@qq.com
上一篇: 詳解六種最常見的軟件供應鏈攻擊