LVS負載均衡群集的了解與基本配置(一)
今天要給大家介紹的是LVS群集,在企業中應用非常廣泛,是為了實現負載均衡,
提高服務器的工作效率,當其中有服務器發生故障的時候也不會影響客戶的訪問。
一、群集技術概述
1、群集的含義
來源於英文單詞‘Cluster’,集群、群集,表示一群、一串的意思,
用在服務器領域,由多臺主機構成,但對外只表現為一個整體。
2、負載均衡的分層結構
第一層: 負載調度器(Load Balancer或稱Director):是群集系統的唯一入口,
對外使用所有服務器共有的虛擬ip地址,通常會配置主從兩臺調度器實現熱備份,
確保高可用性。
第二層:服務器池(Server Pool):由大量真實服務器構成,
例如,web服務器,ftp服務器,數據庫服務器等,只處理調度器分發過來的客戶機請求。
第三層:共享存儲:為服務器中的所有節點體重穩定、一致的文件存取服務,確保整個集群的統一性。
主要存儲服務器池中應用程序的數據,一般會采用NAS或者SAN設備,
我們今天就使用NFS(Network File System,網絡文件系統)搭建一臺nas服務器,
工作中也可以購買硬件NAS和SAN。
3、負載均衡的工作模式
1)地址轉換(Network Address Translation):簡稱NAT模式,負載均衡調度器作為網關,
服務器和負載調度器在同一個私有網絡,安全性較好
2)Ip隧道(IP Tunnel):簡稱TUN模式,采用開放式的網絡結構,
負載調度器僅作為客戶機的訪問入口,各節點通過各自的internet連接直接回應客戶機,
不再經過負載調度器,服務器的節點分散在互聯網的不同位置,
具有獨立的共有ip地址,通過專用的ip隧道與負載調度器相互通信。
3)直接路由(Direct Routing):簡稱DR模式,采用半開放式的網絡結構,
與TUN模式類似,但各節點不是分散在各地,而是與調度器位於同一個物理網絡,
負載調度器與各節點服務器通過本地網絡連接,不需要建立專用的ip隧道,
相對其他兩種這種方式應用的較多。
以上三種模式中,
安全性也比較好,許多硬件負載均衡設備就是采用這種方式,性比較而言,
DR模式和TUN模式的負載能力更強大,使用範圍更廣,但節點的安全性要稍差一些。
二、LVS虛擬服務器
LVS(Linux VIrtualServer)是linux內核的一部分,由我國的章文嵩博士在1998年5月創建,
也是極少數由中國人開發的優秀軟件之一,基於IP地址虛擬化應用,
為基於IP地址和內容請求分發的負載均衡提出了一種高效的解決方法。
LVS默認編譯為ip_vs模塊,在centos系統中,我們可以直接手動加載ip_vs模塊,
並查看當前系統中ip_vs模塊的版本信息,命令如下:
[root@centos ~]# modprobe ip_vs //加載ip_vs模塊
[root@centos ~]# cat /proc/net/ip_vs //查看ip_vs版本信息
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemouteAddress:Port Forward Weight ActiveConn InActConn
1、LVS的負載調度算法
1)輪詢(Round Robin):將收到的訪問請求按順序輪流分配給群集中的各節點,
均等的對待每一臺服務器,不管服務器的連接數和系統負載。
2)加權輪詢(Weighted Round Robin):也是輪流分配,但是可以自動查詢各節點的負載情況,
並動態調整權重,讓處理性能強的服務器承擔更多的訪問流量。
3)最少連接(Least Connections):根據連接數分配,優先分配給連接數量最少的節點。
4)加權最少連接(Weighted Least Connections):權重高的節點將承擔更大比例的活動連接負載。
2、使用ipvsadm管理工具
ipvsadm是在負載調度器上使用的LVS群集管理工具,通過調用ip_vs模塊來添加、刪除服務器節點,
查看群集的運行狀態。在centos系統中,需要手動安裝。
[root@centos ~]# yum -y install ipvsadm //安裝ipvsadm軟件包
其它的命令接下來會用一個綜合實驗給大家說明,這樣思路比較清晰。
3、NFS共享存儲服務
1)NFS(Network File System)即網絡文件系統,基於TCP/IP網絡共享資源,
是FreeBSD支持的文件系統中的一種。在NFS的應用中,
本地NFS的客戶端應用可以透明地讀寫位於遠端NFS服務器上的文件,
就像訪問本地文件一樣。
2)NFS與openfiler、nas、san設備相似,都是屬於存儲設備。
其實NFS就是一種nas存儲,在exsi上也可以使用NFS作為存儲。
3)NFS服務的實現依賴於RPC(Remote Process Call)遠端過程調用機制,
以完成遠程到本地的映射過程。
4)在centos系統中,需要安裝 nfs-utils(用於NFS共享發布和訪問)、
rpcbind(用於RPC支持)軟件包來提供NFS共享服務。
LVS負載均衡群集的了解與基本配置(一)