下文給大家?guī)鞮VS群集應(yīng)用基礎(chǔ)及搭建NFS共享存儲服務(wù),希望能夠給大家在實(shí)際運(yùn)用中帶來一定的幫助,負(fù)載均衡涉及的東西比較多,理論也不多,網(wǎng)上有很多書籍,今天我們就用創(chuàng)新互聯(lián)在行業(yè)內(nèi)累計的經(jīng)驗(yàn)來做一個解答。
創(chuàng)新互聯(lián)服務(wù)項(xiàng)目包括洪洞網(wǎng)站建設(shè)、洪洞網(wǎng)站制作、洪洞網(wǎng)頁制作以及洪洞網(wǎng)絡(luò)營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,洪洞網(wǎng)站推廣取得了明顯的社會效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到洪洞省份的部分城市,未來相信會繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!一、LVS群集應(yīng)用基礎(chǔ)
根據(jù)實(shí)際企業(yè)環(huán)境的不同,群集所提供的功能也各不相同,采用的技術(shù)細(xì)節(jié)也可能各有千秋。然而從整體上來看,需要先了解一些關(guān)于群集的共性特征,這樣才能在構(gòu)建和維護(hù)群集的工作中做到心中有數(shù),避免操作上的盲目性。
無論是哪種群集,都至少包括兩臺節(jié)點(diǎn)云服務(wù)器,而對外表現(xiàn)為一個整體,只提供一個訪問入口(域名或IP地址),相當(dāng)于一臺大型計算機(jī)。根據(jù)群集所針對的目標(biāo)差異,可以分為以下三種類型。
負(fù)載均衡群集(Load Balance Cluster):以提高應(yīng)用系統(tǒng)的響應(yīng)能力、盡可能處理更多的訪問請求、較少延遲為目的,獲得高并發(fā)、高負(fù)載的整體性能。例如,“DNS輪詢” 、“應(yīng)用層交換”、“反向代理”等都可用做負(fù)載均衡群集。LB的負(fù)載分配依賴于主節(jié)點(diǎn)的分流算法,將來自客戶機(jī)的訪問請求分擔(dān)給多個服務(wù)器節(jié)點(diǎn),從而緩解整個系統(tǒng)的負(fù)載壓力。
高可用群集(High Availability Cluster):以提高應(yīng)用系統(tǒng)的可靠性,盡可能地減少中斷時間為目標(biāo),確保服務(wù)的連續(xù)性,達(dá)到高可用(HA)的容錯效果,例如,“故障切換”?!半p機(jī)熱備”、“多機(jī)熱備”、等都屬于高可用群集技術(shù),HA的工作方式包括雙工和主從兩種模式。雙工就是所有節(jié)點(diǎn)同時在線;主從則只有主節(jié)點(diǎn)在線,但當(dāng)出現(xiàn)故障時從節(jié)點(diǎn)能自動切換為主節(jié)點(diǎn),和Cisco路由器的HSRP原理類似。
- 高性能運(yùn)算群集(High Performance Computer Cluster):以提高應(yīng)用系統(tǒng)的CPU運(yùn)算速度,擴(kuò)展硬件資源和分析能力為目標(biāo),獲得相當(dāng)于大型、超級計算機(jī)的高性能運(yùn)算(HPC)能力。例如,“云計算”、“網(wǎng)格計算”也可以當(dāng)成HPC的一種。HPC群集的高性能依賴于“分布式計算” “并行計算”,通過專用硬件和軟件將多臺服務(wù)器的CPU、內(nèi)存等資源整合在一起,實(shí)現(xiàn)只有大型、超級計算機(jī)才具備的計算能力。
不同類型的群集可以根據(jù)實(shí)際需求進(jìn)行合并,如高可用的負(fù)載均衡群集。
第一層:負(fù)載調(diào)度器,這是訪問整個群集系統(tǒng)的唯一入口,對外使用所有服務(wù)器共有的VIP(虛擬IP)地址,也稱為群集IP。通常會配置主、備兩臺調(diào)度器實(shí)現(xiàn)熱備份,當(dāng)主調(diào)度器失效以后平滑替換至備用調(diào)度器,確保高可用性。
第二層:服務(wù)器池,群集所提供的應(yīng)用服務(wù)(如HTTP、FTP)由服務(wù)器池承擔(dān),其中每個節(jié)點(diǎn)具有獨(dú)立的RIP(真實(shí)IP)地址,只處理調(diào)度器分發(fā)過來的客戶機(jī)請求,當(dāng)某個節(jié)點(diǎn)暫時失效,負(fù)載調(diào)度器的容錯機(jī)制會將其隔離,等待錯誤排除后在將其重新納入服務(wù)器池。
關(guān)于群集的負(fù)載調(diào)度技術(shù),可以基于IP、端口、內(nèi)容等進(jìn)行分發(fā),其中基于IP的負(fù)載調(diào)度是效率高的,基于IP的負(fù)載均衡模式中,常見的有地址轉(zhuǎn)換、IP隧道和直接路由三種工作模式,如下圖:
地址轉(zhuǎn)換:簡稱NAT模式,類似于防火墻的私有網(wǎng)絡(luò)結(jié)構(gòu),負(fù)載調(diào)度器作為所有服務(wù)器節(jié)點(diǎn)的網(wǎng)關(guān),即作為客戶機(jī)的訪問入口,也是各節(jié)點(diǎn)回應(yīng)客戶機(jī)的訪問出口。服務(wù)器節(jié)點(diǎn)使用私有IP地址,與負(fù)載調(diào)度器位于同一個物理網(wǎng)絡(luò),安全性要優(yōu)于其他兩種方式,但負(fù)載調(diào)度器的壓力較大。
IP隧道:簡稱TUN模式,采用開放式的網(wǎng)絡(luò)結(jié)構(gòu),負(fù)載調(diào)度器僅作為客戶機(jī)的訪問入口,各節(jié)點(diǎn)通過各自的Internet連接直接回應(yīng)客戶機(jī),而不再經(jīng)過負(fù)載調(diào)度器,服務(wù)器節(jié)點(diǎn)分散在互聯(lián)網(wǎng)中的不同位置,具有獨(dú)立的公網(wǎng)IP地址,通過專用IP隧道與負(fù)載調(diào)度器相互通信。
- 直接路由:簡稱DR模式,采用半開放的網(wǎng)絡(luò)結(jié)構(gòu),與TUN模式的結(jié)構(gòu)類似,但各節(jié)點(diǎn)不是分散在各地的,而是與調(diào)度器位于同一個物理網(wǎng)絡(luò),負(fù)載調(diào)度器與各節(jié)點(diǎn)服務(wù)器通過本地網(wǎng)絡(luò)連接,不需要建立專用的IP隧道。
以上三種工作模式中,NAT方式只需要一個公網(wǎng)IP地址,從而成為最易用的一種負(fù)載均衡模式,安全性也比較好,許多硬件負(fù)載均衡設(shè)備就采用這種方式;相比較而言,DR模式和TUN模式的負(fù)載能力更加強(qiáng)大,適用范圍更廣,但節(jié)點(diǎn)的安全性要稍微差一些。
Linux Virtual Server是針對Linux內(nèi)核開發(fā)的一個負(fù)載均衡項(xiàng)目,官網(wǎng)是:http://www.linuxvirtualserver.org/ 可以進(jìn)入官網(wǎng)查閱相關(guān)的技術(shù)文檔。LVS實(shí)際上相當(dāng)于基于IP地址的虛擬化應(yīng)用,為基于IP地址和內(nèi)容請求分發(fā)的負(fù)載均衡提出了一種高效率的解決方法。LVS現(xiàn)在已經(jīng)成為Linux內(nèi)核的一部分,默認(rèn)編譯為ip_vs模塊,必要時能夠自動調(diào)用。在Centos 7系統(tǒng)中,以下操作可以手動加載ip_vs模塊,并查看當(dāng)前系統(tǒng)中ip_vs模塊的版本信息:
[root@centos01 ~]# modprobe ip_vs
[root@centos01 ~]# cat /proc/net/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)度器提供多種不同的負(fù)載調(diào)度算法,其中最常用的四種算法包括輪詢、加權(quán)輪詢、最少連接和加權(quán)最少連接。
輪詢(rr):將收到的訪問請求按照順序輪流分配給群集中的各節(jié)點(diǎn)(真實(shí)服務(wù)器),均等地對待每臺服務(wù)器,而不管服務(wù)器實(shí)際的連接數(shù)和系統(tǒng)負(fù)載。
加權(quán)輪詢(wrr):根據(jù)真實(shí)服務(wù)器的處理能力輪流分配收到的訪問請求,調(diào)度器可以自動查詢個節(jié)點(diǎn)的負(fù)載情況,并動態(tài)調(diào)整其權(quán)重。這樣可以保證處理能力強(qiáng)的服務(wù)器承擔(dān)更多的訪問流量。
最少連接(lc):根據(jù)真實(shí)服務(wù)器已建立的連接數(shù)進(jìn)行分配,將受到的訪問請求優(yōu)先分配給連接數(shù)最少的節(jié)點(diǎn),如果所有的服務(wù)器節(jié)點(diǎn)性能相近,采用這種方式可以更好地均衡負(fù)載。
- 加權(quán)最少連接(wlc):在服務(wù)器節(jié)點(diǎn)的性能差異較大的情況下,可以為真實(shí)服務(wù)器自動調(diào)整權(quán)重,權(quán)重較高的節(jié)點(diǎn)將承擔(dān)更大比例的活動連接負(fù)載。
ipvsadm是在負(fù)載調(diào)度器上使用的LVS群集管理工具,通過調(diào)用ip_vs模塊來添加、刪除服務(wù)器節(jié)點(diǎn),以及查看群集的運(yùn)行狀態(tài)。
[root@centos01 ~]# yum -y install ipvsadm
[root@centos01 ~]# ipvsadm -v
ipvsadm v1.27 2008/5/15 (compiled with popt and IPVS v1.2.1)
若群集的VIP地址為172.16.16.172,針對TCP 80端口提供負(fù)載分流服務(wù),使用的調(diào)度算法為輪詢,則對應(yīng)的ipvsadm命令操作如下所示,對于負(fù)載均衡調(diào)度器來說,VIP必須是本機(jī)實(shí)際已啟用的IP地址:
[root@centos01 ~]# ipvsadm -A -t 172.16.16.172:80 -s rr
上述操作中,選項(xiàng)-A表示添加虛擬服務(wù)器,-t用來指定VIP地址及TCP端口,-s用來指定負(fù)載調(diào)度算法——輪詢(rr)、加權(quán)輪詢(wrr)、最少連接(lc)、加權(quán)最少連接(wlc)。
為虛擬服務(wù)器172.16。16.172添加四個服務(wù)器節(jié)點(diǎn),IP地址依次為192.168.7.21~24,對應(yīng)的ipvsadm命令操作如下所示。若希望使用保持連接,還應(yīng)添加“-p 60”選項(xiàng),其中60為保持時間(單位為s):
[root@centos01 ~]# ipvsadm -a -t 172.16.16.172:80 -r 192.168.7.21:80 -m -w 1
[root@centos01 ~]# ipvsadm -a -t 172.16.16.172:80 -r 192.168.7.22:80 -m -w 1
[root@centos01 ~]# ipvsadm -a -t 172.16.16.172:80 -r 192.168.7.23:80 -m -w 1
[root@centos01 ~]# ipvsadm -a -t 172.16.16.172:80 -r 192.168.7.24:80 -m -w 1
上述操作中,選項(xiàng)-a表示添加真實(shí)服務(wù)器,-t用來指定VIP地址及TCP端口,-r用來指定RIP(真實(shí)IP)地址及TCP端口,-m表示使用NAT群集模式(-g DR模式和-i TUN模式),-w用來設(shè)置權(quán)重(權(quán)重為0時表示暫停節(jié)點(diǎn))。
結(jié)合選項(xiàng)-l可以列表查看LVS虛擬服務(wù)器,可以指定只查看某一個VIP地址(默認(rèn)為查看所有),結(jié)合選項(xiàng)-n將以數(shù)字形式顯示地址、端口等信息:
[root@centos01 ~]# ipvsadm -ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 172.16.16.172:80 rr
-> 192.168.7.21:80 Masq 1 0 0
-> 192.168.7.22:80 Masq 1 0 0
-> 192.168.7.23:80 Masq 1 0 0
-> 192.168.7.24:80 Masq 1 0 0
上述輸出結(jié)果中Forward列下的Masquerade(地址偽裝),表示采用的群集模式為NAT;如果是Route,則表示采用的群集模式為DR。
需要從服務(wù)器池中刪除某一個節(jié)點(diǎn)時,使用選項(xiàng)-d。執(zhí)行刪除操作必須指定目標(biāo)對象,包括節(jié)點(diǎn)地址、虛擬IP地址。例如,以下操作將會刪除LVS群集172.16.16.172中的節(jié)點(diǎn)192.168.7.24。
[root@centos01 ~]# ipvsadm -d -r 192.168.7.24:80 -t 172.16.16.172:80
需要刪除整個虛擬服務(wù)器時,使用選項(xiàng)-D并指定虛擬IP地址即可,無須指定節(jié)點(diǎn)。例如,若執(zhí)行“ipvsadm -D -t 172.16.16.172:80”,則刪除此虛擬化服務(wù)器。
使用導(dǎo)出/導(dǎo)入工具ipvsadm-save/ipvsadm-restore可以保存、恢復(fù)LVS策略。當(dāng)然也可以快速清除、重建負(fù)載分配策略。
[root@centos01 ~]# ipvsadm-save > /etc/sysconfig/ipvsadm
[root@centos01 ~]# cat /etc/sysconfig/ipvsadm
-A -t 172.16.16.172:http -s rr
-a -t 172.16.16.172:http -r 192.168.7.21:http -m -w 1
-a -t 172.16.16.172:http -r 192.168.7.22:http -m -w 1
-a -t 172.16.16.172:http -r 192.168.7.23:http -m -w 1
[root@centos01 ~]# systemctl stop ipvsadm
[root@centos01 ~]# systemctl start ipvsadm
[root@centos01 ~]# systemctl enable nfs
[root@centos01 ~]# systemctl enable rpcbind
NFS的配置文件為/etc/exports,文件內(nèi)容默認(rèn)為空(無任何共享)。在exports文件中設(shè)置共享資源時,記錄格式為“目錄位置 客戶機(jī)地址(權(quán)限選項(xiàng))”。例如,若要將文件夾/opt/wwwroot共享給172.16.16.0/24網(wǎng)段使用,允許讀寫操作,具體配置如下所示:
[root@centos01 ~]# mkdir -p /opt/wwwroot
[root@centos01 ~]# vim /etc/exports
/opt/wwwroot 192.168.100.0/24(rw,sync,no_root_squash)
*上述配置中“192.168.100.0/24”表示允許訪問的客戶機(jī)地址,可以是主機(jī)名、IP地址、網(wǎng)段地址、允許使用、?通配符;權(quán)限選項(xiàng)中的rw表示允許讀寫(ro為只讀),sync表示同步寫入,no_root_squash表示當(dāng)前客戶機(jī)以root身份訪問時賦予本地root權(quán)限(默認(rèn)是root_squash,將作為nfsnobody用戶對待)。**
當(dāng)需要將同一個目錄共享給不同的客戶機(jī),且分配不同權(quán)限時,只要用空格分隔指定多個“客戶機(jī)(權(quán)限選項(xiàng))”即可。例如,以下操作將/var/ftp/public目錄共享給兩個客戶機(jī),并分別給予只讀、讀寫權(quán)限。
[root@centos01 ~]# vim /etc/exports
/var/ftp/pub 192.168.4.11(ro) 192.168.4.110(rw)
[root@centos01 ~]# systemctl start rpcbind
[root@centos01 ~]# systemctl start nfs
[root@centos01 ~]# netstat -anptu | grep rpcbind
udp 0 0 0.0.0.0:965 0.0.0.0:* 2064/rpcbind
udp 0 0 0.0.0.0:111 0.0.0.0:* 2064/rpcbind
udp6 0 0 :::965 :::* 2064/rpcbind
udp6 0 0 :::111 :::* 2064/rpcbind
[root@centos01 ~]# showmount -e
Export list for centos01:
/opt/wwwroot 192.168.100.0/24
/var/ftp/pub 192.168.4.110,192.168.4.11
NFS協(xié)議的目標(biāo)是提供一種網(wǎng)絡(luò)文件系統(tǒng),因此對NFS共享的訪問也使用mount命令進(jìn)行掛載,對應(yīng)的文件系統(tǒng)類型為nfs,既可以手動掛載,也可以加入fstab配置文件來實(shí)現(xiàn)開機(jī)自動掛載,考慮到群集系統(tǒng)中的網(wǎng)絡(luò)穩(wěn)定性,NFS服務(wù)器與客戶機(jī)之間最好使用專有網(wǎng)絡(luò)進(jìn)行連接。
若要正常訪問NFS共享資源,客戶機(jī)中也需要安裝rpcbind軟件包,并啟動rpcbind系統(tǒng)服務(wù)。另外,為了使用showmount查詢工具,建議將nfs-utils軟件包也一起裝上。
[root@centos02 ~]# yum -y install nfs-utils rpcbind
[root@centos02 ~]# systemctl start rcpbind
[root@centos02 ~]# systemctl enable rcpbind
如果客戶端已經(jīng)安裝了nfs-utils軟件包,則客戶端也可以使用showmount查看NFS服務(wù)器端共享了哪些目錄,查詢格式為“showmount -e 服務(wù)器地址”。
[root@centos02 ~]# showmount -e 192.168.100.10
Export list for 192.168.100.10:
/opt/wwwroot 192.168.100.0/24
/var/ftp/pub 192.168.4.110,192.168.4.11
以root用戶身份執(zhí)行mount操作,將NFS服務(wù)器共享的/opt/wwwroot目錄掛載到本地目錄/var/www/html。與掛載本地文件系統(tǒng)不同的是,設(shè)備位置處應(yīng)指出服務(wù)器地址。
[root@centos02 ~]# mount 192.168.100.10:/opt/wwwroot /var/www/html
[root@centos02 ~]# df -hT /var/www/html
文件系統(tǒng) 類型 容量 已用 可用 已用% 掛載點(diǎn)
192.168.100.10:/opt/wwwroot nfs4 76G 3.7G 73G 5% /var/www/html
修改/etc/fstab配置文件,加入NFS共享目錄的掛載設(shè)置。注意將文件系統(tǒng)類型設(shè)為nfs,掛載參數(shù)建添加_netdev(設(shè)備需要網(wǎng)絡(luò));若添加soft、intr參數(shù)可以實(shí)現(xiàn)軟掛載,允許在網(wǎng)絡(luò)中斷時放棄掛載。這樣客戶端就可以在每次開機(jī)后自動掛載NFS共享資源了。
[root@centos02 ~]# vim /etc/fstab
......
192.168.100.10:/opt/wwwroot /var/www/html nfs defaults,_netdev 0 0
看了以上關(guān)于LVS群集應(yīng)用基礎(chǔ)及搭建NFS共享存儲服務(wù),如果大家還有什么地方需要了解的可以在創(chuàng)新互聯(lián)行業(yè)資訊里查找自己感興趣的或者找我們的專業(yè)技術(shù)工程師解答的,創(chuàng)新互聯(lián)技術(shù)工程師在行業(yè)內(nèi)擁有十幾年的經(jīng)驗(yàn)了。
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。