首發 | FOSS分布式全閃對象存儲系統白皮書

一、 產品概述

1. 當前存儲的挑戰??

隨著云計算、物聯網、5G、大數據、人工智能等新技術的飛速發展,數據呈現爆發式增長,預計到2025年中國數據量將增長到48.6ZB,超過80%為非結構化數據。

同時,數字經濟正在成為我國經濟發展的新引擎,數據已經成為企業的核心生產要素,數據即價值。新技術新應用不斷產生急劇增長的海量數據,數據的價值越來越高,對存儲系統的可靠性、安全性、可用性、性能、成本、運維的要求也越來越高,給存儲系統提出了巨大的挑戰:

圖片

以上挑戰和剛需說明,新一代存儲系統不光要面向傳統的數據可靠性、服務可用性、性能等維度,超大存儲量、長期存儲經濟性、系統水平線性擴展性、可交付的運維等維度成為新的重點。

這驅使新一代存儲系統必然走向規模化、集成化、存算分離的分布式scale-out云存儲架構,提供可交付的簡潔易用的運維平臺,讓客戶自己負責運維,安心使用。

2. FOSS的特點??

大道云行對象存儲FOSS,是采用先進的分布式全閃架構的信創云存儲系統,設計為超大規模數據長期、可靠、綠色節能、高性能存取。

FOSS適用于包括廣電媒資、備份歸檔、遠程容災、視頻監控、人工智能、大數據分析、數據湖等大規模非結構化數據存取應用場景,特別是數據量大、吞吐高,成本敏感的需求。

FOSS特點詳解

Share?Everything架構?

存儲后端網絡share everything架構,支持NVMe-oF,支持分布式無狀態微服務安全訪問存儲。

信創存儲?

全自主知識產權國產分布式全閃存儲軟件和國產閃存的結合。

全閃架構,超高性能,數據量,性能的水平線性擴展?

亞毫秒級延遲,單zone-百PB級空間,百GB級吞吐,百萬級IOPS。

綠色節能?

節能調度算法使得多數SSD的大部分時間處于低功耗狀態(單片SSD<0.5w)。

全閃優化設計使得SSD使用時間長,成本低?

數據按時間聚合,采用全域GC和磨損平衡等設計,極大降低SSD寫放大,提高SSD使用壽命。實現大尺度QLC SSD的高密度使用,降低單位成本。

長期可靠

數據靜默錯誤保護;智能化的介質和數據的巡檢、健康掃描、Rebuild恢復。

對數據和介質長期可靠做了慎密的數據保護、監測、掃描、恢復、遷移等運維規劃。

3. FOSS的核心能力??

在線數據的性能和延遲,離線數據的規模和成本。

使用FOSS,意味著客戶可以將大部分數據以離線數據的成本保存到在線系統,數據長久在線。

二、 產品架構

1. 網絡架構??

圖片

系統采用扁平的二層網絡,易于部署和管理,支持對存儲集群節點進行分組,支持跨組數據互訪。

  • 業務網

業務網可以是IP/IB/RoCE;

每組業務網的計算節點都互通。

  • 存儲后端網

存儲后端網可以是IP/IB/RoCE;

存儲后端網支持按分組進行擴展,不同分組之間存儲網不通,可以通過業務網進行轉發;

分組設計有利于存儲網絡簡單的水平擴展,而不增加組網的復雜度。

一個zone規模的上限,取決于業務網的規模,即計算節點總數;存儲網可任意水平擴展,但總規模會受限于連接存儲網的計算節點總數。

一般的,一個zone支持100GB的業務網,200個計算節點,20個存儲網分組(每分組10P存儲空間);則整個zone支持100GB帶寬,200PB存儲空間。

2. 軟件架構??

圖片

協議層

對外提供s3服務和nas服務。

緩存層?

數據分片通過讀緩存層降低延遲,滿足低讀延遲的場景需求。

開放介質存儲層?

-- volume

開放介質存儲(OpenMediaStorage - OMS)層將塊設備(disk)的trunk封裝為跨節點的、冗余算法(糾刪/副本)保護的volume,提供volume的裝配、分配和讀寫接口。

OMS層開放式的直接存取disk,支持:主機Local_disk、SAS/NVMe-oF enclosure disk、塊存儲系統的LUN(FC/iSCSI/NVMe-oF)。

-- volume_group

volume按分組進行管理、調度和使用。分組用于支持多租戶。

volume_group由調度器和node集群組成。

-- node

