NFS
- 概述
-
NFS(Network File System)即網路檔案系統,它允許網路中的計算機之間通過TCP/IP網路共享資源,在NFS的應用中,本地NFS的客戶端應用可以透明地讀寫位于遠端NFS服務器上的檔案,就像訪問本地檔案一樣,
最早由sun公司開發,是類unix系統間實作磁盤共享的一種方法 - 作業原理

如上圖,當我們在NFS服務器設定好一個共享目錄/data/share后,其他的有權限訪問NFS服務器的NFS客戶端就可以講這個目錄掛載到自己的本地,并且能看到服務端/data/share下的所有資料,NFS是通過網路來進行Server端和Client端之間的資料傳輸,既然走網路,雙方肯定都要有埠,哪NFS Server怎么知道使用哪個埠來進行資料傳輸,NFS其實會隨機選擇埠來進行資料傳輸,NFS服務器是通過遠程程序呼叫RPC(Remote Procedure Call)協議來實作的,所以,RPC管理服務端的NFS埠分配,客戶端要傳資料,那么客戶端的RPC會先跟服務端的RPC去要服務器的埠,要到埠后,再建立連接,然后傳輸資料
-
RPC(Remote Procedure Call)——遠程程序呼叫,它是一種通過網路從遠程計算機程式上請求服務,而不需要了解底層網路技術的協議,RPC協議假定某些傳輸協議的存在,如TCP或UDP,為通信程式之間攜帶資訊資料,在OSI網路通信模型中,RPC跨越了傳輸層和應用層,RPC使得開發包括網路分布式多程式在內的應用程式更加容易,NFS 服務器在啟動的時候就得要向 RPC 注冊,所以 NFS 服務器也是一種 RPC server ,
- NFS服務所需用到的軟體
nfs-utils:NFS服務的全程式,包括rpc.nfsd、rpc.mountd這兩個daemons和相關檔案說明,以及執行命令檔案等,
rpcbind:Centos.x下面RPC的主程式,NFS可視為一個rpc程式,在互動任何一個RPC程式之前,需要做好埠和功能的對應映射作業,這個映射作業就是由RPCBIND服務來完成的,因此,在提供NFS服務之前必須先啟動RPCBIND服務,
named
- 概述
named服務,也就是dns,一般來講域名比IP地址更加的有含義、也更容易記住,所以通常用戶更習慣輸入域名來訪問網路中的資源,但是計算機主機在互聯網中只能通過IP識別對方主機,那么就需要DNS域名決議服務了,
通常 Internet 主機域名的一般結構為:主機名.三級域名.二級域名.頂級域名,
TLD(top level domain)
組織域:.com, .org, .net, .cc
國家域: .cn, .tw, .hk, .iq, .ir, .jp
反向域: IP-->FQDN 將IP地址轉換成主機名,早期只能正向決議,后來引入了一個機制,指標;但是從IP轉換成FQDN是另外一套資料庫,
DNS服務協議采用類似目錄樹的層次結構記錄域名與IP地址的映射對應關系,形成一個分布式的資料庫系統,上級僅知道其直接下級,下級只知道根的位置,結構模型:

