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
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...