node代表了掛載的disk的集合,對應實體存儲節點主機disk組,或NVMe-oF 盤柜disk組,或塊存儲劃分的Lun組。

node作為disk的IO控制器,提供發現、掛載、訪問disk的接口。

-- 調度器負責volume裝配和分配

裝配:

- 按node類型樹進行類型分組

- 按空間平衡+擦寫次數平衡選擇node

分配:

- 按類型聚合

- 數據分片MVCC+基于租約的volume_range保護機制

元數據?

mds集群提供分布式元數據服務,支持最終一致性事務,在線線性擴展。

任務層?

包含GC、Disk_Rebuild、數據遷移、數據均衡、數據/介質健康掃描、生命周期、配額、計量歸并等任務。

任務通過管理器Task_mgr,分發到Task_agent分布式并行執行。

task_mgr進行任務策略配置、調度、資源使用控制。

Service_mgr?

服務部署、升級、配置,單例服務故障轉移,集群服務擴展等。

三、產品特性

1. 分布式元數據??

很多存儲系統采用無元數據服務架構,比如一致性Hash。無元數據服務架構在超大規模分布式系統中存在許多缺點:

  • 無法在統一的邏輯上管理元數據,不支持事務,會導致很多一致性問題。

  • 沒有元數據的范圍查詢能力,查詢范圍會放大到整個集群,導致海量對象場景下元數據列舉開銷大性能差。

  • rebalance過程復雜,要掃描所有需rebalance的數據進行處理并完成狀態轉換,且網絡故障、節點臨時離線和永久離線等會進一步增加rebalance復雜度。

FOSS采用分布式元數據服務架構:

  • 元數據服務線性平滑,網絡故障和節點故障不影響服務的可用性

  • 元數據三副本冗余

  • 支持熱點消除(主鍵單調遞增的元數據,采用shard_bit打散)

  • 支持高性能的事務聚合批處理(batch和scan)

  • 低延遲(亞毫秒級)

依靠分布式元數據服務,FOSS簡潔高效的實現了單桶無限數量對象、快速對象列舉、volume調度、全域GC和磨損平衡等高級功能。

2. 存儲冷熱分層??

FOSS存儲分層設計的主旨,是為了同時滿足超高性能和超大容量需求。FOSS的數據存儲包括2層:

(熱)高性能層?

- 熱volume_group

- 讀緩存集群

高性能層滿足要求極低延遲的高性能場景。高并發寫入通過寫請求聚合提高IOPS;小文件的低延遲讀取,通過熱數據讀緩存優化。

通常,變冷的數據會遷移到大容量層。只需要高性能層的特例客戶,也可以獨立使用高性能層,不部署大容量層。

(冷)大容量層

- 冷volume_group

大容量層必須依賴高性能層存在。tier_migrate任務將高性能層的數據批量遷移到冷volume 。

批量遷移采用順序大IO寫入,使大尺度SSD可以得到優化使用。

3. 資源多租戶??

S3服務資源多租戶?

通過service_mgr配置租戶獨占的S3服務資源,為特定租戶建立專屬的s3_serv_group 。

通過service_mgr配置s3_serv_group和volume_group的映射關系。

存儲資源多租戶

bucket可以代表租戶的分類存儲空間,多租戶的空間管理通過bucket的存儲策略進行。

支持設置bucket的數據放置策略(對應的volume_group),比如可指定bucket放置到特定性能分類(SSD|HDD)的volume 。

4. 優秀的擴展性??

FOSS支持容量和性能的橫向線性擴展,元數據的橫向線性擴展,通過分布式元數據服務mds實現:

  • mds_kv集群的擴展

    mds_kv采用全局字典序range方式進行key的sharding;支持在線增加kv節點,IOPS隨kv節點個數線性增長。

  • mds事務服務集群的擴展

    mds事務服務集群,采用配置訂閱方式擴展;支持在線增加事務服務,IOPS隨事務服務個數線性增長。

數據存儲的橫向線性擴展,通過開放介質存儲(OpenMediaStorage-OMS)層實現:

  • 存算分離的架構下,數據存儲的橫向擴展簡化為存儲后端網的橫向擴展。

  • 存儲后端網按分組進行水平擴展,每個分組后端網獨立組網,擴展簡單。

    增加volume_group中node,即增加了分組的存儲量和IOPS;當volume_group內的擴展到達上限后,可以通過新建volume_group進行擴展。

5. 綠色節能??

FOSS通過數據寫入volume分配算法和分類聚合算法,實現(冷)數據層的disk節能。

?volume分配算法

