部署云網(wǎng)絡(luò)托管的企業(yè)需要能夠幫助他們管理關(guān)鍵業(yè)務(wù)數(shù)據(jù)的存儲解決方案。隨著開源軟件和高性能存儲系統(tǒng)的興起,它們對云技術(shù)的滲透迫在眉睫。為了強調(diào)高性能存儲系統(tǒng)以實現(xiàn)快速計算速度的這一原則,Ceph 存儲應(yīng)運而生。
什么是 Ceph 存儲?
Ceph 是一個開源軟件,用于在一個完整的系統(tǒng)下促進高度可擴展的對象、塊和基于文件的存儲。Ceph 集群的設(shè)計目的是借助一種稱為CRUSH(可擴展散列下的受控復(fù)制)的算法運行商品硬件。該算法確保所有數(shù)據(jù)在集群中正確分布,并且所有集群節(jié)點可以無限制地快速吸收和檢索數(shù)據(jù)。 以這種方式考慮 Ceph - 您有大量數(shù)據(jù)可以分類為集群和子集群。現(xiàn)在,子集群必須是集群的一部分,以便正確的信息屬于正確的譜系。輸入 CRUSH,這是一種可擴展的散列算法,可幫助您將數(shù)據(jù)劃分為正確的集群和子集群。可以在需要時檢索到正確分配的數(shù)據(jù)。因此,Ceph 不僅可以存儲大量數(shù)據(jù),還可以簡化對這些數(shù)據(jù)的訪問。
希望這能回答您的問題——什么是 Ceph 存儲?除了這個解釋之外,本文旨在讓您全面了解 Ceph 存儲的工作原理、特點、優(yōu)勢以及使用它的原因。所以,讓我們深入了解更多。
Ceph 存儲如何工作?
Ceph 使用 Ceph 塊設(shè)備,這是一種可以連接到基于 Linux 的裸機服務(wù)器或虛擬機的虛擬磁盤。RADOS (Reliable Autonomic Distributed Object Store)是 Ceph 中的一個重要組件,提供快照和復(fù)制等塊存儲功能,可以與 OpenStack 塊存儲集成。Ceph 還使用 POSIX(便攜式操作系統(tǒng)接口),這是一種 Ceph 文件系統(tǒng),用于在其存儲集群中存儲數(shù)據(jù)。文件系統(tǒng)使用與 Ceph 塊存儲和對象存儲相同的集群系統(tǒng)來存儲大量數(shù)據(jù)。
總的來說,Ceph 作為存儲系統(tǒng)的功能非常簡單。因此,它由許多托管和 IT 解決方案提供商為其客戶部署。
Ceph 存儲有哪些特點,我們?yōu)槭裁葱枰?/strong>
由于當(dāng)今數(shù)據(jù)正以指數(shù)速度增長,因此組織需要一種能夠有效存儲大量數(shù)據(jù)的解決方案。這是一個重大挑戰(zhàn)。Ceph 存儲是一個有效的工具,或多或少有效地應(yīng)對了這個問題。
除此之外,Ceph 的知名度與日俱增,因為——
1) Ceph 支持新興的 IT 基礎(chǔ)架構(gòu)
如今,在存儲或歸檔大量數(shù)據(jù)時,軟件定義的存儲解決方案是一種即將到來的實踐。造成這種情況的主要原因之一是遺留基礎(chǔ)設(shè)施和解決方案無法以合理的成本滿足存儲需求。此外,隨著 IT 組織越來越多地利用云技術(shù),提供合適的解決方案變得必要。所有這些因素都幫助 Ceph 在新基礎(chǔ)設(shè)施方面搶占了重要位置。
2) Ceph 提供動態(tài)存儲集群
大多數(shù)存儲應(yīng)用程序并沒有充分利用典型商品服務(wù)器中可用的 CPU 和 RAM,但 Ceph 存儲可以。從重新平衡集群到從錯誤和故障中恢復(fù),Ceph 通過使用 Ceph 的 OSD(對象存儲守護進程)的分布式計算能力從客戶端卸載工作以執(zhí)行所需的工作。
3) Ceph 可擴展、可靠且易于管理
Ceph 允許組織在不影響其 Cap-ex 或 Op-ex 的情況下進行擴展。Ceph 節(jié)點利用商用硬件和智能守護程序以及相互通信的 Ceph 存儲集群來動態(tài)復(fù)制和重新分配數(shù)據(jù)。這些節(jié)點由 Ceph 監(jiān)視器監(jiān)控,以確保它們的高可用性。簡而言之,Ceph 在數(shù)據(jù)存儲方面已經(jīng)改變了 IT 組織。
Ceph 存儲對 Web 專業(yè)人士有何好處?他們?nèi)绾纬浞掷盟?/strong>
Ceph 可以在任何商品硬件上運行,無需任何供應(yīng)商鎖定。作為軟件定義的存儲解決方案,它還提供了硬件選擇的靈活性。這使得它在網(wǎng)絡(luò)專業(yè)人士中非常受歡迎。除了這些好處之外,Ceph 還提供了許多優(yōu)點,可以列舉如下:
1.數(shù)據(jù)安全
Ceph 使每個數(shù)據(jù)更新對客戶端可見。除此之外,它們還讓用戶知道這些更新的數(shù)據(jù)已安全地復(fù)制到磁盤上,并且可以在電源或其他故障中幸免于難。此外,RADOS 將同步與安全分離,同時確認(rèn)更新,以允許 Ceph 實現(xiàn)應(yīng)用同步和數(shù)據(jù)安全語義的低延遲更新。通過這種方式,Ceph 存儲可以確保用戶的數(shù)據(jù)安全。
2.故障檢測
在正確的時間發(fā)現(xiàn)錯誤或故障對于保護數(shù)據(jù)至關(guān)重要。但是,如果大規(guī)模集群太多,這可能會變得很困難。在這種情況下,OSD(對象存儲守護進程)可以自我報告。如果 OSD 沒有聽到來自對等方的任何故障,那么 RADOS 會考慮 OSD 的兩個維度——a)它是否可訪問或 b)它是否由 CRUSH 分配數(shù)據(jù)。如果 OSD 沒有響應(yīng),它會被標(biāo)記下來,并且它所擁有的任何主要責(zé)任都會臨時傳遞給下一個 OSD。因此,Ceph 監(jiān)控可以檢測分布式環(huán)境中的異常(如果有)。此外,這種分布式檢測允許快速檢測而不會給監(jiān)視器帶來負擔(dān),同時解決不一致問題。
3.集群恢復(fù)和更新
在 OSD 故障的情況下,OSD 集群映射會發(fā)生變化。為了提供快速恢復(fù),OSD 維護每個對象的版本號和最近更改的日志。因此,例如,讓我們考慮 OSD1 和 OSD2。如果 OSD1 崩潰并被標(biāo)記為 down,則更新其狀態(tài)并由 OSD2 接管。一旦 OSD1 恢復(fù),它將在啟動時請求最新的地圖,并且監(jiān)視器會將其標(biāo)記為已啟動。此 OSD2 意識到不再需要執(zhí)行主要職責(zé),并允許 OSD1 接管以檢索日志條目。通過這種方式,Ceph 不僅可以保證數(shù)據(jù)存儲的安全,還可以快速恢復(fù)數(shù)據(jù)集群。
4.數(shù)據(jù)分發(fā)和復(fù)制
Ceph 在分發(fā)數(shù)據(jù)時采用了一種簡單的策略。Ceph 使用簡單的散列函數(shù)將對象映射到 PG(放置組)。然后這些歸置組被輔助到 OSD 使用 CRUSH 來存儲對象副本。這與必須依賴大量元數(shù)據(jù)的傳統(tǒng)方法不同,盡管 Ceph 也以非常小的方式使用元數(shù)據(jù)。此外,在復(fù)制方面,數(shù)據(jù)會根據(jù)這些歸置組進行復(fù)制,每個歸置組都映射到 OSD 的有序列表。這種分發(fā)和復(fù)制使 Ceph 成為可擴展的存儲解決方案。
結(jié)論
如果您將 Ceph 作為一個整體來看,它解決了存儲系統(tǒng)方面的三個關(guān)鍵挑戰(zhàn)——可擴展性、可靠性和性能。最重要的是,它的核心原則——RADOS、CRUSH 和 POSIX 使 Ceph 成為一個整體存儲系統(tǒng)。除此之外,它在保護云存儲方面也很有用。