【北亞資料恢復】什麼是Ceph?Ceph資料恢復研究
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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 【北亞企安資料恢復】Ceph儲存原理&Ceph資料恢復流程資料恢復
- 北亞企安資料恢復-XSAN資料恢復案例資料恢復
- 【北亞資料恢復】硬碟壞道故障如何恢復資料?資料恢復硬碟
- 【北亞資料恢復】oracle資料庫執行truncate table命令怎麼恢復資料?資料恢復Oracle資料庫
- 【北亞資料恢復】行動硬碟不認盤怎麼恢復硬碟資料?資料恢復硬碟
- 【北亞資料恢復】sqlserver資料庫被加密的資料恢復案例分享資料恢復SQLServer資料庫加密
- 【北亞資料恢復】不認盤的行動硬碟怎麼恢復硬碟資料?資料恢復硬碟
- 【北亞資料恢復】MongoDB資料遷移檔案丟失的MongoDB資料恢復案例資料恢復MongoDB
- 【北亞資料恢復】IBM System Storage儲存lvm資訊丟失資料恢復方案資料恢復IBMLVM
- 資料恢復的原理是什麼資料恢復
- 【北亞伺服器資料恢復】華為OceanStor系列伺服器資料恢復案例伺服器資料恢復
- 【北亞資料恢復】異常斷電導致Oracle資料庫報錯的oracle資料恢復資料恢復Oracle資料庫
- 【北亞資料恢復】vmfs還原快照操作導致SqlServer資料庫資料丟失的資料恢復資料恢復SQLServer資料庫
- 【北亞資料庫資料恢復】誤操作導致資料丟失的華為雲mysql資料恢復案例資料庫資料恢復MySql
- 【北亞資料恢復】誤操作分割槽損壞導致SqlServer資料庫資料丟失的資料恢復資料恢復SQLServer資料庫
- 【北亞資料恢復】伺服器斷電導致Oracle資料庫報錯的資料恢復案例資料恢復伺服器Oracle資料庫
- 【北亞資料恢復】Hp DL380伺服器raid磁碟故障的資料庫資料恢復案例資料恢復伺服器AI資料庫
- 【北亞資料恢復】誤刪除oracle表和誤刪除oracle表資料的資料恢復方法資料恢復Oracle
- 【北亞資料庫資料恢復】使用delete未加where子句刪除全表資料的Mysql資料庫資料恢復資料庫資料恢復deleteMySql
- 資料恢復:AMDU資料抽取恢復資料恢復
- 北亞資料恢復-WINDOWS還原系統後原分割槽丟失的資料恢復方案資料恢復Windows
- 【北亞資料恢復】某公司網路共享檔案開啟報錯的資料恢復案例資料恢復
- 【北亞資料恢復】zfs檔案系統的伺服器誤刪除的資料恢復資料恢復伺服器
- 【北亞資料恢復】IBM FlashSystem儲存raid5多硬碟離線的資料恢復案例資料恢復IBMAI硬碟
- 【北亞伺服器資料恢復】Infortrend ESDS系列伺服器raid6資料恢復案例伺服器資料恢復AI
- 【北亞資料恢復】輸入錯誤命令導致MySQL資料庫資料被刪除的資料恢復案例資料恢復MySql資料庫
- SeSparse資料恢復方案研究及恢復方法演示資料恢復
- Vsan資料恢復—Vsan資料恢復案例資料恢復
- 【Vsan資料恢復】Vsan資料恢復案例資料恢復
- 【北亞企安資料恢復】RAIDZ多塊磁碟離線導致崩潰的資料恢復案例資料恢復AI
- 【北亞資料恢復】IBM DS系列儲存伺服器硬碟故障、對映出錯的資料恢復資料恢復IBM伺服器硬碟
- 【北亞資料恢復】昆騰系列儲存伺服器StorNext檔案系統資料恢復案例資料恢復伺服器
- 【北亞資料恢復案例】raid0硬碟故障導致伺服器崩潰的資料恢復資料恢復AI硬碟伺服器
- 【北亞資料恢復】通過碎片拼接技術恢復XenServer伺服器磁碟中SQL Server資料庫資料資料恢復Server伺服器SQL資料庫
- 【北亞資料恢復】伺服器中Raid5磁碟陣列重建後資料丟失的資料恢復資料恢復伺服器AI陣列
- 【北亞資料恢復】誤操作導致雲伺服器表被truncate,表內資料被delete的資料恢復資料恢復伺服器delete
- 【資料庫資料恢復】SAP資料庫資料恢復案例資料庫資料恢復
- 【北亞伺服器資料恢復】伺服器reiserfs檔案系統損壞的資料恢復案例伺服器資料恢復