【北亞資料恢復】什麼是Ceph?Ceph資料恢復研究

北亞資料恢復發表於2022-03-22


Ceph儲存基本架構:


Ceph儲存根據其型別,可分為塊儲存,物件儲存和檔案儲存。Ceph基於物件儲存,對外提供三種儲存介面,故稱為統一

儲存。


Ceph的底層是RADOS(分散式物件儲存系統),RADOS系統主要由兩部分組成,分別是OSD和MON。


MON負責監控整個叢集,維護叢集的健康狀態,維護展示叢集狀態的各種圖表,如OSDMap、MonitorMap、PGMap和

CRUSHMap。


OSD則用於儲存資料、複製資料、平衡資料、恢復資料,以及與其它OSD間進行心跳檢查等。一般情況下一塊硬碟對應一個

OSD。




Ceph資料的儲存過程:


無論使用哪種儲存方式(物件、塊、檔案系統),儲存的資料都會被切分成物件(Objects)。




儲存池:


很多不同使用者因不同目的把物件儲存在不同的儲存池裡,而它們都坐落於無數的OSD之上。


物件儲存在不同的儲存池(Pool)中,它是物件儲存的邏輯組,對應不同的使用者。儲存池管理著歸置組數量、副本數量、和存

儲池規則集。




歸置組:


歸置組(PGPlacementGroup)是物件池的片段,Ceph根據物件的Oid和一些其他資訊做計算操作,對映到歸置組,無數

的物件被劃分到不同的歸置組。PG是一個邏輯概念,它在資料定址時類似於資料庫中的索引。


每個物件都會固定對映進一個PG中,所以當我們要尋找一個物件時,只需要先找到物件所屬的PG,然後遍歷這個PG就可

以了,無需遍歷所有物件。而且在資料遷移時,也是以PG作為基本單位進行遷移。




OSD:


最後PG會根據管理員設定的副本數量進行復制,然後透過crush演算法儲存到不同的OSD節點上,最終把PG中的所有物件存

儲到OSD節點上。




BlueStore:


新版本中,Ceph預設以Bluestore儲存引擎作為RADOS中OSD的ObjectStore儲存底層實現 BlueStore整體架構。




空間分配:


BlueStore將整個儲存空間分為3個部分:WAL,DB,SLOW


慢速(Slow)空間:


主要用於儲存物件資料,由BlueStore管理。


高速(DB)空間:


儲存blufs和rocksdb產生的資料,由BlueFS直接管理,如果不存在或者DB裝置空間不足,則選擇Slow型別裝置空間。


超高速(WAL)空間:


主要儲存RocksDB的WAL(即.log)檔案,由BlueFS直接管理,如果不存在或者WAL裝置空間不足,則逐級降級選擇DB、

SLOW分割槽。




Rocksdb:


BlueStore使用Rocksdb作為自己後設資料儲存的底層實現,將各種後設資料以kv型記錄的方式存在資料庫中。


寫入機制任何後設資料的寫入都會先寫到WAL,然後在寫入MemoryTable(Memtable)。


當一個Memtable寫滿了之後,就會變成immutable的Memtable,RocksDB在後臺會透過一個flush執行緒將這個

Memtableflush到磁碟,生成一個SortedStringTable(SST)檔案。




BlueFS:


BlueFS與通用檔案系統不同,是Bluestore專為Rocksdb所設計的精簡檔案系統。


BlueFS的檔案和目錄的後設資料以日誌事務的形式儲存在日誌檔案中,在上電過程中,replay日誌檔案中的事務,就可以加

載所有的後設資料到記憶體中。




Ceph資料恢復流程:



1. 製作映象:


製作磁碟映象,用於資料提取和備份。




2. BlueFS中資料庫檔案的提取:


從磁碟映象的分割槽獲取超級塊,得到日誌的節點資訊。


回放整個日誌中的事務,得到目錄結構和資料庫檔案節點資訊,根據資料庫檔案節點資訊提取資料庫檔案。


提取每個OSD提取出來的資料庫中的object記錄。




3. 檔案記錄提取:


對於損壞的資料庫,根據檔案格式提取資料庫完好檔案中的object記錄。




4. 提取object資料塊:


解析object記錄,從各映象上提取對應的object資料。




5. 組合卷資料:


根據object的id按序組合卷檔案的所有object資料塊,還原整個卷資料。




6. 修復卷的檔案系統和其中檔案:


對於損壞缺失程度不高的卷檔案系統,嘗試修復損壞的卷,得到卷中的檔案。


對於有固定格式的檔案,嘗試修復損壞檔案。




在北亞資料恢復工程師團隊的努力下,攻克了Ceph資料恢復這個專題。對於北亞資料恢復工程師團隊來說,

Ceph資料恢復已經不是什麼問題了。



來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31380569/viewspace-2882941/,如需轉載,請註明出處,否則將追究法律責任。

相關文章