299

公司官網(wǎng)打開慢,優(yōu)化服務器負載均衡解決方案

時間: 2015-10-09 11:52:22   點擊數(shù): 32886   來源: 耐思智慧

隨著公司產(chǎn)品業(yè)務的推廣發(fā)展壯大,對服務器的硬件性能、相應速度、服務穩(wěn)定性、數(shù)據(jù)可靠性的要求越來越高。今后服務器的負載將難以承受所有的訪問。從公司的實際情況,運營成本網(wǎng)絡安全性考慮,排除使用價格昂貴的大型服務器、以及部署價格高昂的專用負載均衡設備。

DNS輪詢負載均衡解決方案雖然成本低廉但是安全性能不是很好,加上公司產(chǎn)品的特殊性需要用戶驗證的體系,在會話保持方面是一大缺陷,會話保持,如果是需要身份驗證的網(wǎng)站,在不修改軟件構(gòu)架的情況下,這點是比較致命的,因為DNS解析無法將驗證用戶的訪問持久分配到同 一服務器。雖然有一定的本地DNS緩存,但是很難保證在用戶訪問期間,本地DNS不過期,而重新查詢服務器并指向新的服務器,那么原服務器保存的用戶信息 是無法被帶到新服務器的,而且可能要求被重新認證身份,來回切換時間長了各臺服務器都保存有用戶不同的信息,對服務器資源也是一種浪費。

企業(yè)還有另一種選擇解決難題,構(gòu)建集群服務器----通過整合多臺相對低廉的普通服務器,以同一個地址對外提供相同的服務。LVS負載均衡集群解決方案是目前企業(yè)最常見運用范圍最廣的一種集群技術(shù)。

一、Web服務集群負載均衡理論思路

負載均衡的思路下多臺服務器為對稱方式,每臺服務器都具備等價的地位,都可以單獨對外提供服務而無須其它服務器的輔助。然后通過某種負載分擔技術(shù),將外部發(fā)送來的請求均勻分配到對稱結(jié)構(gòu)中的某一臺服務器上,而接收到請求的服務器都獨立響應客戶機的請求。由于建立內(nèi)容完全一致的Web服務器并不復雜,可以使用服務器同步更新或者共享存儲空間等方法來完成,因此負載均衡技術(shù)就成為建立一個高負載Web站點的關(guān)鍵性技術(shù)。

web服務器集群負載圖

二、公司外網(wǎng)服務器的網(wǎng)絡環(huán)境及工作模式的選擇

Lvs負載均衡的工作模式一共有三種,分別是 

1、network address translation地址轉(zhuǎn)換模式 ; 

2、ip tunnel IP隧道模式 ;

3、direct routing直接路由模式。

這3種工作模式中,NAT模式只需要一個公網(wǎng)ip,成為最簡易的負載均衡模式,安全性比較好,相對而言DR模式的負載能力更為強大、適用范圍更廣。下面我們對DR工作模式進行具體的研究;

DR工作模式采用半開放式的網(wǎng)絡結(jié)構(gòu),各節(jié)點服務器與調(diào)度器處在同一個物理網(wǎng)絡,負載均衡調(diào)度器與各節(jié)點服務器使用本地網(wǎng)絡相連,客戶端請求訪問會請求調(diào)度器的虛擬IP地址,服務器響應不經(jīng)過調(diào)度器,直接響應客戶端。

DR工作模式

DirectRouting 工作模式客戶端請求及服務器響應流程

服務器響應流程

基于DR模式的LVS負載均衡集群的網(wǎng)絡架構(gòu)

三、操作流程及實施步驟

針對公司部署的實際情況我們可以DR直接路由的工作模式為實施方案,

具體操作步驟流程如下:

LVS現(xiàn)在已成為Linux內(nèi)核的一部分,默認編譯為ip_vs模塊,必要時能夠自動調(diào)用。以下操作可以手動加載ip_vs模塊,并查看當前系統(tǒng)中ip_vs模塊的版本信息

modprobe ip_vs

//加載ip_vs模塊,

  1. cat /proc/net/ip_vs 

//查看ip_vs版本信息

