DAOS系統架構-組件

在這里插入圖片描述

如上圖所示,一個完整的DAOS系統是由管理節點組件、客戶端節點組件、服務端節點組件以及網絡通信組件四個部分組成。管理節點組件通過管理網絡通道(藍色)對DAOS服務管理和監控。客戶端節點組件通過數據網絡通道(紅色)與服務端節點組件通信實現數據讀取和寫入。服務端節點組件是整個DAOS系統的核心組件,用于集群數據的管理。

1.1. 服務端節點組件

在服務端,每個節點是由daos_serverdaos_engine兩類組件構建,它們是運行在服務端節點上的守護進程。daos_server是DAOS控制平面的組件,負責解析配置文件,啟動和監控多個daos_engine組件。daos_engine是DAOS數據平面的組件,是一個多線程進程,是由daos_server啟動的。每個daos_server可以啟動一個或多個daos_engine(通過配置daos_server.yml實現)。daos_engine負責處理元數據和I/O請求(通過CART網絡通信中間件和調用PMDK和SPDK庫直接訪問本地NVMe設備)。PMDK用于直接訪問存儲級別的內存設備(SCM:storage-class memory)。SPDK用于直接訪問NVMe SSD。

● daos_server.service - DAOS ServerLoaded: loaded (/usr/lib/systemd/system/daos_server.service; disabled; vendor preset: disabled)Active: active (running) since Thu 2025-04-10 19:07:50 CST; 18h agoMain PID: 67250 (daos_server)Tasks: 52 (limit: 1644956)Memory: 100.2GCGroup: /system.slice/daos_server.service├─67250 /usr/bin/daos_server start└─74592 /usr/bin/daos_engine -t 12 -x 2 -g daosfs00 -d /var/lib/daos/daos_server -T 4 -n /var/lib/daos/daos_control/engine0/daos_nvme.conf -I 0 -r 13312 -H 2 -s /var/lib/daos/daos_scm/0

1.2. 客戶端節點組件

DAOS客戶端與服務端通信主要通過DAOS Library(libdaos)。libdaos是專門為用戶應用和IO中間件存儲數據到DAOS container中而設計的。libdaos允許應用通過該接口與daos_engine進行通信,用來管理container和以不同的方式訪問object。DAOS在libdaos之上又封裝了一個libdfs庫。libdfs庫模擬了POSIX語義來支持文件系統應用程序。

另外,在DAOS客戶端組件中,還提供了DAOS agent。它通過dRPC與libdaos通信來對應用程序進程身份驗證。DAOS agent可以支持不同的身份驗證框架,并使用Unix域套接字與客戶端庫進行通信。它還可以通過gRPC與每個DAOS server進行通信,以便向libdaos提供DAOS系統成員信息并支持pool list操作。

● daos_agent.service - DAOS AgentLoaded: loaded (/usr/lib/systemd/system/daos_agent.service; disabled; vendor preset: disabled)Active: active (running) since Tue 2025-04-08 13:17:29 CST; 3 days agoMain PID: 1467814 (daos_agent)Tasks: 27 (limit: 1644967)Memory: 26.2MCGroup: /system.slice/daos_agent.service└─1467814 /usr/bin/daos_agent

1.3. 管理節點組件

管理節點組件提供了系統管理工具(dmg)和管理API。dmg是在管理API之上設計的一個命令行工具,系統用管理員可以通過dmg命令管理和監控DAOS集群。管理API是專門為第三方存儲管理框架設計的,第三方管理框架可以通過調用該API來監控DAOS集群。無論是dmg還是API,最終都是通過gRPC與daos_server組件通信。

root@node2 ~]# dmg --help
Usage:dmg [OPTIONS] <command>dmg (DAOS Management) is a tool for connecting to DAOS servers
for the purpose of issuing administrative commands to the cluster. dmg is
provided as a means for allowing administrators to securely discover and
administer DAOS components such as storage allocations, network configuration,
and access control settings, along with system wide operations.Application Options:--allow-proxy   Allow proxy configuration via environment-i, --insecure      Have dmg attempt to connect without certificates-d, --debug         Enable debug output--log-file=     Log command output to the specified file-j, --json          Enable JSON output-J, --json-logging  Enable JSON-formatted log output-o, --config-path=  Client config file pathHelp Options:-h, --help          Show this help messageAvailable commands:check           Check system healthconfig          Perform tasks related to configuration of hardware on remote servers (aliases: cfg)container       Perform tasks related to DAOS containers (aliases: cont)network         Perform tasks related to network devices attached to remote servers (aliases: net)pool            Perform tasks related to DAOS poolsserver          Perform tasks related to remote servers (aliases: srv)server-version  Print server versionstorage         Perform tasks related to storage attached to remote servers (aliases: sto)support         Perform debug tasks to help support team (aliases: supp)system          Perform distributed tasks related to DAOS system (aliases: sys)telemetry       Perform telemetry operations (aliases: telem)version         Print dmg version

