羣集的含義:html
cluster,羣集,集羣linux
由多臺主機構成,但對外只表現爲一個總體web
羣集的類型算法
負載均衡羣集(Load Balance Cluster):以提升應用系統的響應能力,儘量處理更多的訪問請求,減小延遲爲目標,得到高併發、高負載(LB)的總體性能。
vim
高可用羣集(High Availability Cluster):以提升應用系統的可靠性、儘量地減小中斷時間爲目標,確保服務的連續性、達到高可用(HA)的容錯效果。安全
高性能運算羣集(High Performance Computer Cluster):以提升應用系統的CPU運算速度、擴展硬件資源和分析能力爲目標,得到至關於大型、超級計算機的高性能運算(HPC)能力。服務器
負載均衡的分層結構網絡
負載均衡的工做模式併發
1)地址轉換,簡稱nat模式,負載均衡調度器做爲網關,服務器和負載調度器在同一個私有網絡,安全性較好。負載均衡
2)Ip隧道,簡稱tun模式,負載調度器僅做爲客戶機的訪問入口,各節點經過各自的internet鏈接直接回應客戶機,不在通過負載調度器,服務器的節點分散在互聯網的不一樣位置,具備獨立的共有ip地址,經過專用的ip隧道與負載調度器相互通訊。
3)直接路由,簡稱DR模式,與TUN模式相似,但各節點不是分散在各地,而是與調度器位於同一個物理網絡,負載調度器與各節點服務器經過本地網絡鏈接,不須要創建專用的ip隧道。
以上三種工做模式中,NAT方式只須要一個公網IP地址,從而成爲最易用的一種負載均衡模式,安全性也比較好,許多硬件負載均衡設備就是採用這種方式;相比較而言,DR模式和TUN模式的負載能力強大,適用範圍更廣,但節點的安全性要稍差一些。
LVS虛擬服務器(Linux Virtual Server)
針對Linux內核開發的一個負載均衡項目,由我國的章文嵩博士在1988年5月建立,官方站點位於htttp://www.linuxvirtualserver.org/。
LVS如今已成爲Linux內核的一部分,默認編譯爲ip_vs模塊,必要時可以自動調用。
LVS的負載調度算法
1)輪詢:將受到的訪問請求按順序輪流分配給羣集中的各節點,無論服務器的鏈接數和系統負載。
2)加權輪詢:也是輪流分配,可是能夠調整權重,讓處理性能強的服務器承擔更多的訪問流量。
3)最少鏈接:根據鏈接數分配,分配給鏈接數少的節點。
4)加權最少鏈接:權重高的節點將承擔更大比例的負載。
使用ipvsadm管理工具
ipvsadm是在負載調度器上使用的LVS羣集管理工具,經過調用ip_vs模塊來添加、刪除服務器節點,以及查看羣集的運行狀態。須要手動安裝
ipvsadm命令選項參數
選項 |
含義 |
舉例 |
-A |
添加虛擬服務器 |
ipvsadm -A -t 172.16.16.172:80 -s rr |
-t |
指定VIP(虛擬IP)地址及TCP端口 |
|
-s |
指定負載調度算法,輪詢(rr)、加權輪詢(wrr)、最少鏈接(lc)、加權最少鏈接(wlc) |
|
-p |
保持鏈接時間(秒) |
|
-a |
添加真實服務器 |
ipvsadm -a -t 172.16.16.172:80 -r 192.168.1.10:80 -m -w 1 |
-r |
指定RIP(真實IP)地址及TCP端口 |
|
-m |
使用NAT羣集模式 |
|
-g |
使用DR模式 |
|
-i |
使用TUN模式 |
|
-w |
設置權重(權重爲0時表示暫停節點) |
|
-l |
能夠列表查看LVS虛擬服務器 |
ipvsadm -ln |
-n |
以數字形式顯示地址、端口等信息, |
|
-d |
刪除服務器池中某一個節點,執行刪除操做必須指定目標對象,包括節點地址、虛擬IP地址。 |
ipvsadm -d -r 192.168.1.10:80 -t 172.16.16.172:80 |
-D |
刪除整個虛擬機服務器,只需指定虛擬IP地址便可 |
ipvsadm -D -t 172.16.16.172:80 |
ipvsadm-save |
保存LVS策略 |
ipvsadm-save > /etc/sysconfig/ipvsadm |
ipvsadm-restore |
恢復LVS策略 |
ipvsadm-save < /etc/sysconfig/ipvsadm |
NFS共享存儲服務
NFS是一種基於TCP/IP傳輸的網絡文件系統協議,最初有SUN公司開發。
使用NFS發佈共享資源
NFS服務的實現依賴於RPC(Remote Process Call,遠程過程調用)機制,以完成遠程到本地的映射過程。
(1)安裝支持軟件
(2)設置共享目錄
NFS的配置文件爲/etc/exports,文件內容默認爲空。
當須要將同一個目錄共享給不一樣的客戶機,且分配不一樣的權限是,只需以空格分隔便可。
(3)啓動NFS服務程序
(4)查看NFS服務程序
(5)設置iptables,容許客戶機訪問
2.在客戶機中訪問NFS共享資源
訪問時使用mount命令來進行掛載,對應的文件系統類型爲nfs。既能夠手動掛載,也能夠加入fstab配置文件來實現開機自動掛載。
(1)安裝rpcbind、nfs-utils軟件包
(2)查看共享目錄
(3)手動掛載NFS共享目錄
完成掛載之後,訪問客戶機的/var/www/html文件夾,實際上就至關於訪問NFS服務器中的/opt/wwwroot文件夾,其中的網絡映射過程對於用戶程序來講是透明的。
(4)fstab自動掛載設置
構建LVS負載均衡羣集
1、構建地址轉換模式(LVS-NAT)
實驗環境
配置負載調度器
(1)安裝ipvsdm工具
(2)配置SNAT轉發規則
(3)配置負載轉發策略
2.搭建NFS服務器(方法同上)
3.配置節點服務器
全部的節點服務器均使用相同的配置,包括httpd服務端口、網站文檔內容。實際上各節點的網站文檔可存放在共享存儲設備中,從而免去同步的過程。但在案例調試階段能夠爲各節點採用不一樣的網頁,以便測試負載均衡效果。
設置iptables規則
4.測試LVS羣集
安排多臺測試,從Internet中直接訪問 http://172.16.16.172/ ,將可以看到由真實服務器提供的網頁內容,若是各節點網頁不一樣,則不一樣客戶機看到的網頁可能也不同(能夠多刷新幾回)
在LVS負載均衡調度器中,經過查看節點狀態能夠觀察當前的負載分配狀況,對於輪詢算法來講,每一個節點所得到的鏈接負載應大體至關。
2、構建直接路由模式(LVS-DR)
實驗環境
配置負載調度器
(1)配置虛擬IP地址(VIP)
採用虛接口的方式(eth0:0),爲網卡eth0綁定VIP地址,以便響應羣集訪問。
(2)調整/proc響應參數
對於DR羣集模式來講,因爲LVS負載調度器和各節點須要共用VIP地址,應該關閉Linux內核的重定向參數響應
vim /etc/sysctl.conf
執行 sysctl -p ,當即生效
(3)配置負載分配策略
2.配置NFS服務器(方法同上)
3.配置節點服務器
(1)配置虛擬IP地址(VIP)
添加VIP本地訪問路由
永久
臨時
(2)調整/proc響應參數
vim /etc/sysctl.conf
執行 sysctl -p ,當即生效
(3)搭建測試網站(方法同上),並啓用httpd服務程序
4.測試LVS羣集