---安裝管理軟件------

  1. rpm -ivh /mnt/Packages/ipvsadm-1.25-9.el6.i686.rpm   
  2. service ipvsadm start 

//啟動服務

以上這些操作在調(diào)度服務器上做一下就好了,節(jié)點服務器不用安裝這些的

———————————————————————————————————

-----常用命令的解釋如下:------

LVS的負載調(diào)度算法有四種最常用的:輪詢算法(rr)、加權(quán)輪詢(wrr)、最少輪詢(lc)、加權(quán)最少輪詢(wlc)

1)創(chuàng)建虛擬服務器

群集的VIP地址為192.168.0.14,針對TCP 80端口提供負載分流服務,使用的輪詢調(diào)度算法。對于負載均衡調(diào)度器來說,VIP必須是本機實際已啟用的IP地址

ipvsadm -A -t 192.168.0.14:80 -s rr

//選項 "-A"表示添加虛擬服務器,"-t"用來指定VIP地址及TCP端口,"-s"用來指定負載調(diào)度算法——rr、wrr、lc、wlc

2)添加服務器節(jié)點

  1. ipvsadm -a -t 192.168.0.14:80 -r 192.168.0.12:80 -m   
  2. ipvsadm -a -t 192.168.0.14:80 -r 192.168.0.13:80 -m 

//選項 "-a"表示添加真實服務器,"-t"用來指定VIP地址及TCP端口,"-r"用來指定RIP地址及TCP端口,"-m"表示使用NAT群集模式("-g"是DR模式,"-i"是TUN模式)

{ -m參數(shù)后面還可以跟下-w的參數(shù),這里沒有做的"-w"用來設置權(quán)重(權(quán)重為0時表示暫停節(jié)點)}

4)刪除服務器節(jié)點

  1. ipvsadm -d -r 192.168.0.14:80 -t 192.168.0.12:80 

//需要從服務器池中刪除某一個節(jié)點時,使用選項"-d"。執(zhí)行刪除操作必須指定目標對象,包括節(jié)點地址、虛擬IP地址。如上所示的操作將會刪除LVS群集192.168.0.14中的節(jié)點192.168.0.12


若需要刪除整個虛擬服務器時,使用選項-D并指定虛擬IP地址即可,無需要指定節(jié)點。例如:“ipvsadm -D -t 172.16.16.172.24:80",則刪除此虛擬服務器。

  1. ipvsadm -L   
  2. //  
  3. 查看節(jié)點狀態(tài),加個   
  4. "-n" 
  5. 將以數(shù)字形式顯示地址、端口信息   
  6. ipvsadm-save  > /etc/sysconfig/ipvsadm  
  7. //  
  8. 保存策略 

使用導出/導入工具ipvsadm-save/ipvsadm-restore可以保存、恢復LVS策略,方法類似于iptables的規(guī)則的導出、導入。


四、腳本化操作實施步驟

------DR模式調(diào)度器配置------(調(diào)度器與各服務器之間要用的都用腳本的形式)

  1. vi dr.sh   
  2. ifconfig eth0:0 192.168.0.14 broadcast 192.168.0.14 netmask 255.255.255.255 up   
  3. route add -host 192.168.0.14 dev eth0:0   
  4. ipvsadm -C   
  5. ipvsadm -A -t 192.168.0.14:80 -s rr   
  6. ipvsadm -a -t 192.168.0.14:80 -r 192.168.0.12:80 -g   
  7. ipvsadm -a -t 192.168.0.14:80 -r 192.168.0.13:80 -g   
  8. ipvsadm 

------DR模式各服務器配置------

  1. vi web.sh   
  2. ifconfig lo:0 192.168.0.14 broadcast 192.168.0.14 netmask 255.255.255.255 up   
  3. route add -host 192.168.0.14 dev lo:0   
  4. echo "1" >/proc/sys/net/ipv4/conf/lo/arp_ignore  
  5. echo "2" >/proc/sys/net/ipv4/conf/lo/arp_announce  
  6. echo "1" >/proc/sys/net/ipv4/conf/all/arp_ignore  
  7. echo "2" >/proc/sys/net/ipv4/conf/all/arp_announce  
  8. sysctl -p &>/dev/null 
  9. sh dr.sh start   
  10. sh web.sh start   
  11. sh web.sh start 