-
DNS域名決議服務(Domain Name System)是用于決議域名與IP地址對應關系的服務,功能上可以實作正向決議與反向決議:
-
正向決議:根據主機名(域名)查找對應的IP地址,
-
反向決議:根據IP地址查找對應的主機名(域名),
-
DNS使用的埠號
UDP TCP:53 優先使用UDP這種查詢比較快的協議;當主從DNS同步資料時使用TCP這種可靠的傳輸協議 - 主組態檔
options { 全域配置
listen-on port 53 { any;}; 監聽埠
listen-on-v6 port 53 { ::1; };
directory "/var/named"; 指定區域檔案存盤目錄
dump-file "/var/named/data/cache_dump.db"; dump cache目錄
allow-query { any; }; 指定允許進行查詢的主機
recursion yes; 是否允許遞回查詢
pid-file "/var/run/named" 指定pid的位置
allow-transfer { none; };指定允許接受區域傳送請求的主機(定義為輔助DNS)
forwarders { 114.114.114.114; }; 設定轉發
forward only|first; 僅轉發|優先轉發
};
logging { 指定服務器日志記錄的內容和日志資訊來源
channel default_debug {
file "data/named.run";
severity dynamic;
};
};
zone "." IN {指定區域
type hint; 指定區域型別 hint根 master主服務 slave 從
file "named.ca"; zone檔案名
};
LVS負載均衡群集
- LVS(Liunx Virtual Server)
LVS作用就是實作負載均衡,而負載均衡簡單來所就是將用戶請求合理的分流到后端節點之上,以實作資源的高效利用,
LVS特點是可以跨平臺,也就是在windows、Linux系統之上都可以用,
LVS的核心組件:
ip_vs:linux的內核功能模塊,作業在內核,依賴該內核模塊實作負載均衡功能
ipvsadm:應用層程式,該程式可以和內核中的ip_vs模塊通信,實作對負載均衡的管理和控制
keepalived也可以對ip_vs進行管理
- LVS的作業模式:DR模式、NAT模式、TUN模式、,
地址轉換:簡稱NAT模式,類似于防火墻的私有網路結構,負載調度器作為所有服務器節點的網關,即作為客戶機的訪問入口,也是個節點回應客戶機的訪問出口,服務器節點使用私有IP地址,與負載均衡調度器位于同一個物理網路,安全性要優于其他兩種方式,
IP隧道:簡稱TUN模式,采用開放式的網路結構,負載調度器僅作為客戶機的入口,各節點通過各自的Internet連接直接回應客戶機,而不再經過負調度器,服務器節點分散在互聯網的不同位置,具有獨立的公網IP地址,通常專用IP隧道與負載調度器相互通信,
直接路由:簡稱DR模式,采用半開放式的網路結構,與TUN模式的結構類似,但個節點并不是分散在各地,而是與調度器位于同一個物理網路,負載調度器與個節點服務器通過本地網路連接,不需要建立專用的IP隧道,
LVS的調度演算法,所謂演算法簡單來說就是按照什么規則來送后端的多個RS中挑選一個給用戶提供服務,演算法有靜態演算法和動態演算法,
靜態演算法:無論后端的RS當前的服務器負載情況怎么樣,都安裝固定的方式來給RS分配用戶請求
rr:Round Bobin,輪詢,將客戶端的請求交替分配給RS
wrr:Weighted Round Bobin,加權輪詢,根據RS的性能不同,讓他們來承擔不同比例的用戶請求
dh:Destination Hashing,目標地址哈希調度,基于用戶所請求的地址做哈希表
作用:實作將對于相同的地址的請求調度到同一個RS之上
使用場景:適應于前端是一個DR,后端是多個cache的時候
sh:Source Hashing,源地址的哈希調度,基于用戶的ip地址做哈希表
作用:實作將同一個客戶端調度到相同的RS之上
- 群集的型別
負載均衡群集:以提高應用系統的回應能力,盡可能處理更多的訪問請求,減少延遲,獲得高并發,高負載的整天性能,例如:“DNS輪詢”,“應用層交換”,“反向代理”等都可以做負載均衡群集,
高可用群集:以提高應用系統的可靠性,盡可能地減少中斷時間,確保服務的連續性,達到高可用的容錯效果,例如:“故障切換”,“雙機熱備”,“多機熱備”等都屬于高可用群集,
高性能運算群集:以提高應用系統的CPU運算速度,擴展硬體資源和分析能力,獲得相當于大型,超級計算機的高性能運算能力,例如:“云計算”等就屬于高性能運算群集的一種,
- 載均衡的分層結構
在典型的負載均衡群集中,包括以下三個層次的組件,
第一層:負載調度器,這是訪問整個群集系統的唯一入口,多外使用所有服務器共有的VIP(虛擬IP)地址,也稱群集IP地址,通常會配置主,備兩臺調度器實作熱備,當主調度器失效以后平滑替換至備用調度器,確保高可用性,
第二層:服務器池:群集所提供的應用服務由服務器池承擔,其中的每個節點具有獨立的RIP(真實IP)地址,只處理調度器分發過來的客戶機請求,
第三層:共享存盤,為服務器池中的所有節點提供穩定,一致的檔案存取服務,確保整個群集的統一性,在Linux環境中,共享存盤可以使用NAS設備或者提供NFS(網路檔案系統)共享服務的專用服務器,
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/148729.html
標籤:Linux
上一篇:NFS共享存盤服務部署
下一篇:Linux 使用vi命令的教程
