❶ 分布式存儲與軟體定義存儲的區別
什麼是分布式存儲
關於分布式存儲實際上並沒有一個明確的定義,甚至名稱上也沒有一個統一的說法,大多數情況下稱作 Distributed Data Store 或者 Distributed Storage System。
其中維基網路中給 Distributed data store 的定義是:分布式存儲是一種計算機網路,它通常以數據復制的方式將信息存儲在多個節點中。
在網路中給出的定義是:分布式存儲系統,是將數據分散存儲在多台獨立的設備上。分布式網路存儲系統採用可擴展的系統結構,利用多台存儲伺服器分擔存儲負荷,利用位置伺服器定位存儲信息,它不但提高了系統的可靠性、可用性和存取效率,還易於擴展。
盡管各方對分布式存儲的定義並不完全相同,但有一點是統一的,就是分布式存儲將數據分散放置在多個節點中,節點通過網路互連提供存儲服務。這一點與傳統集中式存儲將數據集中放置的方式有著明顯的區分。
什麼是軟體定義存儲
SDS 的全稱是 Software Defined Storage ,字面意思直譯就是軟體定義存儲。關於 SDS 的定義可以參考全球網路存儲工業協會(Storage Networking Instry Association,SNIA),SNIA 在 2013 正式把 軟體定義存儲(SDS) 列入研究對象。
SNIA 對軟體定義存儲(SDS) 的定義是:一種具備服務管理介面的虛擬化存儲。 SDS 包括存儲池化的功能,並可通過服務管理介面定義存儲池的數據服務特徵。另外 SNIA 還提出 軟體定義存儲(SDS) 應該具備以下特性:
自動化程度高 – 通過簡化管理,降低存儲基礎架構的運維開銷
標准介面 – 支持 API 管理、發布和運維存儲設備和服務
虛擬化數據路徑 – 支持多種標准協議,允許應用通過塊存儲,文件存儲或者對象存儲介面寫入數據
擴展性 – 存儲架構具備無縫擴展規模的能力,擴展過程不影響可用性以及不會導致性能下降
透明度 – 存儲應為用戶提供管理和監控存儲的可用資源與開銷
分布式存儲與軟體定義存儲的區別與聯系
軟體定義存儲(SDS) 的著重點在於存儲資源虛擬化和軟體定義,首先在形態上,軟體定義存儲(SDS)區別於傳統的「硬體定義」存儲,它不依賴專屬的硬體,可以讓存儲軟體運行在通用伺服器上,可避免硬體綁定以及有效降低硬體采購成本;擁有標准 API 介面和自動化工具,有效降低運維難度。存儲資源虛擬化,支持多種存儲協議,可整合企業存儲資源,提升存儲資源利用率。但從定義上來說,但 軟體定義存儲(SDS) 從部署形式上來看,並不一定是分布式或者是集中式的,也就是說 SDS 不一定是分布式存儲(雖然常見的 軟體定義存儲(SDS) 更多的是分布式的),SDS 存儲內部有可能是單機運行的,不通過網路分散存放數據的,這種形式的軟體定義存儲(SDS) 的擴展性就可能有比較大的局限。
分布式存儲,它的最大特點是多節點部署, 數據通過網路分散放置。分布式存儲的特點是擴展性強,通過多節點平衡負載,提高存儲系統的可靠性與可用性。與 軟體定義存儲(SDS)相反,分布式存儲不一定是軟體定義的,有可能是綁定硬體的,例如 IBM XIV 存儲,它本質上是一個分布式存儲,但實際是通過專用硬體進行交付的。那麼就依然存在硬體綁定,擁有成本較高的問題。
❷ 軟體定義存儲(SDS)這個概念是什麼時候出現的
說到軟體定義存儲(SDS)的由來,不得不先說一下SDN與SDDC。
SDN起源於2006年斯坦福大學的Clean Slate研究課題。2009年,Mckeown教授正式提出了SDN概念。通過將網路設備的控制平面與數據平面分離開來,並實現可編程化控制,實現了網路流量的靈活控制,為核心網路及應用的創新提供了良好的平台。在2012年8月,VMware在其VMworld 2012大會上首次提出軟體定義數據中心(Software Defined Data Center,簡稱SDDC)的概念。作為VMware軟體定義數據中心五大組成部分(計算、存儲、網路、管理和安全)之一,軟體定義存儲(SDS)的概念也首次被提出。
❸ 所謂的軟體定義存儲SDS與傳統存儲有什麼不同
超融合核心的分布式存儲也是軟體定義存儲(SDS)的一種形態,而超融合架構本質上也是一種軟體定義存儲(SDS)和虛擬化融合部署的模式。所以軟體定義存儲與傳統存儲的區別可以參考超融合與傳統架構的區別,詳情如下:
一、架構和資源管理模式對比如下以SmartX 超融合產品為例,分別給出了下超融合架構和傳統架構的部署區別和資源管理模式區別。
從上圖可以看出,超融合架構在整個產品運維周期中,不僅大量操作被自動化,運維簡單,而且時間短,效率高。可以有效降低人員要求,將 IT 人員解放出來進行更創新的活動。
5、采購成本和總擁有成本的降低在客戶最關注的成本方面,伺服器+超融合軟體(或超融合一體機),相比伺服器加傳統中高端存儲的成本,有較大幅度的降低。但除了采購成本,超融合在總擁有成本上都有大幅降低。關於超融合在成本方面的優勢可以訪問官方技術博客:《超融合相比傳統FC SAN架構有什麼成本優勢?》
可以看到,超融合通過創新的架構,以更優的成本讓IT基礎架構更敏捷、能力更強,而這些特性,將為用戶加快數字化轉型奠定堅實基礎。
❹ 什麼是軟體定義存儲
軟體定義存儲(SDS)是一種能將存儲軟體與硬體分隔開的存儲架構。不同於傳統的網路附加存儲(NAS)或存儲區域網路(SAN)系統,SDS一般都在行業標准系統或X86系統上執行,從而消除了軟體對於專有硬體的依賴性。
通過將存儲軟體與硬體分離,您可以根據需求擴展您的存儲能力,而不是倉促地添置專有硬體。分離後,您還可以在需要時升級或降級硬體。基本上,SDS可以大幅提高您的靈活性和降低TCO成本。做得比較好的公司有華為、紫光西數、元核雲、XSKY。
❺ Ceph 架構與原理
Ceph 是一個開源項目,它提供軟體定義的、統一的存儲解決方案 。Ceph 是一個具有高性能、高度可伸縮性、可大規模擴展並且無單點故障的分布式存儲系統 。
Ceph 是軟體定義存儲解決方案
Ceph 是統一存儲解決方案
Ceph 是雲存儲解決方案
高可用性
高擴展性
特性豐富
Ceph獨一無二地統一的系統提供了對象存儲、塊存儲和文件存儲功能。Ceph存儲集群由幾個不同的軟體守護進程組成(比較重要的兩個是MON和OSD),每個守護進程負責Ceph的一個獨特功能並將值添加到相應的組件中。
RADOS是CEPH存儲系統的核心,也稱為Ceph 存儲集群。Ceph的數據訪問方法(如RBD,CephFS,RADOSGW,librados)的所有操作都是在RADOS層之上構建的。當Ceph 集群接收到來自客戶端的請求時,CRUSH演算法首先計算出存儲位置,最後將這些對象存儲在OSD中,當配置的復制數大於1時,RADOS負責的形式將數據分發到集群內的所有節點,最後將這些對象存儲在OSD中。當配置的復制數大於1時,RADOS負責數據的可靠性,它復制對象,創建副本並將它們存儲在不同的故障區域中。
RADOS包含兩個核心組件: OSD和MON
OSD 是Ceph 存儲集群中最重要的一個基礎組件,他負責將實際的數據以對象的形式存儲在每一個集群節點的物理磁碟中。對於任何讀寫操作,客戶端首先向MON請求集群MAP,然後客戶端舊可以直接和OSD進行I/O操作。
一個Ceph 集群包含多個OSD。一個典型的Ceph集群方案會為集群節點上的每個物理磁碟創建一個ODS守護進程,這個是推薦的做法。OSD上的每個對象都有一個主副本和幾個輔副本,輔副本分散在其他OSD。一個OSD對於一些對象是主副本,同時對於其他對象可能是輔副本,存放輔副本的OSD主副本OSD控制,如果主副本OSD異常(或者對應的磁碟故障),輔副本OSD可以成為主副本OSD。
OSD是有一個已經存在的Linux文件系統的物理磁碟驅動器和OSD服務組成。Ceph 推薦OSD使用的文件系統是XFS。OSD的所有寫都是先存到日誌,再到存儲.
MON 負責監控整個集群的健康狀況。它以守護進程的形式存在,一個MON為每一個組件維護一個獨立的MAP,如OSD,MON,PG,CRUSH 和MDS map。這些map 統稱為集群的MAP。MON 不為客戶端存儲和提供數據,它為客戶端以及集群內其他節點提供更新集群MAP的服務。客戶端和集群內其他節點定期與MON確認自己持有的是否是集群最新的MAP.一個Ceph集群通常包含多個MON節點,但是同一時間只有一個MON。
librados是一個本地的C語言庫,通過它應用程序可以直接和RADOS通信,提高性能
Ceph 塊存儲,簡稱 RBD,是基於 librados 之上的塊存儲服務介面。RBD 的驅動程序已經被集成到 Linux 內核(2.6.39 或更高版本)中,也已經被 QEMU/KVM Hypervisor 支持,它們都能夠無縫地訪問 Ceph 塊設備。Linux 內核 RBD(KRBD)通過 librados 映射 Ceph 塊設備,然後 RADOS 將 Ceph 塊設備的數據對象以分布式的方式存儲在集群節點中
RGW,Ceph對象網關,也稱做RADOS網關,它是一個代理,可以將HTTP請求轉換為RADOS,也可以把RADOS轉換為HTTP請求,從而提供restful介面,兼容S3和Swift。Ceph對象網關使用Ceph對象網關守護進程(RGW)與librgw、librados交互。Ceph對象網關支持三類介面:S3、Swift、管理API(通過restful介面管理Ceph集群)。RGW有自己的用戶管理體系
Ceph 元數據伺服器服務進程,簡稱 MDS。只有在啟用了 Ceph 文件存儲(CephFS)的集群中才需要啟用 MDS,它負責跟蹤文件層次結構,存儲和管理 CephFS 的元數據。MDS 的元數據也是以 Obejct 的形式存儲在 OSD 上。除此之外,MDS 提供了一個帶智能緩存層的共享型連續文件系統,可以大大減少 OSD 讀寫操作頻率。
CephFS在RADOS層之上提供了一個兼容POSIX的文件系統。它使用MDS作為守護進程,負責管理其元數據並將它和其他數據分開。CephFS使用cephfuse模塊(FUSE)擴展其在用戶空間文件系統方面的支持(就是將CephFS掛載到客戶端機器上)。它還允許直接與應用程序交互,使用libcephfs庫直接訪問RADOS集群。
Ceph管理器軟體,可以收集整個集群的所有狀態。有儀錶板插件
一個對象通常包含綁定在一起的數據和元數據,並且用一個全局唯一的標識符標識。這個唯一的標識符確保在整個存儲集群中沒有其他對象使用相同的對象ID,保證對象唯一性。基於文件的存儲中,文件大小是有限制的,與此不同的是,對象的大小是可以隨著大小可變的元數據而變得很大。對象不使用一個目錄層次結構或樹結構來存儲,相反,它存儲在一個包含數十億對象且沒有任何復雜性的線性地址空間中。對象可以存儲在本地,也可以存放在地理上分開的線性地址空間中,也就是說,在一個連續的存儲空間中。任何應用程序都可以基於對象ID通過調用restful API從對象中獲取數據。這個URL可以以同樣的方式工作在網際網路上,一個對象ID作為一個唯一的指針指向對象。這些對象都以復制的方式存儲在OSD中,因為能提供高可用性。
對於Ceph集群的一次讀寫操作,客戶端首先聯系MON獲取一個集群map副本,然後使用對象和池名/ID將數據轉換為對象。接著將對象和PG數一起經過散列來生成其在Ceph池中最終存放的那一個PG。然後前面計算好的PG經過CRUSH查找來確定存儲或獲取數據所需的主OSD的位置。得到准確的OSD ID之後,客戶端直接聯系這個OSD來存取數據。所有這些計算操作都由客戶端來執行,因此它不會影響Ceph集群的性能。一旦數據被寫入主OSD,主OSD所在節點將執行CRUSH查找輔助PG和OSD的位置來實現數據復制,進而實現高可用。
簡單地說,首先基於池ID將對象名和集群PG數應用散列函數得到一個PG ID,然後,針對這個PG ID執行CRUSH查找得到主OSD和輔助OSD,最後寫入數據。
PG是一組對象地邏輯集合,通過復制它到不同的OSD上來提供存儲系統的可靠性。根據Ceph池的復制級別,每個PG的數據會被復制並分發到Ceph集群的多個OSD上。可以將PG看成一個邏輯容器,這個容器包含多個對象,同時這個邏輯容器被映射到多個OSD。
計算正確的PG數對一個Ceph存儲集群來說是至關重要的一步。PG數計算公式如下
Ceph池是一個用來存儲對象的邏輯分區,每個池都包含一定數量的PG,進而實現把一定數量的對象映射到集群內部不同OSD上的目的。每一個池都是交叉分布在集群所有節點上的,這樣就能提供足夠的彈性。池可以通過創建需要的副本數來保障數據的高可用性。
Ceph的池還支持快照功能,我們可以使用ceph osd pool mksnap命令來給特定的池製作快照。此外,Ceph池還允許我們為對象設置所有者和訪問許可權。
數據管理始於客戶端向Ceph池中寫數據。一旦客戶端准備寫數據到Ceph池中,數據首先寫入基於池副本數的主OSD中。主OSD再復制相同的數據到每個輔助OSD中,並等待它們確認寫入完成。只要輔助OSD完成數據寫入,就會發送一個應答信號給主OSD。最後主OSD再返回一個應答信號給客戶端,以確認完成整個寫入操作。
❻ 有了解軟體定義存儲的嗎,尋專業解答
兩個問題,分開來答。作者是來自我們Dell EMC中國研發集團的張衛兵▼▼▼什麼是軟體定義存儲(SDS)?什麼是軟體定義存儲(SDS),我們來看SNIA(Storage Networking Instry Association)給的定義:SNIA defines SDS as Virtualized storage with a service management interface. SDS includes pools of storage with data service characteristics that may be applied to meet the requirements specified through the service management interface. SNIA將軟體定義存儲(Software-defined Storage, SDS)定義為:擁有服務管理界面的虛擬化存儲。SDS包含擁有數據服務特性的存儲資源池,可以用於滿足服務管理介面制定的存儲需求。理解起來可能會比較抽象,我們先來看傳統存儲。傳統的存儲設備(NAS,SAN)大多是搭建在專門設計的硬體上,實現存儲資源的集中管理和使用。比如在硬體層面定製大量的緩存用於加速數據讀寫,又如在硬體層面使用多處理單元實現高性能和高可用(HA)。對於傳統存儲,硬體和軟體在設計之初就是緊密耦合在一起的。在軟體層面,除了基本的存儲路徑,還需很多工作來驅動和使用特殊硬體資源。專用的硬體和軟體為傳統存儲帶來的性能的提高,但也帶來了開發和運維的復雜性。不同廠商,甚至同一廠商的不同產品,存儲設備的管理和使用的方式也不盡相同,進一步提高了運維的復雜性。每台存儲設備都是相對孤立的系統,存儲資源的管理和使用無法方便快捷的整合。在軟體定義存儲這個概念出現之前,存儲行業還經歷和很長一段時間分布式存儲系統的發展過程。分布式存儲系統可以看作是軟體定義存儲的雛形階段,它通過軟體將存儲資源池化管理,對外提供文件和塊存儲服務。隨著虛擬化時代的到來,對IT基礎設施池化管理使用的需求越來越多,軟體定義基礎設施也隨之興起,在存儲領域的軟體定義解決方案就是軟體定義存儲(SDS)。軟體定義存儲剝離特定的硬體設備和硬體架構,更多的在存儲的功能性上思考數據中心/企業的存儲業務需求。軟體定義存儲將存儲管理服務(Control Plane)從存儲基礎架構(Data Plane)里剝離出來,但仍然保持並擴展每個陣列獨有的價值和特性。軟體定義存儲的實現方式,為企業提供了選擇的便捷性和靈活性,可以幫助企業運行其業務,並滿足彈性增減和和快速部署。但軟體定義存儲還不僅是將存儲資源虛擬池化,由於傳統存儲存在上述諸多痛點,人們希望軟體定義存儲能夠解決這些問題。所以軟體定義存儲除了提供虛擬化存儲資源池之外還要支持:軟體與硬體低耦合 – 軟體定義存儲支持的設備不應局限於專門的硬體,還需要支持通用硬體。可伸縮 - 在不影響可用性和性能的情況下,支持存儲設施容量的無縫伸縮。自動化 - 通過高度的自動化簡化存儲資源管理,以降低維護存儲設施的成本。標准化介面 - 提供標准化的API用於存儲設備的管理、配置和維護。虛擬數據路徑 – 在數據面支持文件/塊/對象存儲的讀寫介面。透明性 – 為消費者提供結合系統資源容量和成本,對自己使用和存儲資源進行管控的能力。第二個問題:軟體定義存儲有哪些產品?應用情況如何?純存儲形態:開源存儲Ceph,Gluster,HDFS等 Ceph和Gluster作為優秀的開源軟體定義存儲解決方案,在雲計算和企業內部存儲方面有著廣泛的應用;HDFS作為大數據分析的後端存儲,也有著很大的用戶群體。商業化存儲ECS, IsilonSD Edge等 ECS(Elastic Cloud Storage)是一款軟體定義存儲產品,支持雲應用級別的對象存儲。 IsilonSD Edge是軟體定義的NAS存儲產品,適合中小企業使用。超融合形態:商業化超融合產品:Dell EMC VxRail,VMware vSAN VxRail是一款虛擬化環境中的超融合產品,集成軟體定義存儲功能。 VMware vSAN是VMware提供的超融合基礎架構解決方案。 軟體定義存儲在各類企業中有著廣泛的應用,並且在蓬勃的發展。值得一提的是,很多傳統的存儲產品也在優化架構和增加功能,結合軟體定義存儲的需求發展,融入軟體定義存儲的行列。