十年網(wǎng)站開發(fā)經(jīng)驗 + 多家企業(yè)客戶 + 靠譜的建站團隊
量身定制 + 運營維護+專業(yè)推廣+無憂售后,網(wǎng)站問題一站解決
創(chuàng)新互聯(lián)負載均衡(Cloud Load Balancer)是對多臺云服務(wù)器進行流量分發(fā)的服務(wù)。創(chuàng)新互聯(lián)負載均衡可以通過流量分發(fā)擴展應(yīng)用系統(tǒng)對外的服務(wù)能力,通過消除單點故障提升應(yīng)用系統(tǒng)的可用性。創(chuàng)新互聯(lián)負載均衡服務(wù)通過設(shè)置虛擬服務(wù)地址(VIP),將位于同一地域的多臺云服務(wù)器資源虛擬成一個高性能、高可用的應(yīng)用服務(wù)池。根據(jù)應(yīng)用指定的方式,將來自客戶端的網(wǎng)絡(luò)請求分發(fā)到云服務(wù)器池中。創(chuàng)新互聯(lián)負載均衡服務(wù)會檢查云服務(wù)器池中云服務(wù)器實例的健康狀態(tài),自動隔離異常狀態(tài)的實例,從而解決了云服務(wù)器的單點問題,同時提高了應(yīng)用的整體服務(wù)能力。今天創(chuàng)新互聯(lián)給大家介紹下LVS負載均衡群集概念的一些詳細解答
創(chuàng)新互聯(lián)公司網(wǎng)站建設(shè)服務(wù)商,為中小企業(yè)提供成都做網(wǎng)站、網(wǎng)站設(shè)計服務(wù),網(wǎng)站設(shè)計,綿陽服務(wù)器托管等一站式綜合服務(wù)型公司,專業(yè)打造企業(yè)形象網(wǎng)站,讓您在眾多競爭對手中脫穎而出創(chuàng)新互聯(lián)公司。
在各種互聯(lián)網(wǎng)應(yīng)用中,隨著站點對硬件性能、響應(yīng)速度、服務(wù)穩(wěn)定性、數(shù)據(jù)可靠性等要求越來越高,單臺云服務(wù)器將難以承擔(dān)所有的訪問。除了使用價格昂貴的大型機、專用負載分流設(shè)備以外,企業(yè)中還有另外一種選擇來解決難題,就是構(gòu)建群集服務(wù)器——通過整個多臺相對廉價的普通服務(wù)器,以同一個地址提供相同的服務(wù)。
在Linux系統(tǒng)中,有一種非常常用的群集技術(shù)——LVS(Linux Virtual Server,Linux虛擬服務(wù)器)。
博文大綱:
一、群集技術(shù)概述;
二、LVS虛擬服務(wù)器詳解;
三、NFS共享存儲服務(wù)詳解;
群集:表示一群、一串的意思,用在服務(wù)器領(lǐng)域則表示大量服務(wù)器的集合體,以區(qū)分于單個服務(wù)器。
根據(jù)實際企業(yè)環(huán)境的不同,群集所提供的功能也各不相同,采用的技術(shù)細節(jié)也可能各有千秋。然而從整體上來看,需要先了解一些關(guān)于群集的共性特征,這樣才能在構(gòu)建和維護群集的工作中做到心中有數(shù),避免操作上的盲目性。
無論是哪種群集,都至少包括兩臺節(jié)點服務(wù)器,而對外表現(xiàn)為一個整體,只提供一個訪問入口(域名或IP地址),相當于一臺大型計算機。
根據(jù)群集所針對的目標差異,可分為以下三種類型:
- 負載均衡群集(Load Balance Cluster):,簡稱LB,以提高應(yīng)用系統(tǒng)的響應(yīng)能力、盡可能處理更多的訪問請求,減少延遲為目標,獲得高并發(fā)、高負載的整體性能。例如:“DNS輪詢”、“應(yīng)用層交換”、“反向代理”等都可用作負載均衡群集。LB的負載分配依懶于主節(jié)點的分流算法,將來自客戶機的訪問請求分擔(dān)給多個服務(wù)器節(jié)點,從而緩解整個系統(tǒng)的負載壓力;
- 高可用群集(High Availability Cluster):簡稱HA,以提高應(yīng)用系統(tǒng)的可靠性,盡可能地減少中斷時間為目標,確保服務(wù)的連續(xù)性,達到高可用(HA)的容錯效果。例如:“故障切換”、“雙機熱備”、“多機熱備”等屬于高可用群集技術(shù)。HA的工作方式包括雙工和主從兩種模式。雙工即所有節(jié)點同時在線;主從則只有主節(jié)點在線,但當出現(xiàn)故障時從節(jié)點能自動切換為主節(jié)點;
- 高性能運算群集(High Performance Computer Cluster):簡稱HPC,以提高應(yīng)用系統(tǒng)的CPU運算速度,擴展硬件資源和分析能力為目標,獲得相當于大型、超級計算機的高性能運算(HPC)能力。例如:“云計算”、“網(wǎng)格計算”也可視為高性能運算的一種。高性能運算群集的高性能依賴于“分布式運算”、“并行計算”,通過專用硬件和軟件將多個服務(wù)器的CPU、內(nèi)存等資源整合在一起,實現(xiàn)只有大型、超級計算機才具備的計算能力。
不同類型的群集在必要的時候可以合并,如高可用的負載均衡群集。
在典型負載均衡群集中,包括三個層次的組件,前端至少有一個負載調(diào)度器負責(zé)相應(yīng)并分發(fā)來自客戶機的訪問請求;后端由大量真實服務(wù)器構(gòu)成服務(wù)器池,提供實際的應(yīng)用服務(wù),整個群集的伸縮性通過增加、刪除服務(wù)器節(jié)點來完成,而這些過程對客戶機是透明的,為了保持服務(wù)的一致性,所有節(jié)點使用共享存儲設(shè)備。如圖:
圖中各層的詳細介紹:
- 第一層,負載調(diào)度器:這是訪問整個群集系統(tǒng)的唯一入口,對外使用服務(wù)器公有的VIP(虛擬IP)地址,也稱為群集IP地址。通常會配置主、備兩臺調(diào)度器實現(xiàn)熱備份、當主調(diào)度器失效后平滑替換至備用調(diào)度器,確保高可用性;
- 第二層,服務(wù)器池:群集所提供的應(yīng)用服務(wù)(如HTTP、FTP)由服務(wù)器池承擔(dān),其中每個節(jié)點具有獨立的RIP(真實IP)地址,只處理調(diào)度器分發(fā)過來的客戶機請求。當某個節(jié)點暫時失效時,負載調(diào)度器的容錯機制會將其隔離,等待錯誤排除以后再重新納入服務(wù)器池;
- 第三層,共享存儲:為服務(wù)器池中的所有節(jié)點提供穩(wěn)定、一致的文件存取服務(wù),確保整個群集的統(tǒng)一性。在Linux/UNIX環(huán)境中,共享存儲可以使用NAS設(shè)備,或者提供NFS(網(wǎng)絡(luò)文件系統(tǒng))共享服務(wù)的專用服務(wù)器;
關(guān)于群集的負載調(diào)度技術(shù),可以基于IP、端口、內(nèi)容等進行分發(fā),其中基于IP的負載調(diào)度是效率最高的。
基于IP的負載均衡模式中,常見的有:
地址轉(zhuǎn)換:簡稱NAT模式,類似于防火墻的私有網(wǎng)絡(luò)結(jié)構(gòu),負載調(diào)度器作為所有服務(wù)器節(jié)點的網(wǎng)關(guān),及作為客戶機的訪問入口。服務(wù)器節(jié)點使用私有IP地址,與負載調(diào)度器位于同一個物理網(wǎng)絡(luò),安全性要優(yōu)于其他兩種方式。如圖:
NAT模式的實現(xiàn)步驟可以參考博文:LVS負載均衡群集之構(gòu)建NAT模式,可跟做!??!
IP隧道:簡稱TUN模式,采用開放式的網(wǎng)絡(luò)結(jié)構(gòu),負載調(diào)度器僅作為客戶機的訪問入口,各節(jié)點通過各自的Internet連接直接回應(yīng)客戶機,而不再經(jīng)過負載調(diào)度器。服務(wù)器節(jié)點分散在互聯(lián)網(wǎng)中的不同位置,具有獨立的公網(wǎng)IP地址,通過專用IP隧道與負載調(diào)度器相互通信。如圖:
直接路由:簡稱DR模式,采用半開放式的網(wǎng)絡(luò)結(jié)構(gòu),與TUN模式的結(jié)構(gòu)相似,但各節(jié)點并不是分散在各地,而是與調(diào)度器位于同一個物理網(wǎng)絡(luò)。負責(zé)調(diào)度器與各節(jié)點服務(wù)器通過本地網(wǎng)絡(luò)連接,不需要建立專用的IP隧道。如圖:
DR模式的實現(xiàn)步驟可參考博文:LVS負載均衡群集之構(gòu)建DR模式,可跟做?。?!
以上三種工作模式中,NAT方式只需要一個公網(wǎng)IP地址,從而成為最易用的一種負載均衡模式,安全性也比較好,許多硬件負載均衡設(shè)備就采用這種方式,相比較而言,DR模式和TUN模式的負載能力更加強大,使用范圍更廣,但節(jié)點的安全性要稍差一些。
Linux Virtual Server是針對Linux內(nèi)核開發(fā)的一個負載均衡的項目,其官方網(wǎng)站是http://www.linuxvirtualserver.org/ 。LVS實際上相當于基于IP地址的虛擬化應(yīng)用,為基于IP地址和內(nèi)容請求分發(fā)的負載均衡提出了一種高效的解決方法。
LVS現(xiàn)在已成為Linux內(nèi)核的一部分,默認編譯為ip_vs模塊,必要時能夠自動調(diào)用。在Centos 7系統(tǒng)中,手動加載ip_vs模塊,可以執(zhí)行以下命令:
[root@localhost ~]# modprobe ip_vs //加載IP_vs模塊
[root@localhost ~]# cat /proc/net/ip_vs //查看IP_vs版本信息
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
針對不同的網(wǎng)絡(luò)服務(wù)和配置需要,LVS調(diào)度器提供了多種不同的負載調(diào)度算法,其中最常用的幾種算法:
ipvsadm是在負載調(diào)度器上使用的LVS群集管理工具,通過調(diào)用ip_vs模塊來添加、刪除服務(wù)器節(jié)點,以及查看群集的運行狀態(tài)。
在CentOS 7系統(tǒng)默認沒有安裝,需要自行安裝!
[root@localhost ~]# yum -y install ipvsadm
[root@localhost ~]# ipvsadm -v
ipvsadm v1.27 2008/5/15 (compiled with popt and IPVS v1.2.1)
ipvsadm命令的操作方法:
[root@localhost ~]# ipvsadm -A -t 192.168.1.254:80 -s rr
//群集的VIP地址是192.168.1.254,針對TCP的80端口提供負載分流服務(wù),使用的調(diào)度算法是輪詢。
命令中各選項的含義:
[root@localhost ~]# ipvsadm -a -t 192.168.1.254:80 -r 192.168.1.100 -m -w 1
//為虛擬服務(wù)器添加一個IP為192.168.1.254的真實服務(wù)器
命令中各選項(及相關(guān)選項)的含義:
[root@localhost ~]# ipvsadm -ln
//查看群集節(jié)點狀態(tài)
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 192.168.1.254:80 rr
-> 192.168.1.100:80 Masq 1 0 0
//Forward列對應(yīng)的是Masq(地址偽裝),表示采用的群集模式為NAT;
ActiveConn列:當前連接數(shù);
InActConn列:正在活動的連接數(shù);
[root@localhost ~]# ipvsadm -d -r 192.168.1.100:80 -t 192.168.1.254:80
//從群集中刪除192.168.1.100的節(jié)點(-d表示刪除)
[root@localhost ~]# ipvsadm -D -t 192.168.1.254:80
//刪除192.168.1.254這個VIP(也就意味這個群集就沒了)
[root@localhost ~]# ipvsadm-save
//查看設(shè)置的策略
[root@localhost ~]# ipvsadm-save > 123.txt
//保存策略到指定文件
[root@localhost ~]# cat 123.txt
-A -t 192.168.1.254:http -s rr
-a -t 192.168.1.254:http -r 192.168.1.100:http -m -w 1
//確認保存文件內(nèi)容
[root@localhost ~]# ipvsadm -C
//清空所有策略
[root@localhost ~]# ipvsadm-restore < 123.txt
//從指定文件導(dǎo)入策略
NFS是一種基于TCP/IP傳輸?shù)木W(wǎng)絡(luò)文件系統(tǒng)協(xié)議。通過使用NFS協(xié)議,客戶機可以像訪問本地目錄一樣訪問遠程服務(wù)器中的共享資源,對于絕大多數(shù)的負載均衡群集來說,使用NFS協(xié)議來共享數(shù)據(jù)存儲是非常常見的做法。
NFS服務(wù)的實現(xiàn)依賴與RPC機制,已完成遠程到本地的映射過程。需要安裝一下兩個軟件包才能提供NFS共享服務(wù)。
[root@localhost ~]# yum -y install nfs-utils
//用于NFS共享發(fā)布和訪問
[root@localhost ~]# yum -y install rpcbind
//用于RPC支持
[root@localhost ~]# mkdir /a
[root@localhost ~]# touch /a/123.txt
//創(chuàng)建目錄、文件用于測試
[root@localhost ~]# vim /etc/exports
//填寫以下內(nèi)容(NFS服務(wù)的配置文件為/etc/exports)
/a 192.168.1.0(rw,sync,no_root_squash)
或者
[root@localhost ~]# vim /etc/exports
//填寫以下內(nèi)容(NFS服務(wù)的配置文件為/etc/exports)
/a 192.168.1.1(rw,sync,no_root_squash) 192.168.1.10(ro,sync)
配置文件中
[root@localhost ~]# systemctl start nfs
[root@localhost ~]# systemctl start rpcbind
//啟動nfs服務(wù)、rpcbind服務(wù)
[root@localhost ~]# showmount -e
//查看本機發(fā)布的共享目錄
Export list for localhost.localdomain:
/a 192.168.1.10,192.168.1.1
[root@localhost ~]# showmount -e 192.168.1.2
//查詢NFS服務(wù)的發(fā)布情況
Export list for 192.168.1.2:
/a 192.168.1.10,192.168.1.1
[root@localhost ~]# mount 192.168.1.2:/a /b
[root@localhost ~]# ls /b
123.txt
//掛載到本地,并查看內(nèi)容
//如果開啟同步權(quán)限,有任何變化,NFS服務(wù)器和客戶端會立馬更新內(nèi)容
[root@localhost ~]# vim /etc/fstab
……………… //省略部分內(nèi)容,填寫以下內(nèi)容
192.168.1.2:/a /b nfs defaults,_netdev 0 0
//_netdev 建議添加次參數(shù),表示需要網(wǎng)絡(luò)支持;如果想在網(wǎng)絡(luò)終端的情況下放棄掛載,添加一下參數(shù)(soft、intr)實現(xiàn)軟掛載
如果大家還有什么地方需要了解的可以在創(chuàng)新互聯(lián)官網(wǎng)找我們的專業(yè)技術(shù)工程師的,創(chuàng)新互聯(lián)技術(shù)工程師在行業(yè)內(nèi)擁有十幾年的經(jīng)驗了,所以會比小編回答的更加詳細專業(yè)。創(chuàng)新互聯(lián)官網(wǎng)鏈接www.cdcxhl.com