五、Shared Storage(共享存儲):

Shared Storage為所有Real Server提供共享存儲空間和一致的數(shù)據(jù)內(nèi)容

-------NFS服務器安裝-----

yum install nfs-utils

//nfs在裝的時候會有“rpcbind”這個依賴包的

service rpcbind start

//在啟動nfs服務之前先要啟動這個"rpcbind"服務

service nfs restart

//nfs是"111"的端口

---編輯配置文件----

vi /etc/exports

//NFS的配置文件為/etc/exports,文件內(nèi)容默認為空(無任何共享)。

/usr/share *(ro,sync)

/opt/test 192.168.80.22(rw,sync)

//將文件夾/opt/test共享給192.168.80.22網(wǎng)段使用,允許讀寫操作。“sync”表示同步寫入。

注:rw表示允許讀寫(ro表示為只讀),sync表示同步寫入,no_root_squash表示當客戶機以root身份訪問時賦予本地root權(quán)限(默認是root_squash,將作為nfsnobody用戶降權(quán)對待)

--發(fā)布共享---

exportfs -rv

---客戶端查看、掛載----

//掛載

NFS協(xié)議的目標是提供一種網(wǎng)絡文件系統(tǒng),因此對NFS共享的訪問也使用mount命令來進行掛載,對應的文件系統(tǒng)類型為nfs。

若要正常訪問NFS共享資源,客戶機中也需要安裝rpcbind軟件包,并啟動rpcbind系統(tǒng)服務;另外,為了使用showmount查詢工具,建議將nfs-utils軟件包也一并裝上。

六、驗證

1、負載均衡驗證

192.168.0.12、192.168.0.13  為web服務器

192.168.0.11 為負載均衡調(diào)度器

192.168.0.14 為VIP 是負載均衡調(diào)度器虛擬出來的ip地址

客戶端用戶即是通過訪問192.168.0.14VIP這個虛擬地址獲得整個由多個物理機服務器組成的服務器池提供的同一種web服務。

下面來模擬客戶端用戶訪問web服務

第一次登陸192.168.0.14

模擬客戶端訪問web服務

關(guān)掉頁面重新登陸192.168.0.14

由此發(fā)現(xiàn)lvs調(diào)度已經(jīng)開始工作,把客戶端的請求均勻的分發(fā)到各個服務器上。

2、共享存儲數(shù)據(jù)同步一致性驗證

各節(jié)點服務器掛載共享存儲的共享目錄,修改的內(nèi)容將在這個服務器集群中同步開。

上一篇:圖文教程:3分鐘搞定基于CentOS+Nginx+PHP-FPM+MySQL的服務器環(huán)境 下一篇:跨站腳本攻擊XSS

旗下網(wǎng)站:耐思智慧 - 淘域網(wǎng) - 我的400電話 - 中文域名:耐思尼克.cn 耐思尼克.top

耐思智慧 © 版權(quán)所有 Copyright © 2000-2024 IISP.COM,Inc. All rights reserved

備案號碼: 粵ICP備09063828號  公安備案號: 公安備案 粵公網(wǎng)安備 44049002000123號  域名注冊服務機構(gòu)許可:粵D3.1-20240003 CN域名代理自深圳萬維網(wǎng)

聲明:本網(wǎng)站中所使用到的其他各種版權(quán)內(nèi)容,包括但不限于文章、圖片、視頻、音頻、字體等內(nèi)容版權(quán)歸原作者所有,如權(quán)利所有人發(fā)現(xiàn),請及時告知,以便我們刪除版權(quán)內(nèi)容

本站程序界面、源代碼受相關(guān)法律保護, 未經(jīng)授權(quán), 嚴禁使用; 耐思智慧 © 為我公司注冊商標, 未經(jīng)授權(quán), 嚴禁使用

法律顧問:珠海知名律師 廣東篤行律師事務所 夏天風 律師