數據寫入分配volume時,在滿足性能吞吐需求的條件下,一段時間內分配的volume使用盡量少的同一批disk。(其他disk這段時間處于節能狀態,存儲規模越大,節能比例越高)

?分類聚合算法

應用按時間批量讀取數據的時候,因為應用寫入數據按時間聚合,讀關聯的disk和寫入時是相同的,同樣只是少數的一批disk。

四、產品愿景

以全閃綠色節能信創存儲的創新技術:

為客戶提供自運維的私有云存儲,應存盡存;

在企業存儲領域促進國產SSD對進口HDD的替代;

作為智能云平臺的存儲底座,助力數據處理的智能化,發掘數據的真正價值。

《FOSS全閃對象存儲技術白皮書》詳見官網大道云行 TaoCloud - 新一代全閃軟件定義存儲領導者 (taocloudx.com)

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

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

相關文章

RabbitMQ安裝配置,筆記整理 RabbitMQ3.12.2版本安裝配置

官網下載 RabbitMQ 官方地址&#xff1a;RabbitMQ: easy to use, flexible messaging and streaming — RabbitMQ 下載時需注意Erlang Versions的版本 這里下載的是3.12.2 2.安裝依賴環境 在線安裝依賴環境&#xff1a; yum install build-essential openssl openssl-dev…

銳捷無線產品運維(Web登錄、 命令行登錄)

目錄 登錄AP產品 Console登錄&#xff08;只可以現場登錄&#xff09; Web/Telnet/SSH登錄&#xff08;可以現場、遠程登錄&#xff09; 配置AP的管理地址 通過Web界面遠程登錄 通過Telnet、SSH等命令行的方式登錄 登錄AC產品 Console登錄&#xff08;只可以現場登錄&a…

