圖文存儲常識:單機、集中、分佈式、雲、雲原生存儲

背景

本文主要對楊傳輝(日照)《大規模分佈式存儲系統原理解析與架構實戰》、大話存儲、網絡資源(具體參考文末連接)及我的理解進行整理,意在構建出存儲發展基本軌跡和一些基本常識,讓更多像我同樣的初入者有個宏觀上的認知。前端

存儲發展史

從單機到互聯網,存儲做爲的基礎設施,主要發展都是圍繞構建 低成本、高性能、可擴展、易用的目標進行演進,時至今日,在形態上存儲分爲單機存儲、集中存儲、分佈式存儲、雲存儲、雲原生存儲數據庫

各階段存儲的基本形態以下後端

各階段基本形態服務器

存儲數據分類 & 模型

不管單機存儲、分佈式存儲、雲存儲都是基於特定應用場景下,對指定數據類型構建對應的存儲數據模型網絡

數據分類

數據模型

存儲類型

常見三種存儲類型:塊存儲、文件存儲、對象存儲數據結構

塊存儲架構

基於Block塊的存儲模式,兩種常見存儲方式:分佈式

  • DAS(Direct Attch Storage), 直連主機存儲方式
  • SAN (Storage Area Netowrk),高速網絡連接主機存儲方式

文件存儲性能

依附網絡提供文件存儲服務阿里雲

對象存儲

構建於鍵值存儲,核心是將數據通路(data)和控制通路(meta)分離,而且基於對象存儲設備(Object-based Storage Device,OSD)構建存儲系統,對外以RSETful API形式服務

單機存儲

基本概念

單機存儲系統是單機存儲引擎(數據結構在機械磁盤、SSD等持久化介質上的實現)的一種封裝,對外提供文件、鍵值、表格或者關係模型的存儲服務。

存儲引擎

存儲引擎是存儲系統的發動機,決定了存儲系統可以提供的功能和性能, 提供功能包含:

  • 增長(Create)
  • 讀取(Retrieve),隨機讀取和順序掃描
  • 更新(Update)
  • 刪除(Delete)

引擎間差別以下:

集中式存儲

基本概念

集中式存儲相對與單機存儲而言,存儲系統中包含了更多組件,除了機頭(控制器)、磁盤陣列(JBOD)和交換機等設備外,還有管理設備等輔助設備。

參考:集中式存儲的基本邏輯示意圖

系統構成

  • 機頭,整個存儲系統的核心部件,一般由控制器、先後端口組成,
    • 控制器,一般有二,實現互備高可用,控制器中的軟件實現對磁盤的管理,將磁盤抽象化爲存儲資源池,而後劃分爲LUN提供給服務器使用。
    • 先後端口,前端端口用戶爲服務器提供存儲服務,後端端口用於擴充存儲系統的容量(鏈接更多的存儲設備)
  • 磁盤櫃(Just a Bound Of Disk , JBOD),磁盤掛在服務器外的專用櫃裏,有獨立電源、散熱、接口等,內部線纜相連(SCSI),對機頭後端端口統一掛載

分佈式存儲

基本概念

分佈式存儲系統,是將分散獨立的存儲設備經過網絡互聯,系統關聯,對外做爲一個總體提供存儲服務。

系統分類

  • 分佈式文件系統
  • 分佈式鍵值系統
  • 分佈式表格系統
  • 分佈式數據庫

雲存儲

基本概念

雲存儲,是一種雲計算領域存儲服務方式,底層構建在分佈式存儲基礎之上,上層經過Internet形式提供存儲服務,除具有分佈式存儲基礎特性外,更兼具靈活性,一般由雲廠商提供

參考產品

雲原生存儲

基本概念

雲原生存儲脫胎於雲存儲,除具有云存儲的特性外、須知足具有云原生生態系統中其餘全部組件具有相同的動態(公共雲/專有云/混合雲等場景)構建可擴展應用、S3 API 驅動、K8S油耗等

參考示例

Rook

CNCF首個雲原生存儲項目Rook,是將文件、數據塊和對象存儲系統引入到Kubernetes集羣,與其餘正在使用存儲的應用程序和服務一塊兒無縫運行。經過這種方式,雲原生集羣能夠在公有云和本地部署中自給自足而且具有可移植性。該項目的開發目的是使企業可以經過動態應用編排,爲在本地和公有云環境中運行的分佈式存儲系統實現數據中心現代化。

Rook Architecure

Ceph Rook integrates with Kubernetes

MinIO

MinIO是一款高性能、軟件定義的,對象存儲套件,幫助客戶構建雲原生數據基礎設施。可與 Kubernetes 集成,容許操做員使用 Kubernetes 界面管理存儲,而 Kubernetes 能夠處理從存儲提供到卷放置的全部事務。

 

原文連接

本文爲阿里雲原創內容,未經容許不得轉載。

相關文章
相關標籤/搜索