osd存儲盤
Ⅰ 對象存儲系統的對象存儲系統組成
對象(Object)
包含了文件數據以及相關的屬性信息,可以進行自我管理
OSD(Object-based Storage Device)
一個智能設備,是Object的集合
文件系統
文件系統運行在客戶端上,將應用程序的文件系統請求傳輸到MDS和OSD上
元數據伺服器(Metadata Server,MDS)
系統提供元數據、Cache一致性等服務
網路連接
1. 對象(Object)
對象存儲的基本單元。每個Object是數據和數據屬性集的綜合體。數據屬性可以根據應用的需求進行設置,包括數據分布、服務質量等。在傳統的存儲中,塊設備要記錄每個存儲數據塊在設備上的位置。Object維護自己的屬性,從而簡化了存儲系統的管理任務,增加了靈活性。Object的大小可以不同,可以包含整個數據結構,如文件、資料庫表項等。
2、OSD(Object-based Storage Device)
每個OSD都是一個智能設備,具有自己的存儲介質、處理器、內存以及網路系統等,負責管理本地的Object,是對象存儲系統的核心。OSD同塊設備的不同不在於存儲介質,而在於兩者提供的訪問介面。
OSD的主要功能
數據存儲和安全訪問
OSD使用Object對所保存的數據進行管理。它將數據存放到磁碟的磁軌和扇區,將若干磁軌和扇區組合起來構成Object,並且通過此Object向外界提供對數據的訪問。每個Object同傳統的文件相似,使用同文件類似的訪問介面,包括Open、Read、Write等。但是兩者並不相同,每個Object可能包括若干個文件,也可能是某個文件的一部分,且是獨立於操作系統的。除了具體的用戶數據外,OSD還記錄了每個Object的屬性信息,主要是物理視圖信息。將這些信息放到OSD上,大大減輕了元數據伺服器的負擔,增強了整個存儲系統的並行訪問性能和可擴展性。
3、文件系統
文件系統對用戶的文件操作進行解釋,並在元數據伺服器和OSD間通信,完成所請求的操作。
現有的應用對數據的訪問大部分都是通過POSIX文件方式進行的,對象存儲系統提供給用戶的也是標準的POSIX文件訪問介面。
介面具有和通用文件系統相同的訪問方式,同時為了提高性能,也具有對數據的Cache功能和文件的條帶功能。
同時,文件系統必須維護不同客戶端上Cache的一致性,保證文件系統的數據一致
文件系統讀訪問實例:
客戶端應用發出讀請求;
文件系統向元數據伺服器發送請求,獲取要讀取的數據所在的OSD;
然後直接向每個OSD發送數據讀取請求;
OSD得到請求以後,判斷要讀取的Object,並根據此Object要求的認證方式,對客戶端進行認證,如果此客戶端得到授權,則將Object的數據返回給客戶端;
文件系統收到OSD返回的數據以後,讀操作完成。
4.元數據伺服器 (Metadata Server)
為客戶端提供元數據,主要是文件的邏輯視圖,包括文件與目錄的組織關系、每個文件所對應的OSD等。
在傳統的文件系統中,元數據由本機或者文件伺服器負責維護,每次對數據塊的操作都要獲取元數據。
在對象存儲系統中,由於每次操作只有一次對元數據的訪問,具體的數據傳輸都由OSD和客戶端通過直接連接進行,大大減少了元數據的操作,降低了元數據伺服器的負擔,從而為系統的擴展提供了可能性。
特點
客戶端採用Cache來緩存數據
當多個客戶端同時訪問某些數據時,MDS提供分布的鎖機制來確保Cache的一致性。
5. 網路連接
為客戶端提供認證
為了增強系統的安全性,MDS為客戶端提供認證方式。OSD將依據MDS的認證來決定是否為客戶端提供服務。
網路連接是對象存儲系統的重要組成部分。它將客戶端、MDS和OSD連接起來,構成了一個完整的系統。
Ⅱ 分布式存儲支持多節點,節點是什麼,一個磁碟還是一個主控
節點是什麼?
節點是存儲節點的簡稱,一般來說1個節點是1個存儲伺服器。
其中一個存儲節點壞了是否影響數據的訪問?
這個主要取決於你採取的數據保護措施,主要有以下幾種:
多副本:同一份數據會保存多份(通常設置為 2 副本或 3 副本),即使副本所在的節點宕機也不會造成數據丟失;
HA(高可用):節點宕機時,該節點上的虛擬機自動遷移至集群內其它節點,降低業務中斷時間;
機架感知:根據機房物理拓撲結構,將副本分配在不同的機架、機箱、主機上,有效減少甚至避免物理硬體(電源、交換機等)故障導致的數據丟失。理論上,3 副本結合機架感知配置,系統可最多容忍 2 個機架上的主機全部失效;
快照:為虛擬機打快照,在其發生故障時將數據恢復至快照狀態;
雙活:同城雙數據中心,災難時無損快速恢復業務(RPO=0);
備份:異地主備數據中心,災難時盡可能挽回數據損失。
Ⅲ 數據存儲的三種方式
數據存儲的三種方式分別是:內存存儲、硬碟存儲和閃信蘆存存儲。
內存存儲:內存存儲是計算機中一種臨時性的數據存儲方式,其數據存儲速度較快,但是存儲容量比較有限。內存存儲器通常被用來存儲正在使用的程序和數據。
硬碟存儲:硬碟存儲是計算機中一種永久性的數據存儲方式,其數據存儲速度相對較慢,但是存儲容量比較大。硬碟存儲器通常被用來存儲操作系統、應用程序、文檔、圖片、音頻和視頻等大容量數據。
快閃記憶體存儲:快閃記憶體存儲是一種固態存儲器,其數據存儲速度相對較快,而且存儲容量較大。快閃記憶體存儲器通常被用來製作U盤、存儲卡等移動設備。
雙字寬存儲州坦廳器是一種計算機存儲器的類型,其存儲單元的寬度是16個二進制位(即2個位元組),因此可以一次性存儲兩個字冊隱節的數據,稱為「雙字寬存儲器」。雙字寬存儲器在計算機中的應用較廣泛,可以提高數據存儲和訪問的效率。
Ⅳ ceph分布式存儲-常見 PG 故障處理
創建一個新集群後,PG 的狀態一直處於 active , active + remapped 或 active + degraded 狀態, 而無法達到 active + clean 狀態 ,那很可能是你的配置有問題。
你可穗亮能需要檢查下集群中有關 Pool 、 PG 和 CRUSH 的配置項,做以適當的調整。
一般來說,你的集群中需要多於 1 個 OSD,並且存儲池的 size 要大於 1 副本。
有時候,我們需要搭建一個單節點的 Ceph 實驗環境。此時,在開始創建 monitor 和 OSD 之前,你需要把 Ceph 配置文件中的 osd crush chooseleaf type 選項從默認值 1 (表示 host 或 node )修改為 0 (表示 osd )。這樣做是告訴 Ceph 允許把數據的不同副老族漏本分布到同一 host 的 OSDs 上。
如果你已經啟動了 2 個 OSD,它們都處於 up 和 in 的狀態,但 PG 仍未達到 active + clean 狀態,那可能是給 osd pool default size 設置了一個大於 2 的值。
如果你想要在 active + degraded 狀態( 2 副本)操作你的集群,可以設置 osd pool default min size 為 2 ,這樣你就可以對處於 active + degraded 的對象寫入數據。然後你還可以把 osd pool default size 的值改為 2 ,這樣集群就可以達到 active + clean 狀態了。
另外,修改參數 osd pool default size/min_size 後,只會對後面新建的 pool 起作用。如果想修改已存在的 pool 的 size/min_size ,可用下面的命令:
注意: 你可以在運行時修改參數值。如果是在 Ceph 配置文件中進行的修改,你可能需要重啟集群。
如果你設置了 osd pool default size 的值為 1 ,那你就僅有對象的單份拷貝。OSD 依賴於其他 OSD 告訴自己應該保存哪些對象。如果第一個 OSD 持有對象的拷貝,並且沒有第二份拷貝,那麼也就沒有第二個 OSD 去告訴第一個 OSD 它應該保管那份拷貝。對於每一個映射到第一個 OSD 上的 PG (參考 ceph pg mp 的輸出),你可以強制第一個 OSD 關注它應該保存的 PGs :
PG 達不到 clean 狀態的另一個可能的原因就是集群的 CRUSH Map 有錯誤,導致 PG 不能映射到正確的地方。
有失敗發生後,PG 會進入「degraded」(降級)或「peering」(連接建立中)狀態,這種情況時有發生。通常這些狀態意味著正常的失敗恢復正在進行。然而,如果一個 PG 長時間處於這些狀態中的某個,就意味著有更大的問題。因此 monitor 在 PG 卡 ( stuck ) 在非最優狀態時會告警。我們具體檢查:
你可以用下列命令顯式地列出卡住的 PGs:
卡在 stale 狀態的 PG 通過重啟 ceph-osd 進程通常可以修復;卡在 inactive 狀態的 PG 通常是互聯問題(參見 PG 掛了 —— 互聯失敗 );卡在 unclean 狀態的 PG 通常是由於某些原因阻止了恢復的完成,像未找到的對象(參見 未找到的對象 )。
在某些情況下, ceph-osd 互聯 進程會遇到問題,阻值 PG 達到活躍、可用的狀態。例如, ceph health 也許顯示:
可以查詢到 PG 為何被標記為 down :
recovery_state 段告訴我們互聯過程因 ceph-osd 進程掛了而被阻塞,本例是 osd.1 掛了,啟動這個進程應該就可以恢復。
或者,如果 osd.1 發生了災難性的失敗(如硬碟損壞),我們可侍爛以告訴集群它丟失( lost )了,讓集群盡力完成副本拷貝。
重要: 集群不能保證其它數據副本是一致且最新的,就會很危險!
讓 Ceph 無論如何都繼續:
恢復將繼續進行。
某幾種失敗相組合,可能導致 Ceph 抱怨有找不到( unfound )的對象:
這意味著存儲集群知道一些對象(或者存在對象的較新副本)存在,卻沒有找到它們的副本。下例展示了這種情況是如何發生的,一個 PG 的數據存儲在 ceph-osd 1 和 2 上:
這時, 1 知道這些對象存在,但是活著的 ceph-osd 都沒有這些副本。這種情況下,讀寫這些對象的 IO 就會被阻塞,集群只能指望 down 掉的節點盡早恢復。這樣處理是假設比直接給用戶返回一個 IO 錯誤要好一些。
首先,你應該確認哪些對象找不到了:
如果在一次查詢里列出的對象太多, more 這個欄位將為 true ,你就可以查詢更多。
其次,你可以找出哪些 OSD 上探測到、或可能包含數據:
本例中,集群知道 osd.1 可能有數據,但它掛了( down )。所有可能的狀態有:
有時候集群要花一些時間來查詢可能的位置。
還有一種可能性,對象存在於其它位置卻未被列出。例如,集群里的一個 ceph-osd 停止且被剔出集群,然後集群完全恢復了;後來一系列的失敗導致了未找到的對象,它也不會覺得早已死亡的 ceph-osd 上仍可能包含這些對象。(這種情況幾乎不太可能發生)。
如果所有可能的位置都查詢過了但仍有對象丟失,那就得放棄丟失的對象了。這仍可能是罕見的失敗組合導致的,集群在寫操作恢復後,未能得知寫入是否已執行。以下命令把未找到的( unfound )對象標記為丟失( lost )。
上述最後一個參數告訴集群應如何處理丟失的對象。
擁有 PG 拷貝的 OSD 可能會全部失敗,這種情況下,那一部分的對象存儲不可用, monitor 也就不會收到那些 PG 的狀態更新了。為檢測這種情況,monitor 會把任何主 OSD 失敗的 PG 標記為 stale (不新鮮),例如:
可以找出哪些 PG 是 stale 狀態,和存儲這些歸置組的最新 OSD ,命令如下:
如果想使 PG 2.5 重新上線,例如,上面的輸出告訴我們它最後由 osd.0 和 osd.2 管理,重啟這些 ceph-osd 將恢復之(可以假定還有其它的很多 PG 也會進行恢復 )。
如果你的集群有很多節點,但只有其中幾個接收數據, 檢查 下存儲池裡的 PG 數量。因為 PG 是映射到多個 OSD 的,較少的 PG 將不能均衡地分布於整個集群。試著創建個新存儲池,設置 PG 數量是 OSD 數量的若干倍。更詳細的信息可以參考 Ceph 官方文檔 —— Placement Groups 。
如果你的集群已啟動,但一些 OSD 沒起來,導致不能寫入數據,確認下運行的 OSD 數量滿足 PG 要求的最低 OSD 數。如果不能滿足, Ceph 就不會允許你寫入數據,因為 Ceph 不能保證復制能如願進行。這個最低 OSD 個數是由參數 osd pool default min size 限定的。
如果收到 active + clean + inconsistent 這樣的狀態,很可能是由於在對 PG 做擦洗( scrubbing )時發生了錯誤。如果是由於磁碟錯誤導致的不一致,請檢查磁碟,如果磁碟有損壞,可能需要將這個磁碟對應的 OSD 踢出集群,然後進行更換。生產環境中遇到過不一致的問題,就是由於磁碟壞道導致的。
當集群中出現 PG 不一致的問題時,執行 ceph -s 命令會出現下面的信息:
1、查找處於 inconsistent 狀態的問題 PG :
這個有問題的 PG 分布在 osd.1 、 osd.2 和 osd.0 上,其中 osd.1 是主 OSD。
2、去主 OSD( osd.1 )的日誌中查找不一致的具體對象 。
從日誌中可以知道,是 rbd_data.1349f035c101d9.0000000000000001 這個對象的屬性 _ 丟失了,所以在 scrub 的過程中產生了 error 。
3、執行 ceph pg repair 命令修復問題 PG 。
4、檢查 Ceph 集群是否恢復到 HEALTH_OK 狀態。
osd.1 的日誌里也提示修復成功:
如果經過前面的步驟,Ceph 仍沒有達到 HEALTH_OK 狀態,可以嘗試用下面這種方式進行修復。
1、停掉不一致的 object 所屬的 osd 。
2、刷新該 osd 的日誌。
3、將不一致的 object 移除。
4、重新啟動該 osd 。
5、重新執行修復命令。
6、檢查 Ceph 集群是否恢復到 HEALTH_OK 狀態。
有時候,我們在 ceph -s 的輸出中可以看到如下的告警信息:
這是因為集群 OSD 數量較少,測試過程中建立了多個存儲池,每個存儲池都要建立一些 PGs 。而目前 Ceph 配置的默認值是每 OSD 上最多有 300 個 PGs 。在測試環境中,為了快速解決這個問題,可以調大集群的關於此選項的告警閥值。方法如下:
在 monitor 節點的 ceph.conf 配置文件中添加:
然後重啟 monitor 進程。
或者直接用 tell 命令在運行時更改參數的值而不用重啟服務:
而另一種情況, too few PGs per OSD (16 < min 20) 這樣的告警信息則往往出現在集群剛剛建立起來,除了默認的 rbd 存儲池,還沒建立自己的存儲池,再加上 OSD 個數較多,就會出現這個提示信息。這通常不是什麼問題,也無需修改配置項,在建立了自己的存儲池後,這個告警信息就會消失。
Ⅳ 描述對象存儲,與文件存儲,塊存儲的區別
描述對象存儲,與文件存儲,塊存儲的區別, MaxLeap數據存儲和文件存儲的區別?
先說說塊存儲吧,典型代表--SAN。對於用戶來說,SAN好比是一塊大磁碟,用戶可以根據需要隨意將SAN格式化成想要的文件系統來使用。SAN在網路中通過iSCSI(IPSAN)協議連接,屬block及存儲,但可擴展性較差。
再說說文件集存儲,典型代表--NAS。對於用戶來說,NAS好比是一個共享文件夾,文件系統已經存在,用戶可以直接將自己的數據存放在NAS上。NAS以文件為傳輸協議,開銷很大,不利於在高性能集群中使用。
而所謂對象存儲,就是每個數據對應著一個唯一的id,在面向對象存儲中,不再有類似文件系統的目錄層級結構,完全扁平化存儲,即可以根據對象的id直接定位到數據的位置,這一點類似SAN,而每個數據對象即包含元數據又包括存儲數據,含有文件的概念,這一點類似NAS。除此之外,用戶不必關系數據對象的安全性,數據恢復,自動負載平衡等等問題,這些均由對象存儲系統自身完成。而且,面向對象存儲還解決了SAN面臨的有限擴充和NAS傳輸性能開銷大問題,能夠實現海量數據存儲。
塊儲存,對象存儲,文件存儲的區別和聯系
通常來講,磁碟陣列都是基於Block塊的存儲,而所有的NAS產品都是文件級存儲。
1. 塊存儲:DAS SAN
a) DAS(Direct Attach Storage): 是直接連接於主機伺服器的一種存儲方式,每台伺服器有獨立的存儲設備,每台主機伺服器的存儲設備無法互通,需要跨主機存取資料室,必須經過相對復雜的設定,若主機分屬不同的操作系統,則更復雜。
應用:單一網路環境下且數據交換量不大,性能要求不高的環境,技術實現較早。
b) SAN(Storage Area Neork): 是一種高速(光纖)網路聯接專業主機伺服器的一種存儲方式,此系統會位於主機群的後端,它使用高速I/O聯接方式,如:SCSI,ESCON及Fibre-Channels.特點是,代價高、性能好。但是由於SAN系統的價格較高,且可擴展性較差,已不能滿足成千上萬個CPU規模的系統。
應用:對網速要求高、對數據可靠性和安全性要求高、對數據共享的性能要求高的應用環境中。
2. 文件存儲
通常NAS產品都是文件級存儲。
NAS(Neork Attached Storage):是一套網路存儲設備,通常直接連在網路上並提供資料存取服務,一套NAS儲存設備就如同一個提供數據文件服務的系統,特點是性價比高。
它採用NFS或CIFS命令集訪問數據,以文件為傳輸協議,可擴展性好、價格便宜、用戶易管理。目前在集群計算中應用較多的NFS文件系統,但由於NAS的協議開銷高、帶寬低、延遲大,不利於在高性能集群中應用。
3. 對象存儲:
總體上講,對象存儲同時兼具SAN高級直接訪問磁碟特點及NAS的分布式共享特點。
核心是將數據通路(數據讀或寫)和控制通路(元數據)分離,並且基於對象存儲設備(OSD),構建存儲系統,每個對象存儲設備具備一定的職能,能夠自動管理其上的數據分布。
對象儲存結構組成部分(對象、對象存儲設備、元數據伺服器、對象存儲系統的客戶端)
3.1 對象
一個對象實際就是文件的數據和一組屬性信息的組合。
3.2 對象存儲設備(OSD)
OSD具有一定的智能,它有自己的CPU、內存、網路和磁碟系統。
OSD提供三個主要功能:包括數據存儲和安全訪問
(1)數據存儲 (2)智能分布 (3)每個對象元數據的管理
3.3 元數據伺服器(Metadata Server , MDS)
MDS控制Client與OSD對象的交互,主要提供以下幾個功能:
(1) 對象存儲訪問
允許Client直接訪問對象,OSD接收到請求時先驗證該能力,再訪問。
(2) 文件和目錄訪問管理
MDS在存儲系統上構建一個文件結構,限額控制、包括目錄、文件的創建、訪問控制等
(3) Client Cache 一致性
為提高性能,在對象存儲系統設計時通常支持Client的Cache。因此帶來了Cache一致性的問題,當Cache文件發生改變時,將通知Client刷新Cache,以防Cache不一致引發的問題。
對象存儲:
一個文件包含了屬性(術語叫matadata元數據,例如該文件的大小、修改時間、存儲路徑等)以及內容(簡稱數據)。
以往的文件系統,存儲過程將文件按文件系統的最小塊來打散,再寫進硬碟,過程中沒有區分元數據(metadata)和數據。而在每個塊最後才會告知下一個塊的地址,因此只能一個一個讀,速度慢。
而對象存儲則將元數據獨立出來,控制節點叫元數據伺服器(伺服器+對象存儲管理軟體),裡面主要存儲對象的屬性(主要是對象的數據被打散存放到了那幾台分布式伺服器中的信息),而其他負責存儲數據的分布式伺服器叫做OSD,主要負責存儲文件的數據部分。當用戶訪問對象時,會先訪問元數據伺服器,元數據伺服器只負責反饋對象存儲在那些OSD。假設反饋文件A存儲在B,C,D三台OSD,那麼用戶就會再次訪問三台OSD伺服器去讀取數據。
這時三台OSD同時對外傳輸數據,因此傳輸的速度就加快了。OSD伺服器數量越多,這種讀寫速度的提升就越大。
另一方面,對象存儲軟體有專門的文件系統,所以OSD對外又相當於文件伺服器,那麼就不存在文件共享方面的困難了,也解決了文件共享方面的問題。
因此對象存儲的出現,很好的結合了塊存儲與文件存儲的優點。
為什麼還要使用塊存儲和文件存儲:
1.有一類應用是需要存儲直接裸盤映射的,比如資料庫。因為資料庫需要存儲裸盤映射給自己後,再根據自己的資料庫文件系統來對了裸盤進行格式化,因此不能採用其他已經被格式化為某種文件系統的存儲。此類更適合塊存儲。
2.對象存儲的成本比普通的文件存儲還是較高,需要購買專門的對象存儲軟體以及大容量硬碟。如果對數據量要求不是海量,只是為了作文件共享的時候,直接用文件存儲的形式就好了,性價比高。
有對象存儲了為什麼還要有文件存儲和塊存儲?
目前而言,三種存儲方式不能說誰更好,針對場景不同,不同存儲能發揮的功效也不同。對象存儲主要運用在文件歸檔,雲服務,備份,視頻應用等;塊存儲主要應用在資料庫、中間件、雲桌面等;文件存儲主要應用在文件共享,影視非編等。元核雲三種存儲方式都支持,可以進行自由選擇。
有塊 存儲 文件存儲 為什麼 還要 對象存儲
塊存儲是傳統存儲模式,對象存儲是新提出的概念,比傳統存儲更具優勢。
描述NFS存儲與iSCSI存儲的區別
先說說塊存儲吧,典型代表--SAN。對於用戶來說,SAN好比是一塊大磁碟,用戶可以根據需要隨意將SAN格式化成想要的文件系統來使用。SAN在網路中通過iSCSI(IPSAN)協議連接,屬block及存儲,但可擴展性較差。 再說說文件集存儲,典型代表--NAS。
集群NAS和對象存儲的區別
如果是集群NAS用的硬碟大都是Serial Attached SCSI 就是SAS,當然SATA也是可以的,SATA廉價!你的數據是如果非結構的可以用NAS,如果是結構化的數據那就是用對象存儲吧!好好看一看塊訪問、對象訪問和文件訪問吧!
對象存儲oss和redis的區別
為了支持雲服務,MySQL的備份做了極大地改進,比如Global Transaction Identifiers (GTIDs). GTIDs可以輕松地跟蹤和比較master和slave伺服器之間的進度狀態。
在2013年4月,Oracle發布了針對Hadoop的MySQL Applier。Nokia首先將MySQL應用於大數據環境中,包括集中的Hadoop集群等等。
ps中的文件存儲和文件存儲為?
如果你打開的JPG圖片只是單純的調色,沒有添加圖層的話 你點存儲 是直接就存儲了的,如果你添加圖層或者文字層的話,就只能用存儲為了。 存儲只能存儲為打開文件的格式,一旦你添加圖層了,就必須變成PSD格式,或者存儲為JPG了
a *** 裸設備和文件存儲的區別
1. unix/linux ls -al|grep db2
2. 如果從 lv 的名字上看不出來…… 就連上資料庫,然後看錶空間容器
Ⅵ ceph闂棰樿В鍐寵繍緇磋板綍
1銆佸備綍瀵煎嚭瀵煎叆osdmap
1.1鍏堝仠鎺夊潖鐨刼sd,浠ュ強涓涓濂界殑osd(鍥犱負ceph-objectstore-tool鎵ц屾椂闇瑕佸仠姝osd),鐒跺悗鎵ц屽煎嚭瀵煎叆鍗沖彲
鍛戒護渚嬪瓙錛氬叾涓84鏄濂界殑osd,85鏄鏈夐棶棰樼殑osd
ceph-objectstore-tool --op get-osdmap --epoch 145039 --data-path /data1/ceph-osd/ --journal-path /var/log/ceph/ceph-84/journal --type filestore --file osdmap145039
ceph-objectstore-tool --op set-osdmap --epoch 145039 --data-path /data2/ceph-osd/ --journal-path /var/log/ceph/ceph-85/journal --type filestore --file osdmap145039
PS錛氬叾涓145039涓哄瑰簲鐨勭増鏈鍙鳳紝data-path涓巎ournal-path濉鍐欒嚜宸眔sd瀵瑰簲鐨勮礬寰
2銆佹壘鍒版g『鐨別poch鐗堟湰
榪欎釜瑕侀氳繃鎶ラ敊鐨刼sd鏃ュ織鏌ョ湅錛屽湪鍚鍔ㄧ殑鏃跺欙紝osd浼氬姞杞戒竴涓猠poch鐗堟湰A錛岃繖涓鐗堟湰鏄瀹冩e湪鎵ц岀殑錛岀己灝戠殑epoch鐗堟湰鍦ㄥ畠涔嬪墠銆傜劧鍚庡湪 mp of recent events涓鍙戠幇宸茬粡鎵ц岀殑epoch鐗堟湰B,浠ュ強ecoch鐗堟湰C銆傚皢鍦╩ax(B,C)鍒癆涔嬮棿鐨勭増鏈閮藉煎叆涓閬嶏紙涔熷彲浠ュ煎叆涓涓鐗堟湰錛屽惎鍔ㄤ竴嬈¤傚療錛屽氨鏄澶楹葷儲浜嗭級銆傛垜鏃ュ織涓瑼=145068,B=145011錛孋=145012,鎵浠ユ垜鎶145013鍒145067涔嬮棿鎵鏈夌殑ecoph鐗堟湰閮藉煎叆榪涘幓浜嗭紝緇撴灉姝e父鍚鍔ㄤ簡銆傛垜鐨勬棩蹇楀叆涓嬪浘
1銆佷駭鐢熷師鍥 錛
2涓猳sd涔嬮棿鐨刼sdmap鐗堟湰濡傛灉鐩稿樊榪囧ぇ(鐩稿樊鍙鑳藉湪50宸﹀彸)錛屼細瀵艱嚧2涓猳sd閫氳鐨勬椂鍊欐姤wrong node銆傚傛灉鍋跺皵鍑虹幇涓嬈wrong node錛岄偅涔堥棶棰樹笉澶э紝鍥犱負osd鏌愪釜鎿嶄綔鍗′富浜嗭紝鐒跺悗鎮㈠嶈幏鍙栦簡鏈鏂扮増鏈鐨刼sdmap銆傚傛灉osd鏃ュ織涓鐩村湪鎶ワ紝璇存槑鏈塷sd鍚屾osdmap鍑虹幇闂棰橈紝浼氬艱嚧osd down鎺夛紝蹇冭煩瓚呮椂錛堝彲鑳斤級錛岀敋鑷沖嚭鐜皁sd澶ч噺鍚冨唴瀛橈紝瀵艱嚧鏈嶅姟鍣ㄦ寕鎺夈傛棩蹇楀備笅錛
2銆佹煡鐪媜sd鐨刼sdmap鐗堟湰
閫氳繃鍛戒護鏌ョ湅錛歝eph daemon osd.xx status 鈥斺攛x鏍囪板瑰簲鐨刼sd緙栧彿
鍛戒護緇撴灉渚嬪瓙錛
{
"cluster_fsid": "df181181-2154-4816-a2b7-d6eae79980fb",
"osd_fsid": "d5edacd3-cee7-45eb-90df-e381d8684dfb",
"whoami": 15,
"state": "active",
"oldest_map": 92570,
"newest_map": 158146,
"num_pgs": 2105
}
鍏朵腑newest_map琛ㄧずosd鐨勬渶鏂扮増鏈鍙
3銆佹煡鐪嬮泦緹ょ殑osdmap鐗堟湰鍙
鍛戒護錛歝eph -s
榪欓噷錛178170鏃舵渶鏂扮増鏈鍙
4銆佺『瀹歰sd鐗堟湰鏄鍚︽湁闂棰
澶氭¢棿闅旀墽琛屽懡浠ceph daemon osd.xx status 鏌ョ湅osd鐗堟湰鍙鳳紝姝g『鐘舵佸備笅錛
4.1銆佹煡璇㈠嚭鏉ョ殑鐗堟湰鍙蜂竴鐩翠繚鎸佽窡闆嗙兢鐗堟湰鍙蜂竴鑷
4.2銆佸皬浜庨泦緹ょ増鏈鍙鳳紝浣嗘槸鍦ㄤ笉鍋滃炲ぇ錛屾渶緇堜細杈懼埌闆嗙兢鐗堟湰鍙
5銆佸嚭鐜皁sd涓嶆洿鏂皁sdmap瑙e喅鍔炴硶
鍒扮洰鍓嶄負姝錛屾垜娌℃湁鎵懼埌osd涓嶆洿鏂皁sdmap鐨勬牴鏈鍘熷洜錛屾垜浣跨敤榪嘽eph daemon osd.xx mp_blocked_ops 鏌ョ湅鏄鍚︽湁闃誨炵殑鎿嶄綔騫惰В鍐抽樆濉烇紝浣嗘槸渚濈劧涓嶈岋紝鍗充嬌榪斿洖娌℃湁闃誨烇紝榪樻槸涓嶆洿鏂般傚彲鑳藉彲浠ヨ﹐sd閲嶆柊鏇存柊鐨勬柟寮忥細
1銆佸皢瀵瑰簲鐨刼sd out鍑洪泦緹わ紙osd榪樻槸up鐨勶級錛岃繃涓闃佃傚療涓涓嬬増鏈鍙鳳紙鎴戠殑灝辨槸榪欐牱鍥炲嶇殑錛
2銆侀噸鍚痮sd
1銆侀棶棰樻棩蹇
2銆佽В鍐蟲柟寮忥細
1銆佹鏌ユ湇鍔″櫒鏃墮棿鏄鍚︿竴鑷
2銆佹鏌ラ泦緹や腑鐨刱eyring涓庢湰鍦皁sd鐨刱eyring鏄鍚︿竴鑷:
浣跨敤鍛戒護錛
ceph auth list浠巑on涓鑾峰彇鎵鏈塷sd鐨刱eyring,
cat /var/lib/ceph/osd/ceph-xx/keyring鑾峰彇鏈鍦皁sd鐨刱eyring
3銆佸幓鎺夐獙璇 錛岄噸鍚鎵鏈夌殑mon銆乷sd錛屼慨鏀筩eph.conf涓鐨勫備笅鍙傛暟涓
auth_cluster_required = none
auth_service_required = none
auth_client_required = none
1銆侀棶棰樻棩蹇
2銆佽В鍐蟲柟寮
1銆佹煡鐪嬫湇鍔″櫒鏃墮棿涓庢湇鍔″櫒緗戠粶錛堟垜鐨勪笉鏄榪欎釜闂棰橈級
2銆佷竴鑸蹇冭煩瓚呮椂鏄鍏朵粬闂棰樺紩璧風殑錛岃繖閲屽彲浠ュ厛璋冨ぇ蹇冭煩瓚呮椂鏃墮棿錛堟垜璋冨ぇ浜嗗績璺寵秴鏃訛紝瑙e喅浜嗗叾浠栭棶棰樹箣鍚庯紝灝辨病鏈夊績璺寵秴鏃朵簡錛夛紝淇鏀歸厤鍚堟枃浠禼eph.conf鐨勫弬鏁
mon_osd_report_timeout = 1800
filestore_op_thread_suicide_timeout = 1800
filestore_op_thread_timeout = 600
osd_heartbeat_grace = 600
osd_op_thread_suicide_timeout=1800
osd_op_thread_timeout=36000
榪欎釜閰嶇疆鍙浠ュ厛鏀懼埌[global]錛岀瓑瑙e喅浜嗛棶棰橈紝鍦ㄥ幓鎺夛紝涔熷彲浠ユ牴鎹瀹為檯鎯呭喌錛岃嚜宸辮皟鏁村弬鏁
1.鏌ョ湅鏃ュ織鏌ョ湅osd鍗″湪鍝閲
鏃ュ織璋冩暣綰у埆錛氫慨鏀歸厤緗鏂囦歡ceph.conf鍙傛暟錛屾坊鍔燿ebug_osd=10錛15/20錛夛紝鏁板艱秺楂橈紝鎵撳嵃瓚婂氥傚傛灉宸茬粡鍚鍔╫sd,鎯蟲洿鏀規棩蹇楃駭鍒錛屽彲浠ラ氳繃鍛戒護錛歝eph tell osd.xx injectargs --debug-osd 5
2銆佹牴鎹鏃ュ織淇℃伅瑙e喅闂棰
鎴戞槸鍗″湪浜唋oad_pgs涓婏紝鍥犱負鏁翠釜闆嗙兢鐘舵佷笉瀵癸紝鑰宲g鏁伴噺鍙堝緢澶氾紝鍔犺澆寰堟參錛岃繖鏃跺欓渶瑕佽冭檻鏈嶅姟鍣ㄥ帇鍔涳紝鍙浠ヤ竴涓涓涓鎱㈡參鍚鍔錛屼笉瑕佷竴涓嬪瓙鍚鍔ㄥ畬銆
1銆侀棶棰樺師鍥
incomplete鐘舵佽〃紺猴細Peering榪囩▼涓鐢變簬鏃犳硶閫夊嚭鏉冨▉鏃ュ織鎴栬呴氳繃choos_acting閫夊嚭鐨刟cting涓嶈凍浠ュ畬鎴愭暟鎹鎮㈠嶏紝錛堜緥濡傞拡瀵圭籂鍒犵爜錛屽瓨媧葷殑鍓鏈鏁板皬浜巏鍊礆級絳夛紝瀵艱嚧Peering鏃犳硶姝e父瀹屾垚銆傚嵆pg鍏冩暟鎹涓㈠け錛屾棤娉曟仮澶峱g鐘舵
2銆佽В鍐抽棶棰
1銆佷嬌鐢╟eph-objectstore-tool宸ュ叿灝唅ncomplete鐘舵佺殑pg鏍囪頒負complete
2銆佹搷浣滄ラわ細
鎿嶄綔鍓嶆彁錛氳劇疆闆嗙兢flag:noout nodown noup noin PS錛氳繖閲岀殑鐩鐨勬槸涓轟簡涓嶈﹑g鍒嗗竷鍙樺寲錛屾垜鍥犱負osd閮借搗鏉ヤ簡錛屽彧璁劇疆浜唍oout nodown
絎涓姝ワ細閫氳繃鍛戒護ceph pg mp_stuck |grepincomplete >incomplete.txt 浠庨泦緹や腑瀵煎嚭incomplete鐘舵佺殑鎵鏈塸g
絎浜屾ワ細閫氳繃絎涓姝ョ煡閬撲簡pg鎵鍦ㄧ殑2涓猳sd鍦ㄥ摢閲岋紝stop榪2涓猳sd
絎涓夋ワ細瀵硅繖2涓猳sd涓婄殑pg閫氳繃鍛戒護鍋氭爣璁幫紝鍛戒護濡備笅
ceph-objectstore-tool --data-path /data4/ceph-osd/ --journal-path /var/log/ceph/ceph-15/journal --type filestore --pgid 9.ea8 --op mark-complete
ceph-objectstore-tool --data-path /data8/ceph-osd/ --journal-path /var/log/ceph/ceph-91/journal --type filestore --pgid 9.ea8 --op mark-complete
絎鍥涙ワ細鍚鍔ㄨ繖2涓猳sd(鍚鍔ㄩ『搴忔病鏈夊叧緋)
絎浜旀ワ細瑙傚療闆嗙兢涓璱ncomplete鏄鍚﹀皯浜
絎鍏姝ワ細閲嶅嶇浜屾ヤ互鍙婁箣鍚庣殑鎿嶄綔錛岀洿鍒癷ncomplete娌℃湁
3銆佺壒鍒璇存槑
3.1銆佹爣璁癱omplete鐨勮繃紼嬶紝鍙鑳界粰瀵艱嚧闆嗙兢degraded銆乵isplaced澧炲姞錛岃繖鏄姝e父鐨
3.2銆佸師鍥狅細鍥犱負鎴戝湪鏍囪扮殑榪囩▼涓錛岀己灝戜簡瀵煎叆瀵煎嚭pg姝ラゃ傛垜榪欓噷娌℃搷浣滃煎叆瀵煎嚭鏄鍥犱負pg鏁伴噺鏈夌偣澶氾紝鑰屼笖pg姣旇緝澶э紝瀵煎叆瀵煎嚭浼氳2涓猳sd鍋滃お涔呬簡錛岃屼笖鎴戣夊緱璁╅泦緹よ嚜宸辨仮澶嶆瘮杈冨ソ
3.3銆佸煎叆瀵煎嚭pg鍛戒護:
ceph-objectstore-tool --data-path /data3/ceph-osd/ --journal-path /var/log/ceph/ceph-2/journal --type filestore --pgid 4.15d5 --op export --file /data10/55/pg4.15d5
ceph-objectstore-tool --data-path /data8/ceph-osd/ --journal-path /var/log/ceph/ceph-5/journal --type filestore --pgid 4.15d5--op import --file /data10/55/pg4.15d5
閫夋嫨涓涓猳sd涓轟富錛屽彟涓涓涓哄壇錛屽皢涓涓瀵煎叆鍒板彟澶栦竴涓猵g錛屽煎叆瀵煎嚭闇瑕佸仠姝osd銆備互涓婃槸灝唎sd.2涓鐨4.15d5瀵煎叆鍒皁sd.5涓
1銆佸傛灉鑳介噸鍚瀵瑰簲pg鐨刼sd,閭f槸鏈濂界殑錛岄棶棰樿嚜鐒惰В鍐
2銆佸傛灉osd瀵瑰簲鐨勬暟鎹鐩樻崯姣佹垨鑰呭叾浠栧師鍥犳棤娉曞惎鍔ㄨ繖涓猳sd
絎涓姝ワ細灝嗚繖涓猳sd鍒犻櫎錛屽懡浠
ceph osd crush reweight osd.xx 0
ceph osd out osd.xx
ceph osd crush remove osd.xx
ceph osd rm osd.xx
ceph auth del osd.xx
絎浜屾ワ細娓呯悊褰撳墠osd鐨勭‖鐩樻垨鑰呮柊鍔犱竴涓紜鐩
絎涓夋ワ細鏂板惎鍔ㄤ竴涓緙栧彿鐩稿悓鐨刼sd
絎鍥涢儴錛氶噸澶嶄笂闈㈢殑鎿嶄綔錛屽勭悊鎺夋墍鏈夋湁闂棰樼殑osd錛屽傛灉榪樻湁down錛屾病浜嬶紝絳夐泦緹よ嚜宸辨仮澶嶅勭悊錛堟垜灝辨槸鍚鍔ㄤ簡涓涓鏂扮殑osd,鏈塸g澶勭悊incomlepte+down錛屾垜鏍囪板畬浜唅ncomlepte錛宒own灝辮嚜宸辨秷澶變簡錛
1銆佸師鍥
榪欎釜鐘舵佺殑PG娌℃湁琚 ceph-osd 鏇存柊錛岃〃鏄庡瓨鍌ㄨ繖涓 PG 鐨勬墍鏈夎妭鐐瑰彲鑳介兘 down 浜嗐傛嫢鏈 PG 鎷瘋礉鐨 OSD 鍙鑳戒細鍏ㄩ儴澶辮觸錛岃繖縐嶆儏鍐典笅錛岄偅涓閮ㄥ垎鐨勫硅薄瀛樺偍涓嶅彲鐢錛 monitor 涔熷氨涓嶄細鏀跺埌閭d簺 PG 鐨勭姸鎬佹洿鏂頒簡錛岃繖浜沺g灝辮鏍囪頒負stale
2銆佽В鍐蟲柟娉
絎涓縐嶏細osd down浜嗕箣鍚庤兘姝e父璧鋒潵錛岄偅鍙瑕佸惎鍔
絎浜岀嶏細
1.浣跨敤鍛戒護ceph pg mp |grep stale鎵懼嚭stale鐨刾g
2.浣跨敤鍛戒護ceph pg force_create_pg $pg_id,榪欐椂pg鐘舵佸彉涓篶reating
3.閲嶅惎闆嗙兢涓鎵鏈夌殑osd
3銆佺壒孌婅存槑
鎴戝綋鏃舵槸絎浜岀嶆儏鍐碉紝鐒跺悗鎴戞寜涓婇潰鐨勬ラゆ搷浣滀簡銆傜粨鏋滄墍鏈夌殑osd鍚鍔ㄩ兘鍗′富浜嗐傛垜鐚滄祴鍙鑳藉師鍥狅細褰撴椂鎴慺orce_create_pg鐨勬暟閲忔湁3000涓錛岃繖涓鏁伴噺鏈夌偣澶氾紝鎵浠osd灝卞ぇ閲忓崱浣忎簡錛屽緢涔呭緢涔呮墠鑳藉惎鍔錛屽彲鑳芥湁鍑犱釜灝忔椂銆傛墍浠ヨ繖涓鎿嶄綔瑕佹厧閲嶏紝寤鴻濡備笅
1銆佽繖涓猻tale鐨刾g鏈鍚庡勭悊
2銆佷竴嬈′笉瑕乫orce_create_pg澶澶氾紝osd閲嶅惎鏃訛紝涓涓閲嶅惎鎴愬姛涔嬪悗錛屽湪閲嶅惎鍙︿竴涓
榪欎釜姣旇緝綆鍗,鐩存帴鎵ц屽懡浠わ細ceph pg repair $pg_id 淇澶
璇存槑闆嗙兢涓璷sd鏈夐棶棰橈紝闇瑕佽В鍐硂sd闂棰橈紝鎴戝氨鏄鏈3涓猳sd闂棰橈紝鎴憃ut浜嗚繖3涓猳sd錛岃繖2涓鐘舵佸氨寰堝揩娑堝け浜
1銆侀棶棰樺彂鐜 錛歝eph -s 鎴栬卪on榪涚▼姝繪帀鐪嬪埌鏃ュ織
2銆佷駭鐢熷師鍥
浜х敓浜嗗ぇ閲忕殑epoch錛屽艱嚧mon鐨剆tore.db鐨勬暟鎹鏋侀熻啫鑳銆傝繖涓鏄鎴戦泦緹ゅ嚭鐜伴棶棰樹箣鍚庢墠鍑虹幇鐨勩傛垜涔嬪墠闆嗙兢姝e父鏃舵病鏈夎繖涓鐜拌薄銆備笉鐭ラ亾絳夐泦緹ゆe父涔嬪悗錛屼細涓嶄細鑷宸辨仮澶嶆e父銆
3銆佽В鍐蟲柟娉
絎涓縐嶏細瀵規暟鎹榪涜屽帇緙╋紝浣跨敤鍛戒護 ceph tell mon.ceph163 compact (ceph163鏄鎴憁on鐨勫悕縐) 銆
絎浜岀嶏細浣跨敤ceph-mon -i HOST --compact榪涜屽帇緙╁惎鍔 錛岃繖閲岀殑host鎴戜嬌鐢ㄧ殑鏄痗eph163錛屼富鏈哄悕縐
璇存槑錛氫笉綆′嬌鐢ㄥ摢涓縐嶏紝閮借佹敞鎰忎竴鐐癸細鎿嶄綔鍘嬬緝鏃訛紝紜鐩橀兘浼氬厛鎵╁ぇ鐒跺悗鍐嶇緝灝忕殑錛屾墍浠ヨ佺暀瓚崇┖闂淬傜浜岀嶇殑浼樺娍鍦ㄤ簬鍙浠ヤ嬌淇鏀筩eph.conf涓鐨勫弬鏁癿on_data=/data10/ceph153璺寰勭敓鏁堛傛垜鍚庢潵鐨刴on鏁版嵁澶澶т簡錛屾垜灝辨洿鏂拌礬寰勫埌浜嗘暟鎹鐩橈細鍙瑕佹妸瀵瑰簲鐨刴on鏁版嵁瀛樻暟鎹甿v鍒板叾浠栫洰褰曞嵆鍙
絎涓夌嶏細絳夐泦緹ゆe父浜嗭紝淇鏀筸on鐨勯厤緗鍙傛暟璇曡瘯錛堟湭楠岃瘉錛屽弬鏁板彲浠ヨ皟灝忎竴浜涳級
mon_min_osdmap_epochs=500
mon_max_pgmap_epochs=500
mon_max_mdsmap_epochs=500
4銆佺壒鍒娉ㄦ剰錛
榛樿ゅ綋mon鎵鍦ㄥ瓨鍌ㄥ簲紜鐩樺墿浣5%絀洪棽鏃訛紝mon榪涚▼浼氳嚜鏉銆
灝嗗瑰簲osd鑺傜偣璁劇疆涓簅ut鍗沖彲(osd榪涚▼渚濈劧瀛樺湪)錛屽畠浼氳嚜鍔ㄧЩ闄ゆ暟鎹騫舵妸瀵瑰簲鏁版嵁鐩樼殑鏁版嵁鍒犻櫎錛岀瓑鍒版暟鎹縐婚櫎瀹屾瘯錛屾e父鍏抽棴鍒犻櫎osd鍗沖彲
鍛戒護錛歝eph osd out osd.xx
褰撻渶瑕佽縼縐繪湇鍔″櫒錛岄渶瑕佸叧闂闆嗙兢鏃訛紝鍏堣劇疆ceph osd set nodown ceph osd set noup ceph osd set noout ceph osd set nobackfill ceph osd set norecover 淇濇寔闆嗙兢涓嶅彉錛岀劧鍚庡叧闂鍚勪釜osd,鍏抽棴mon,鍏抽棴rgw銆
ceph osd set norebalance
鈥斺旂佹㈤泦緹pg鍋氫粠鍧囪錛屽綋鍑虹幇闂棰樻椂錛屽彲浠ヨ劇疆錛岀敤浜庢帓鏌ラ棶棰
ceph osd set nobackfill
鈥斺旂佹淇澶嶆暟鎹 backfill錛屽綋鍑虹幇闂棰樻椂,鎴戜滑鏆傛椂涓嶆兂淇澶嶆暟鎹錛屽彲浠ヤ嬌鐢錛岄厤鍚坣obackfill 涓璧蜂嬌鐢
ceph osd set norecover
鈥斺旂佹淇澶嶆暟鎹 recover錛屽綋鍑虹幇闂棰樻椂,鎴戜滑鏆傛椂涓嶆兂淇澶嶆暟鎹錛屽彲浠ヤ嬌鐢錛岄厤鍚坣obackfill 涓璧蜂嬌鐢
ceph osd set nodown
鈥斺斿綋闆嗙兢鍑虹幇闂棰橈紝osd涓浼氬効up錛屼竴涓猟own鐨勬椂鍊欙紝鍙浠ヤ嬌鐢ㄨ繖涓鍛戒護錛岀佹osd down
ceph osd set noup
鈥斺斿綋闆嗙兢鍑虹幇闂棰橈紝osd涓浼氬効up錛屼竴涓猟own鐨勬椂鍊欙紝鍙浠ヤ嬌鐢ㄨ繖涓鍛戒護錛岀佹osd up
ceph osd set noout
鈥斺旂佹㈤泦緹や腑鐨刼sd鑷鍔ㄥ洜涓洪暱鏃墮棿down錛岃宱ut
ceph osd set nodeeep-scrub
鈥斺斾笉鍋氭繁搴﹀勭悊鍙栨秷浣跨敤瀵瑰簲鐨剈nset鍗沖彲錛屾瘮濡俢eph osd unset noout
ceph osd out osd.xx 璁劇疆鍗曚釜osd鐨勭姸鎬佷負out
ceph osd in osd.xx 璁劇疆鍗曚釜osd鐨勭姸鎬佷負in
ceph osd down osd.xx 璁劇疆鍗曚釜osd鐨勭姸鎬佷負down
ceph tell osd.xx injectargs --debug-osd 20 瀹炴椂淇鏀篔sd.xx鐨勬棩蹇楃駭鍒錛屼笉闇瑕侀噸鍚痮sd
ceph tell mon.xx injectargs --debug-mon 20 瀹炴椂淇鏀筸on鐨勬棩蹇楃駭鍒錛屼笉闇瑕侀噸鍚痬on
ceph tell osd.* injectargs --osd_recovery_sleep 1 鍗曚綅縐掞紝鍒氬紑濮嬭劇疆涓1錛屾曟湇鍔″櫒鏈夊帇鍔涳紝瑙傚療涔嬪悗鍙浠ュ幓鎺夎劇疆涓0
ceph tell osd.* injectargs --osd_max_backfills 1 璋冩暣鎮㈠嶇嚎紼嬫暟錛屽彲浠ユ牴鎹瀹為檯鎯呭喌璋冩暣
ceph tell osd.* injectargs --osd_recovery_op_priority 60 璋冩暣鎮㈠嶇嚎紼嬬殑綰у埆
ceph daemon osd.xx status 鏌ョ湅osd.xx鐨勭姸鎬侊紝涓昏佺湅osdmap鐗堟湰鍙
ceph pg mp 鏌ョ湅鎵鏈夌殑pg淇℃伅
ceph pg mp_stuck stale 鏌ョ湅pg鐘舵佷負stale鐨勬暟鎹
ceph pg mp_stuck inactive鏌ョ湅pg鐘舵佷負inactive鐨勬暟鎹
ceph pg mp_stuck unclean鏌ョ湅pg鐘舵佷負unclean鐨勬暟鎹
ceph -s 鏌ョ湅闆嗙兢鎯呭喌
ceph osd tree 鏌ョ湅osd鐘舵佹爲
ceph health detail 鏌ョ湅闆嗙兢鍋ュ悍璇︽儏
ceph pg pg_id query 鏌ョ湅鏌愪釜pg淇℃伅
ceph osd getmap -o osdmap.bin鏌ョ湅osdmap鍥
ceph-dencoder type OSDMap import osdmap_197 decode mp_json 灝唎sdmap瀵煎嚭鎴恓son鏍煎紡