Linux重要的服務講述(1)

来源:https://www.cnblogs.com/aiaitie/archive/2019/12/09/12010038.html
-Advertisement-
Play Games

NFS 概述 NFS(Network File System)即網路文件系統,它允許網路中的電腦之間通過TCP/IP網路共用資源。在NFS的應用中,本地NFS的客戶端應用可以透明地讀寫位於遠端NFS伺服器上的文件,就像訪問本地文件一樣。最早由sun公司開發,是類unix系統間實現磁碟共用的一種方法 ...


NFS

  • 概述
  • NFS(Network File System)即網路文件系統,它允許網路中的電腦之間通過TCP/IP網路共用資源。在NFS的應用中,本地NFS的客戶端應用可以透明地讀寫位於遠端NFS伺服器上的文件,就像訪問本地文件一樣。
    最早由sun公司開發,是類unix系統間實現磁碟共用的一種方法

  • 工作原理

Linux重要的服務講述(1)

如上圖,當我們在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地址的映射對應關係,形成一個分散式的資料庫系統,上級僅知道其直接下級,下級只知道根的位置。結構模型:

Linux重要的服務講述(1)

  • 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(網路文件系統)共用服務的專用伺服器。


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 關鍵詞:top、perf、sar、ksar、mpstat、uptime、vmstat、pidstat、time、cpustat、munin、htop、glances、atop、nmon、pcp-gui、collectl。 1. top top是最常用的查看系統資源使用情況的工具,包括CPU、記憶體等等 ...
  • * * * * * (下麵的字體對應) 分 時 日 月 周 星號(*):代表所有可能的值,例如month欄位如果是星號,則表示在滿足其它欄位的制約條件後每月都執行該命令操作。 逗號(,):可以用逗號隔開的值指定一個列表範圍,例如,“1,2,5,7,8,9” 中杠(-):可以用整數之間的中杠表示一個整 ...
  • 準備環境 軟體安裝 服務端基本配置文件 創建一個新的 PKI 和 CA 生成服務端證書 簽約服務端證書 創建 Diffie Hellman 客戶端基本配置 生成客戶端證書 最後簽約客戶端證書 證書整理 服務端 客戶端 server.conf 密碼驗證腳本 !/bin/sh PASSFILE="/et ...
  • 準備環境 環境測試 軟體安裝 xl2tpd.conf options.xl2tpd ipsec.conf l2tp ipsec.conf chap secrets 也就是我們一會在windows上登陸時用到的帳號和密碼 default secrets sysctl.conf 檢查配置 防火牆 開啟服 ...
  • 準備環境 軟體安裝 pptpd.conf options.pptpd chap secrets 也就是我們一會在windows上登陸時用到的帳號和密碼 sysctl.conf 啟動服務並查看埠 防火牆 主機連接 ...
  • 變數基礎知識 程式由指令加數據所組成,而變數可以理解為數據來源的一種。 變數名可以理解為指向了某個記憶體空間的地址,對於變數的賦值可理解為向記憶體空間寫入數據,對於變數的引用可理解為從記憶體空間讀取數據。 變數有類型的概念(例如字元串、數字等),不同的類型決定了數據的存儲格式、可表示的數據範圍以及可參與的 ...
  • bat代碼如下: 1 @echo off 2 @set /p fromFile=from: 3 @set /p toFile=to: 4 rem 找到所有文件 5 dir /b /s %fromFile%\ *.gz >tmp 6 rem 一個文件一個文件的處理 7 for /f "delims=" ...
  • 一、首先用vi命令打卡要編輯的文件: 註意:vi命令的使用如下:打開或新建文件,並將游標至於第一行首:[root@centos6 /]# vi /etc/my.cnf打開文件,並將游標移至最後一行行首:[root@centos6 /]# vi + /etc/my.cnf打開文件,並將游標置於第n行首 ...
一周排行
    -Advertisement-
    Play Games
  • Dapr Outbox 是1.12中的功能。 本文只介紹Dapr Outbox 執行流程,Dapr Outbox基本用法請閱讀官方文檔 。本文中appID=order-processor,topic=orders 本文前提知識:熟悉Dapr狀態管理、Dapr發佈訂閱和Outbox 模式。 Outbo ...
  • 引言 在前幾章我們深度講解了單元測試和集成測試的基礎知識,這一章我們來講解一下代碼覆蓋率,代碼覆蓋率是單元測試運行的度量值,覆蓋率通常以百分比表示,用於衡量代碼被測試覆蓋的程度,幫助開發人員評估測試用例的質量和代碼的健壯性。常見的覆蓋率包括語句覆蓋率(Line Coverage)、分支覆蓋率(Bra ...
  • 前言 本文介紹瞭如何使用S7.NET庫實現對西門子PLC DB塊數據的讀寫,記錄了使用電腦模擬,模擬PLC,自至完成測試的詳細流程,並重點介紹了在這個過程中的易錯點,供參考。 用到的軟體: 1.Windows環境下鏈路層網路訪問的行業標準工具(WinPcap_4_1_3.exe)下載鏈接:http ...
  • 從依賴倒置原則(Dependency Inversion Principle, DIP)到控制反轉(Inversion of Control, IoC)再到依賴註入(Dependency Injection, DI)的演進過程,我們可以理解為一種逐步抽象和解耦的設計思想。這種思想在C#等面向對象的編 ...
  • 關於Python中的私有屬性和私有方法 Python對於類的成員沒有嚴格的訪問控制限制,這與其他面相對對象語言有區別。關於私有屬性和私有方法,有如下要點: 1、通常我們約定,兩個下劃線開頭的屬性是私有的(private)。其他為公共的(public); 2、類內部可以訪問私有屬性(方法); 3、類外 ...
  • C++ 訪問說明符 訪問說明符是 C++ 中控制類成員(屬性和方法)可訪問性的關鍵字。它們用於封裝類數據並保護其免受意外修改或濫用。 三種訪問說明符: public:允許從類外部的任何地方訪問成員。 private:僅允許在類內部訪問成員。 protected:允許在類內部及其派生類中訪問成員。 示 ...
  • 寫這個隨筆說一下C++的static_cast和dynamic_cast用在子類與父類的指針轉換時的一些事宜。首先,【static_cast,dynamic_cast】【父類指針,子類指針】,兩兩一組,共有4種組合:用 static_cast 父類轉子類、用 static_cast 子類轉父類、使用 ...
  • /******************************************************************************************************** * * * 設計雙向鏈表的介面 * * * * Copyright (c) 2023-2 ...
  • 相信接觸過spring做開發的小伙伴們一定使用過@ComponentScan註解 @ComponentScan("com.wangm.lifecycle") public class AppConfig { } @ComponentScan指定basePackage,將包下的類按照一定規則註冊成Be ...
  • 操作系統 :CentOS 7.6_x64 opensips版本: 2.4.9 python版本:2.7.5 python作為腳本語言,使用起來很方便,查了下opensips的文檔,支持使用python腳本寫邏輯代碼。今天整理下CentOS7環境下opensips2.4.9的python模塊筆記及使用 ...