您好,登錄后才能下訂單哦!
下文給大家帶來LVS負載均衡-keepalived內容與配置介紹,希望能夠給大家在實際運用中帶來一定的幫助,負載均衡涉及的東西比較多,理論也不多,網上有很多書籍,今天我們就用億速云在行業內累計的經驗來做一個解答。
內容要點:
一、keepalived :
二、配置步驟:
一、keepalived :
(1)keepalived是什么
keepalived是集群管理中保證集群高可用的一個服務軟件,其功能類似于heartbeat,用來防止單點故障。
1、keepalived的三個核心模塊:
core核心模塊
chech健康監測
vrrp虛擬路由冗余協議
2、Keepalived服務的三個重要功能:
管理LVS
對LVS集群節點檢查
作為系統網絡服務的高可用功能
(2)keepalived工作原理
1、keepalived是以VRRP協議為實現基礎的,VRRP全稱Virtual Router Redundancy Protocol,即虛擬路由冗余協議。
2、虛擬路由冗余協議,可以認為是實現路由器高可用的協議,即將N臺提供相同功能的路由器組成一個路由器組,這個組里面有一個master和多個backup,master上面有一個對外提供服務的vip(該路由器所在局域網內其他機器的默認路由為該vip),master會發組播,當backup收不到vrrp包時就認為master宕掉了,這時就需要根據VRRP的優先級來選舉一個backup當master。這樣的話就可以保證路由器的高可用了。
3、keepalived主要有三個模塊,分別是core、check和vrrp。core模塊為keepalived的核心,負責主進程的啟動、維護以及全局配置文件的加載和解析。check負責健康檢查,包括常見的各種檢查方式。vrrp模塊是來實現VRRP協議的。
二、配置步驟:
實驗環境說明:
(1)準備四臺虛擬機,兩臺為調度云服務器,兩臺為節點服務器;
(2)調度服務器部署 LVS 和 keepalived ,實現負載均衡和雙機熱備;
(3)客戶端主機能夠通過虛擬ip地址,訪問到后臺的 Web服務器的網頁;
(4)實驗結果驗證:其中一臺 DR 宕機,訪問正常進行,所有服務照常運行。
角色 | IP地址 |
調度服務器 DR1(主) | 192.168.100.201 |
調度服務器 DR2 (備) | 192.168.100.202 |
節點服務器 web1 | 192.168.100.221 |
節點服務器 web2 | 192.168.100.222 |
虛擬 IP | 192.168.100.10 |
客戶端測試機 win7 | 192.168.100.50 |
第一步:配置兩臺 DR
(1)安裝 ipvsadm 和 keepalived 包
yum install ipvsadm keepalived -y
(2)修改 /etc/sysctl.conf 文件,添加以下代碼:
net.ipv4.ip_forward=1 //proc響應關閉重定向功能 net.ipv4.conf.all.send_redirects = 0 net.ipv4.conf.default.send_redirects = 0 net.ipv4.conf.ens33.send_redirects = 0
sysctl -p 這條命令是讓以上配置生效
(3)配置虛擬網卡(ens33:0):
1、注意路徑:/etc/sysconfig/network-scripts/
2、直接復制已有的網卡信息,加以修改即可:
cp ifcfg-ens33 ifcfg-ens33:0 vim ifcfg-ens33:0 刪除原來所有信息,添加以下代碼: DEVICE=ens33:0 ONBOOT=yes IPADDR=192.168.100.10 NETMASK=255.255.255.0
3、啟用虛擬網卡:
ifup ens33:0
(4)編寫服務啟動腳本,路徑:/etc/init.d
1、vim dr.sh 腳本內容如下:
#!/bin/bash GW=192.168.100.1 VIP=192.168.100.10 RIP1=192.168.100.221 RIP2=192.168.100.222 case "$1" in start) /sbin/ipvsadm --save > /etc/sysconfig/ipvsadm systemctl start ipvsadm /sbin/ifconfig ens33:0 $VIP broadcast $VIP netmask 255.255.255.255 broadcast $VIP up /sbin/route add -host $VIP dev ens33:0 /sbin/ipvsadm -A -t $VIP:80 -s rr /sbin/ipvsadm -a -t $VIP:80 -r $RIP1:80 -g /sbin/ipvsadm -a -t $VIP:80 -r $RIP2:80 -g echo "ipvsadm starting------------------[ok]" ;; stop) /sbin/ipvsadm -C systemctl stop ipvsadm ifconfig ens33:0 down route del $VIP echo "ipvsamd stoped--------------------[ok]" ;; stop) /sbin/ipvsadm -C systemctl stop ipvsadm ifconfig ens33:0 down route del $VIP echo "ipvsamd stoped--------------------[ok]" ;; status) if [ ! -e ar/lock/subsys/ipvsadm ];then echo "ipvsadm stoped--------------------" exit 1 else echo "ipvsamd Runing-------------[ok]" fi ;; *) echo "Usage: $0 {start|stop|status}" exit 1 esac exit 0
2、添加權限,啟動腳本
chmod +x dr.sh service dr.sh start
(5)第二臺 DR 配置和第一臺一模一樣,重復操作一下即可
第二步:配置第一臺節點服務器 web1
(1)安裝 httpd
yum install httpd -y
systemctl start httpd.service //開啟服務
(2)在站點寫一個測試網頁,待會后面方便驗證試驗結果
路徑:/var/www/html echo "this is accp web" > index.html
(3)創建虛擬網卡
1、路徑:/etc/sysconfig/network-scripts/ 2、復制網卡信息加以修改 cp ifcfg-lo ifcfg-lo:0 3、vim ifcfg-lo:0 刪除原來所有信息,添加以下內容: DEVICE=lo:0 IPADDR=192.168.100.10 NETMASK=255.255.255.0 ONBOOT=yes
(4)編寫服務啟動腳本,路徑:/etc/init.d
1、vim web.sh 腳本內容如下:
#!/bin/bash VIP=192.168.100.10 case "$1" in start) ifconfig lo:0 $VIP netmask 255.255.255.255 broadcast $VIP /sbin/route add -host $VIP dev lo:0 echo "1" > /proc/sys/net/ipv4/conf/lo/arp_ignore echo "2" > /proc/sys/net/ipv4/conf/lo/arp_announce echo "1" > /proc/sys/net/ipv4/conf/lo/arp_ignore echo "2" > /proc/sys/net/ipv4/conf/lo/arp_announce sysctl -p > /dev/null 2>&1 echo "RealServer Start OK " ;; stop) ifconfig lo:0 down route del $VIP /dev/null 2>&1 echo "0" > /proc/sys/net/ipv4/conf/lo/arp_ignore echo "0" > /proc/sys/net/ipv4/conf/lo/arp_announce echo "0" > /proc/sys/net/ipv4/conf/all/arp_ignore echo "0" > /proc/sys/net/ipv4/conf/all/arp_announce echo "RealServer Stoped" ;; *) echo "Usage: $0 {start|stop}" exit 1 esac exit 0
2、添加權限,并執行
chmod +x web.sh //添加權限 service web.sh start //啟動服務
(5)開啟虛擬網卡
ifup lo:0
(6)測試網頁是否正常
第三步:配置第二臺節點服務器 web2
第二臺web和第一臺配置一模一樣,唯一不同的是,為了區分實驗效果,第二臺的測試網頁內容換了:
路徑:/var/www/html echo "this is benet web" > index.html
測試網頁是否正常:
第四步:客戶端測試
(1)配置好客戶端的IP地址
(2)測試
1、與 192.168.100.10 能否互通:
2、訪問網頁是否正常
第五步:部署 keepalived
一、在第一臺 DR 上部署:
(1)修改 keepalived.conf 文件,路徑 /etc/keepalived/
修改以下內容:
(2)啟動服務
systemctl start keepalived.service
二、在第二臺 DR 上部署:
(1)修改 keepalived.conf 文件
(2)啟動服務
systemctl start keepalived.service
第六步:實驗結果驗證
由于部署了 LVS 和 keepalived,目的是,負載均衡和雙機熱備。
此時,我們模擬一下故障,宕掉其中一臺 DR1,如果客戶端依舊可以和虛擬 IP地址 互通,且能夠正常訪問網站的話,就說明 DR2 就代替 DR1 工作了,防止單點故障的效果實現了。
(1)故障模擬:宕掉 DR1
ifdown ens33:0
(2)結果驗證
1、在客戶端 ping 一下虛擬ip
2、網站也依舊能夠訪問
看了以上關于LVS負載均衡-keepalived內容與配置介紹,如果大家還有什么地方需要了解的可以在億速云行業資訊里查找自己感興趣的或者找我們的專業技術工程師解答的,億速云技術工程師在行業內擁有十幾年的經驗了。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。