1.4. 網絡通信組件

在整個DAOS系統中,DAOS使用了3類通信渠道:gRPC、dRPC和CART。

gRPC為DAOS管理提供了一個雙向安全通道,通常使用out-of-band TCP/IP網絡,用于管理通信。它依賴TLS/SSL來對administrator和server進行身份驗證。

dRPC是一種基于Unix域套接字構建的通信通道,用于進程間通信。主要用應用于DAOS agent與DAOS libdaos應用進程的身份認證,DAOS server與DAOS engine之間的協議序列化。

CART是用戶空間的函數庫,主要用于客戶端與服務端的數據傳輸。通常采用低延時高帶寬的網絡,比如RDMA。CART是在Mercury和libfabric上構建的。CART庫用于libdaos和daos_engine實例之間的所有通信。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/77623.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/77623.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/77623.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

制作一款打飛機游戲教程2:背景滾動

滾動原型開發 接下來&#xff0c;我們開始聚焦滾動原型的開發。我們需要確定游戲關卡的長度以及背景滾動的速度。 地圖與精靈空間限制 在開發過程中&#xff0c;我們遇到了地圖與精靈空間限制的問題。PICO 8的地圖編輯器下半部分與精靈表共享空間&#xff0c;這意味著我們只…

計算機組成原理——CPU與存儲器連接例題

計算機組成原理——CPU與存儲器連接例題 設CPU共有16根地址線和8根數據線&#xff0c;并用(MREQ) ?作為訪存控制信號&#xff08;低電平有效&#xff09;&#xff0c;(WR) ?作為讀/寫命令信號&#xff08;高電平讀&#xff0c;低電平寫&#xff09;。現有下列存儲芯片&#…

GNSS靜態數據處理

1 安裝數據處理軟件&#xff1a;儀器之星&#xff08;InStar &#xff09;和 Trimble Business Center 做完控制點靜態后&#xff0c;我們需要下載GNSS數據&#xff0c;對靜態數據進行處理。在處理之前需要將相關軟件在自己電腦上安裝好&#xff1a; 儀器之星&#xff08;InS…

Process Explorer 性能調優實戰:精準定位資源泄漏與高負載進程

一、下載與安裝 ?下載地址? Process Explorer安裝包下載&#xff1a;https://pan.quark.cn/s/950c36ba5364下載后解壓壓縮包&#xff0c;運行 procexp.exe&#xff08;32 位系統&#xff09;或 procexp64.exe&#xff08;64 位系統&#xff09;?。 ?界面概覽? 主界面以樹…

SVMSPro分布式綜合安防管理平臺-->以S3存儲革新,開啟智能安防新紀元

SVMSPro分布式綜合安防管理平臺–>以S3存儲革新&#xff0c;開啟智能安防新紀元 在數字化轉型浪潮下&#xff0c;企業安防管理正面臨海量數據存儲、跨區域協同以及數據安全的嚴峻挑戰。如何實現高效、彈性、低成本的存儲擴容&#xff1f;如何確保關鍵錄像數據萬無一失&…

Python 裝飾器(Decorator)

文章目錄 代碼解析1. 裝飾器定義 timer(func)2. 應用裝飾器 timer **執行流程****關鍵點****實際應用場景****改進版本&#xff08;帶 functools.wraps&#xff09;** 這是一個 Python 裝飾器&#xff08;Decorator&#xff09; 的示例&#xff0c;用于測量函數的執行時間。下…

git commit時自動生成Change-ID

創建全局鉤子目錄&#xff1a; 創建一個全局的Git hooks目錄&#xff1a; mkdir -p ~/.githooks 下載并設置commit-msg鉤子腳本&#xff1a; 下載Gerrit的commit-msg鉤子腳本&#xff0c;并放置在全局鉤子目錄中(如下載不了&#xff0c;可從本頁面附件中下載&#xff0c;“…

最新Ktransformers v0.24(Docker)并發部署DeepSeek-V3-0324模型

一、介紹 KTransformers v0.2.4 發布說明 我們非常高興地宣布&#xff0c;期待已久的 KTransformers v0.2.4 現已正式發布&#xff01;在這個版本中&#xff0c;我們對整 體架構進行了重大重構&#xff0c;更新了超過 1 萬行代碼&#xff0c;為社區帶來了備受期待的多并發支…

飛牛私有云5大硬核功能實測!

&#x1f4f8; 1. 智能相冊&#xff1a;AI搜圖原圖自由 - 自動備份&#xff1a;手機照片/視頻實時同步&#xff0c;支持RAW格式、實況照片無損備份&#xff0c;釋放128G手機秒變256G。 - AI黑科技&#xff1a; - 人臉識別&#xff1a;自動歸類人物相冊&#xff0c;輸入「媽媽…

