1. 程式人生 > >LVS + Keepalived 高可用群集部署

LVS + Keepalived 高可用群集部署

ipv ipvsadm p地址 netmask ask src centos7 sha 判斷

簡介:
keepalived是專門針對LVS設計的一款強大的輔助工具,主要用來提供故障切換(Failover)和健康檢查(Health Checking)功能——判斷LVS負載調度器、節點服務器的可用性,及時隔離並替換為新的服務器,當故障主機修復後將其重新加入群集。
Keepalived采用VRRP(Virtual Router Redundancy Protocl,虛擬路由冗余協議)熱備份協議,以軟件的方式實現Linux服務器的多機熱備功能。

實驗拓撲:
技術分享圖片

實驗環境:

序號 名稱 類型 IP地址
1 keepalived 主 centos7 192.168.10.10
2 keepalived 從 centos7 192.168.10.20
3 節點服務器 web1 centos7 192.168.10.100
4 節點服務器 web2 centos7 192.168.10.200
5 客戶機 client centos7 192.168.10.15

實驗過程:
一、調度服務器
1、安裝環境部署、關閉防火墻、安全功能,兩臺調度服務器相同操作

[root@localhost ~]#yum install keepalived ipvsadm -y
[root@localhost ~]#systemctl stop firewalld.service 
[root@localhost ~]#setenforce 0

2、修改網卡為僅主機模式,配置靜態IP,兩臺調度服務器相同操作,DR 1:192.168.10.10 DR 2:192.168.10.20

[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33
[root@localhost ~]#service network restart

技術分享圖片
3、開啟路由功能、關閉重定向功能,兩臺調度服務器相同操作

[root@localhost ~]#vi /etc/sysctl.conf
[root@localhost ~]#sysctl -p

技術分享圖片
4、配置虛擬IP,並開啟。註意:如果DR開啟虛擬網卡時報錯,可用 service network restart 重啟網卡,再次開啟即可成功。

[root@localhost ~]# cd /etc/sysconfig/network-scripts/
[root@localhost network-scripts]#cp ifcfg-ens33 ifcfg-ens33:0
[root@localhost network-scripts]#vim ifcfg-ens33:0
      DEVICE=ens33:0
      ONBOOT=yes
      IPADDR=192.168.10.2
      NETMASK=255.255.255.0
[root@localhost ~]#ifup ens33:0

DR 1:
技術分享圖片
DR 2:
技術分享圖片
5、編輯服務腳本,並執行,兩臺調度服務器相同操作

[root@localhost ~]# cd /etc/init.d/
[root@localhost ~]#vim dr.sh

技術分享圖片

[root@localhost ~]#chmod +x dr.sh  
[root@localhost ~]#service dr.sh start

二、節點服務器
1、安裝環境部署,關閉防火墻、安全功能,兩臺節點服務器同樣操作

[root@localhost ~]#yum install httpd -y
[root@localhost ~]#systemctl stop firewalld.service 
[root@localhost ~]#setenforce 0

2、開啟網頁服務,並設置測試頁面,web1和web2測試頁面加以區分

[root@localhost ~]#systemctl start httpd.service
[root@localhost ~]#cd /var/www/html/
[root@localhost html]#echo "this is aaa" > index.html      #web1
[root@localhost html]#echo "this is bbb" > index.htm       #web2

3、修改網卡為僅主機模式,web1配置靜態IP為192.168.10.100,web2:192.168.10.200,並配置回環網卡的虛擬IP

[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33
[root@localhost ~]#service network restart
[root@localhost ~]#cd /etc/sysconfig/network-scripts
[root@localhost network-scripts]#cp ifcfg-lo ifcfg-lo:0
[root@localhost network-scripts]#vim ifcfg-lo:0
      DEVICE=lo:0
      IPADDR=192.168.10.2
      NETMASK=255.255.255.0
      ONBOOT=yes

web1:
技術分享圖片
web2:
技術分享圖片

4、編輯服務腳本,並執行,兩臺節點服務器相同操作

[root@localhost ~]#cd /etc/init.d/
[root@localhost ~]#vim web.sh

技術分享圖片

[root@localhost ~]#chmod +x web.sh
[root@localhost ~]#service web.sh start
[root@localhost ~]#ifup lo:0

5、用火狐瀏覽器進行自測:firefox "http://127.0.0.1/" & ,訪問後重啟腳本服務
web1:
技術分享圖片
web2:
技術分享圖片
*到此部分,節點服務器服務部署完成,DR調度服務器配置完成,便可用客戶機檢測:通過訪問調度服務器虛擬IP,可以訪問到web1、web2的測試頁面
技術分享圖片
技術分享圖片
三、在兩臺調度服務器上配置keepalived服務
1、在192.168.10.10上配置主服務器

[root@localhost ~]#cd /etc/keepalived/
[root@localhost ~]#vim keepalived.conf

技術分享圖片
2、開啟服務,並查看狀態

[root@localhost ~]#systemctl start keepalived
[root@localhost ~]#systemctl status keepalived

技術分享圖片
3、在192.168.10.20上配置備用服務器

[root@localhost ~]#cd /etc/keepalived/
[root@localhost ~]#vim keepalived.conf

技術分享圖片
4、開啟服務,並查看狀態
技術分享圖片
5、測試,如果客戶機無法訪問,此時只需要將其防火墻重新關閉,並重啟相關服務即可。
技術分享圖片
訪問到網頁後,down掉keepalived的主服務器,再次訪問,如果成功,說明熱備冗余設置成功。
技術分享圖片

到此實驗已全部完成,其中報錯較多,可以試著用重啟服務等方式進行調整,並註意是否是虛擬網卡的問題!

LVS + Keepalived 高可用群集部署