[bug] 記錄version `GLIBCXX_3.4.29‘ not found 解決方法

在使用mediapipe 這個庫的時候&#xff0c;首次使用出現 GLIBCXX_3.4.29’ not found 錯誤&#xff0c; 看起來是安裝mediapipe 的時候自動升級了 matplotlib 這個庫&#xff0c;導致依賴的 libstd.so 版本不滿足了&#xff0c;GLIBCXX_3.4.29 is an object from libstdc.so.…

【c語言】字符函數與字符串函數(上)

大家好呀&#xff0c;今天給大家分享一下字符函數和字符串函數&#xff0c;說起字符函數和字符串函數大家會想到哪些呢&#xff1f;&#xff1f;我想到的只有求字符串長度的strlen,拷貝字符串的strcpy,字符串比較相同的strcmp,今天&#xff0c;我要分享給大家的是我們一些其他的…

Photoshop制作漂亮光澤感3D按鈕

原文鏈接(https://img-blog.csdnimg.cn/45472c07f29944458570b59fe1f9a0e0.png)

CentOS gcc介紹及快速升級

1.gcc介紹 GCC&#xff08;GNU Compiler Collection&#xff09;是一個開源的編譯器套件&#xff0c;由 GNU(GNUs Not Unix!的遞歸縮寫) 項目開發和維護。它是一個功能強大且廣泛使用的編譯器&#xff0c;支持多種編程語言&#xff0c;包括 C、C、Objective-C、Fortran、Ada 和…

性能測試技術之基礎篇(精華)

目錄 一、什么是性能&#xff1f; 二、什么是性能測試&#xff1f; 三、性能測試結果需要記錄哪些參數&#xff1f; 四、如何做性能測試&#xff08;性能測試流程&#xff09;&#xff1f; 1、指標建模 2、診斷調優 五、常見性能測試工具 一、什么是性能&#xff1f; …

【C語言】字符函數和字符串函數

目錄 1.求字符串長度strlen 2.長度不受限制的字符串函數 字符串拷貝strcpy 字符串追加strcat 字符串比較strcmp 3.長度受限制的字符串函數介紹strncpy strncat ?編輯strncmp 4.字符串查找strstr 5.字符串分割strtok 6.錯誤信息報告 strerror perror 7.字符分類函…

【算法挨揍日記】day03——雙指針算法_有效三角形的個數、和為s的兩個數字

611. 有效三角形的個數 611. 有效三角形的個數https://leetcode.cn/problems/valid-triangle-number/ 題目描述&#xff1a; 給定一個包含非負整數的數組 nums &#xff0c;返回其中可以組成三角形三條邊的三元組個數。 解題思路&#xff1a; 本題是一個關于三角形是否能成立…

淺談Fetch API

什么是Fetch API Fetch API 是一種現代的 JavaScript API&#xff0c;用于進行網絡請求和處理響應數據。它提供了一種更簡單和更靈活的方式來執行網絡請求&#xff0c;取代了傳統的 XMLHttpRequest&#xff08;XHR&#xff09;。 Fetch API 具有以下特點&#xff1a; Promise…

概述、搭建Redis服務器、部署LNP+Redis、創建Redis集群、連接集群、集群工作原理

Top NSD DBA DAY09 案例1&#xff1a;搭建redis服務器案例2&#xff1a;常用命令限案例3&#xff1a;部署LNPRedis案例4&#xff1a;創建redis集群 1 案例1&#xff1a;搭建redis服務器 1.1 具體要求如下 在主機redis64運行redis服務修改服務運行參數 ip 地址192.168.88.6…

【問題整理】Ubuntu 執行 apt-get install xxx 報錯

Ubuntu 執行 apt-get install xxx 報錯 一、問題描述: 執行apt-get install fcitx時&#xff0c;報如下錯誤 grub-pc E: Sub-process /usr/bin/dpkg returned an error code (1)二、解決方法: 嘗試修復依賴問題&#xff1a; sudo apt-get -f install這個命令會嘗試修復系統…

Elasticsearch:如何在 Ubuntu 上安裝多個節點的 Elasticsearch 集群 - 8.x

Elasticsearch 是一個強大且可擴展的搜索和分析引擎&#xff0c;可用于索引和搜索大量數據。 Elasticsearch 通常用于集群環境中&#xff0c;以提高性能、提供高可用性并實現數據冗余。 在本文中&#xff0c;我們將討論如何在 Ubuntu 20.04 上安裝和配置具有多節點集群的 Elast…

關于Linux Docker springboot jar 日志時間不正確 問題解決

使用Springboot項目的jar&#xff0c;制作了一個Docker鏡像&#xff0c;啟動該鏡像后發現容器和容器中的Springboot 項目的日志時間不正確。 解決 查看容器時間命令為&#xff1a; docker exec 容器id date 1. 容器與宿主機同步時間 在啟動鏡像時候把操作系統的時間通過&q…

SpringBoot創建和使用

spring core的方式來寫代碼還是比較繁瑣的&#xff0c;而spring boot就是幫助程序員使用spring開發的一個腳手架&#xff08;boot&#xff09;&#xff0c;它是一個用于構建Java應用程序的開源框架&#xff0c;旨在簡化開發流程并提高生產效率。它的主要優點有&#xff1a; 快速…

CSS簡介

目錄 CSS CSS概念 核心概念 為什么需要CSS 語法 CSS的引入方式 內聯樣式&#xff08;行內樣式&#xff09; 內部樣式 外部樣式&#xff08;推薦&#xff09; CSS CSS概念 CSS&#xff08;Cascading Style Sheets&#xff09;層疊樣式表&#xff0c;又叫級聯樣式表&am…

【Vue-Router】導航守衛

前置守衛 main.ts import { createApp } from vue import App from ./App.vue import {router} from ./router // import 引入 import ElementPlus from element-plus import element-plus/dist/index.css const app createApp(App) app.use(router) // use 注入 ElementPlu…

ShowMeBug CEO李亞飛受邀參加深圳青年創新創業系列沙龍電子信息專場

7月13日下午&#xff0c;由深圳市科技交流服務中心&#xff08;深圳市科技專家委員會辦公室&#xff09;主辦&#xff0c;深圳新一代產業園承辦的“2023深圳青年創新創業系列沙龍——電子信息專場”活動舉行。ShowMeBug CEO李亞飛受邀參加此次活動。 深圳市科學技術協會黨組成員…

微信小程序真機調試異常cmdId 1006, errCode-50011-已解決

cmdId 1006, errCode-50011 起因 小程序在模擬器上預覽沒問題,真機調試和體驗版首頁打不開,點展開顯示cmdId 1006, errCode-50011 解決 查了下1006, 說是廣告, 我沒接廣告,這個也不是錯誤碼 1006廣告組件被駁回你的廣告正在被審核,無法展現廣告后來找到幾個類似的帖子…

arm開發板 GDB遠程調試方法

1.前言 1.在linux下開發&#xff0c;免不了使用gdb調試&#xff0c;但是linux下開發嵌入式&#xff0c;都是跑在ARM板子上的&#xff0c;網上有很多GDB的基礎教程&#xff0c;但是能在ARM開發板用的時候&#xff0c;會有各種問題。 比如&#xff1a;*.cpp: No such file or di…