webrtc pacer模塊(一) 平滑處理的實現

Pacer起到平滑碼率的作用&#xff0c;使發送到網絡上的碼率穩定。如下的這張創建Pacer的流程圖&#xff0c;其中PacerSender就是Pacer&#xff0c;其中PacerSender就是Pacer。這篇文章介紹它的核心子類PacingController及Periodic模式下平滑處理的基本流程。平滑處理流程中還有…

【android bluetooth 協議分析 01】【HCI 層介紹 1】【hci_packets.pdl 介紹】

在 AOSP 的藍牙協議棧 (Gabeldorsche) 中&#xff0c;hci_packets.pdl 是一個 協議描述語言文件&#xff0c;用于定義 HCI (Host Controller Interface) 層的數據包結構和通信協議。以下是詳細解析&#xff1a; 1. 文件作用 system/gd/hci/hci_packets.pdl 協議自動化生成&…

操作系統 4.2-鍵盤

鍵盤中斷初始化和處理 提取的代碼如下&#xff1a; // con_init 函數&#xff0c;初始化控制臺&#xff08;包括鍵盤&#xff09;的中斷 void con_init(void) {set_trap_gate(0x21, &keyboard_interrupt); } ? // 鍵盤中斷處理函數 .globl _keyboard_interrupt _keyboard…

深入理解Softmax函數及其在PyTorch中的實現

Softmax函數簡介 Softmax函數在機器學習和深度學習中&#xff0c;被廣泛用于多分類問題的輸出層。它將一個實數向量轉換為概率分布&#xff0c;使得每個元素介于0和1之間&#xff0c;且所有元素之和為1。 Softmax函數的定義 給定一個長度為 K K K的輸入向量 z [ z 1 , z 2 …

Vue 3 響應式更新問題解析

在 Vue 3 中&#xff0c;即使使用 reactive 或 ref 創建的響應式數據&#xff0c;當數據量很大時也可能出現更新不及時的情況。以下是原因和解決方案&#xff1a; 核心原因 ??響應式系統優化機制??&#xff1a; Vue 3 使用 Proxy 實現響應式&#xff0c;比 Vue 2 更高效但為…

異形遮罩之QML中的 `OpacityMask` 實戰

文章目錄 &#x1f327;? 傳統實現的問題&#x1f449; 效果圖 &#x1f308; 使用 OpacityMask 的理想方案&#x1f449;代碼如下&#x1f3af; 最終效果&#xff1a; ? 延伸應用&#x1f9e0; 總結 在 UI 設計中&#xff0c;經常希望實現一些“異形區域”擁有統一透明度或顏…

數據可視化 —— 堆形圖應用(大全)

一、案例一&#xff1a;溫度堆積圖 # 導入 matplotlib 庫中的 pyplot 模塊&#xff0c;這個模塊提供了類似于 MATLAB 的繪圖接口&#xff0c; # 方便我們創建各種類型的可視化圖表&#xff0c;比如折線圖、柱狀圖、散點圖等 import matplotlib.pyplot as plt # 導入 numpy 庫&…

python工程中的包管理(requirements.txt)

pip install -r requirements.txtpython工程通過requirements.txt來管理依賴庫版本&#xff0c;上述命令&#xff0c;可以一把安裝依賴庫&#xff0c;類似java中maven的pom.xml文件。 參考 [](

操作系統 3.4-段頁結合的實際內存管理

段與頁結合的初步思路 虛擬內存的引入&#xff1a; 為了結合段和頁的優勢&#xff0c;操作系統引入了虛擬內存的概念。虛擬內存是一段地址空間&#xff0c;它映射到物理內存上&#xff0c;但對用戶程序是透明的。 段到虛擬內存的映射&#xff1a; 用戶程序中的段首先映射到虛…

【Amazon EC2】為何基于瀏覽器的EC2 Instance Connect 客戶端連接不上EC2實例

文章目錄 前言&#x1f4d6;一、報錯先知?二、問題復現&#x1f62f;三、解決辦法&#x1f3b2;四、驗證結果&#x1f44d;五、參考鏈接&#x1f517; 前言&#x1f4d6; 這篇文章將講述我在 Amazon EC2 上使用 RHEL9 AMI 時無法連接到 EC2 實例時所遇到的麻煩&#x1f616; …

Python學習筆記(二)(字符串)

文章目錄 編寫簡單的程序一、標識符 (Identifiers)及關鍵字命名規則&#xff1a;命名慣例&#xff1a;關鍵字 二、變量與賦值 (Variables & Assignment)變量定義&#xff1a;多重賦值&#xff1a;變量交換&#xff1a;&#xff08;很方便喲&#xff09; 三、輸入與輸出 (In…