【轉】Ceph 磁碟損壞現象和解決方法

2021-02-07 存儲介質知識

原文地址:https://www.jianshu.com/p/232168a9821c

簡書上看到這個案例,確切說,只是一個確定盤位,更換盤的過程。

文章內容對於HDD 損壞分析是沒有的,故障日誌分析的乾貨也是沒有的。

為什麼要轉發呢?

進入網際網路同學的思維習慣,理解一下 Open Source(Ceph) 存儲下的維護場景,說大一點,這個世界觀和專業存儲SAN設備有很大不同。網際網路,SDS的世界都基本上在用戶態,SCSI中層Error handle 信息都沒有,對標準內核這部分處理,應該也沒有任何改進。僅僅處理壞盤,換盤。 

其實也對,盤壞了,就換唄。又不是專業存儲容錯設計,上層業務(多副本)不中斷就是工作目標的全部。只是,剩下的壞盤拿到廠家,問題分析,估計難以「下口「!

看看。學習一下作者的實踐。理解一下場景。

----

原文如下:

Damaged disks

對於存儲系統,磁碟是消耗品,損壞是很常見的,所以這篇文章記錄一下 Ceph 中出現磁碟損壞時的現象,以及如何定位和更換損壞的磁碟。

1. 磁碟損壞1.1 現象

工作環境中出現問題的 Ceph 的數據是雙備份的,OSD 35 所在的磁碟出現了壞道,表現出來的現象是 ceph 經常會報出存儲在 OSD 35 上的 pg 數據不一致,以及報出 scrub error,以下是 ceph health detail 命令輸出新相關信息。

$ ceph health detail.OSD_SCRUB_ERRORS 31 scrub errorsPG_DAMAGED Possible data damage: 5 pgs inconsistent    pg 41.33 is active+clean+inconsistent, acting [35,33]    pg 41.42 is active+clean+inconsistent, acting [29,35]    pg 51.24 is active+clean+inconsistent, acting [35,43]    pg 51.77 is active+clean+inconsistent, acting [28,35]    pg 51.7b is active+clean+inconsistent, acting [35,46].

1.2 數據狀態

因為數據只有雙備份,ceph 無法確定哪個備份中的數據是可用的,所以此時雖然顯示 pg 狀態是 active+clean,但有問題的數據其實是不可用的。

1.3 臨時解決方法

作為臨時的解決方案,可以執行 ceph pg repair 解決,此時由於磁碟壞道造成不可讀的數據會拷貝到其他位置。但這不能從根本上解決問題,磁碟損壞會持續報出類似的錯誤。

$ ceph pg repair 41.33$ ceph pg repair 41.42$ ceph pg repair 51.24$ ceph pg repair 51.77$ ceph pg repair 51.7b

2. 定位並檢查故障磁碟

知道 OSD 35 有問題,但我們現在還不知道對應的是具體哪塊磁碟。我們可以登錄到對應到 OSD 伺服器上查看 OSD 35 的目錄名稱,並查看 PVS 的對應關係來解決。

$ ceph osd treeID CLASS WEIGHT    TYPE NAME      STATUS REWEIGHT PRI-AFF -1       127.09767 root default                           -5       127.09767     host osd7                          .33   hdd   5.52599         osd.35     up  1.00000 1.00000 .

通過這個命令,我們可以知道 OSD.35 是位於 OSD7 這臺伺服器上。接下來,我們登錄到 OSD7 上,並切換為 root 權限。

$ ssh osd7$ sudo -i

然後進入到 OSD.35 的目錄裡。

再來查看 PVS 信息。

.  PV         VG                                        Fmt  Attr PSize   PFree Used    /dev/sda5  ubuntu-vg                                 lvm2 a--  446.65g    0  446.65g  /dev/sdc   ceph-320de131-5f26-48a7-aa64-c7f08f87cd85 lvm2 a--    5.46t    0    5.46t  .

好,現在我們終於知道,/dev/sdc 就是 OSD.35

3. 獲取磁碟錯誤信息

我們已經知道是哪個磁碟出錯,接下來就要向磁碟的提供商報修,或者聯繫購買新磁碟了。如果是報修,對方必然要求提供磁碟出錯信息,接下來咱們就看一下如何拿到這些信息,這裡我們要用到的命令好工具是 SMART monitor tool,Debian 系的系統可以通過 APT 安裝:

$ sudo apt install -y smartmontools

RedHat 系的系統用 yum 安裝:

$ sudo yum install -y smartmontools

安裝完成後用如下命令獲取輸出信息即可,這裡需要注意一下輸出中序列號這項信息,這次磁碟的唯一標識,後面會用到:Serial Number: 57J6KA41F6CD

$ sudo smartctl -a /dev/sdcsmartctl 6.5 2016-01-24 r4214 [x86_64-linux-4.4.0-121-generic] (local build)Copyright (C) 2002-16, Bruce Allen, Christian Franke, www.smartmontools.org=== START OF INFORMATION SECTION ===Device Model:     TOSHIBA MG04ACA600ESerial Number:    57J6KA41F6CDLU WWN Device Id: 5 000039 7cb9822beFirmware Version: FS1KUser Capacity:    6,001,175,126,016 bytes [6.00 TB]Sector Sizes:     512 bytes logical, 4096 bytes physicalRotation Rate:    7200 rpmForm Factor:      3.5 inchesDevice is:        Not in smartctl database [for details use: -P showall]ATA Version is:   ATA8-ACS (minor revision not indicated)SATA Version is:  SATA 3.0, 6.0 Gb/s (current: 6.0 Gb/s)Local Time is:    Tue Aug  7 14:46:45 2018 CSTSMART support is: Available - device has SMART capability.SMART support is: Enabled...

4. 點亮硬碟指示燈

最後,存儲廠商同意保修,或者購買新硬碟進行更換,都需要知道磁碟具體插在哪個 PCIe 口上。雖然我們已經知道是哪個設備了,本例中是 /dev/sdc,但這依舊不夠直觀,如果能讓壞掉的硬碟的指示燈亮起,那麼就非常方便維修人員查找和更換了。這就需要用到 SAS-x integrated RAID configuration utility 了。

該文件沒有提供 APT 和 YUM 源的下載方式,只能從網上找到 RPM 或可執行文件,以下連結是該文件的百度雲盤地址:
sas3ircu

下載好後,先執行 display 命令,查找全部磁碟信息。

$ sudo ./sas3ircu 0 display.Device is a Hard disk  Enclosure  Slot  SAS Address                             : 5003048-0-1867-f140  State                                   : Ready (RDY)  Size (in MB)/(in sectors)               : 5723166/11721045167  Manufacturer                            : ATA      Model Number                            : TOSHIBA MG04ACA6  Firmware Revision                       : FS1K  Serial No                               : 57J6KA41F6CD  Unit Serial No(VPD)                     : 57J6KA41F6CD  GUID                                    : 50000397cb9822be  Protocol                                : SATA  Drive Type                              : SATA_HDD.

從輸出結果來看,Serial No : 57J6KA41F6CD,和之前 smartctl 查詢到的結果一致,那麼我們就知道這次磁碟的位置是

 Enclosure  Slot

接下來執行下面的命令點亮對應硬碟的指示燈:

sudo ./sas3ircu 0 locate 2:0 on

另外更換完畢後,自然還要執行該命令關掉指示燈:

sudo ./sas3ircu 0 locate 2:0 off

原文學習結束-

是的,開源存儲系統沒有設計深入分析硬碟損壞過程的日誌系統。就是換盤唄!但,還是希望未來做分布式存儲的廠家專業起來,加入SAN存儲的經驗和積累。

內核SCSI日誌收集,復位容錯應該加入分布式存儲,SDS存儲。畢竟對於HDD,shit happenis !

另外,Ceph的設計要深入學習學習,一個分布式集群為重投入的存儲設計,底層打磨雖然不好,但它是PB級廉價私有雲的首選建設start point。遊戲,金融,電信的私有雲團隊都在用它。

相關焦點

  • Win10給出修複方法:解決SSD磁碟文件損壞和無法啟動問題
    雖然這些更新帶來了常見的bug修復和安全改進,但是用戶開始報告的一個由chkdsk磁碟錯誤檢查引發的問題。該問題被指由KB4592438帶來,波及的系統包括Win10 v2004和20H2,現象是文件系統損壞,進而無法進入系統或者藍屏等。就用戶反饋來說,安裝了SSD的PC高頻中招,且通過虛擬機的方式也能復現。
  • SSD磁碟文件損壞和無法啟動問題Win10給出修複方法
    雖然這些更新帶來了常見的bug修復和安全改進,但是用戶開始報告的一個由chkdsk磁碟錯誤檢查引發的問題。該問題被指由KB4592438帶來,波及的系統包括Win10 v2004和20H2,現象是文件系統損壞,進而無法進入系統或者藍屏等。就用戶反饋來說,安裝了SSD的PC高頻中招,且通過虛擬機的方式也能復現。
  • Ceph殺手鐧CRUSH和主流分布式存儲一致性哈希算法
    @OpenStack ~]# ceph osd pool get test-pool size //查詢pool的副本數size: 3Object:不論是塊存儲、對象存儲還是文件存儲,最終都是以Object形態存儲在磁碟上。
  • 紅帽的 ​Ceph 和 Inktank 代碼庫遭到黑客攻擊
    紅帽公司聲稱,Ceph 社區項目和 Inktank 下載網站上周遭到黑客攻擊,一些代碼可能受到了損壞。上周紅帽遭到了一次非常令其不快的意外事件。
  • 汽車傳感器損壞之後的故障現象及解決方法
    傳感器壞了之後,會導致什麼故障現象呢?以下分別介紹:進氣壓力溫度傳感器損壞現象,水溫傳感器損壞現象,機油壓力傳感器損壞現象,OBD插座端子接觸不良現象等。 1、進氣壓力溫度傳感器損壞現象: ①ON檔,發動機故障燈常亮;②原地緩踩油門時冒少量黑煙,急加速冒大量黑煙;③發動機沒勁;④故障碼:P01D6(進氣壓力傳感器電壓低於下限)原因分析:進氣壓力信號異常,ECU無法接收到正確的進氣量信息,導致噴油量也隨之異常,則燃燒不充分,發動機沒勁,在加油過程中冒黑煙。線束連接出問題和傳感器失效都會導致該故障。
  • 硬碟,提示分區損壞怎麼辦,學會這招解決電腦硬碟分區損壞問題
    一些用戶可能會遇到自己動手給硬碟分區時候出現了磁碟磁軌損壞的情況。怎麼解決這個問題呢?總所周知硬碟分區表是支持硬碟正常運行的框架,倘若硬碟分區表損壞,則表明硬碟無法正常完成工作。目前要怎麼維修?跟隨系統總裁小編一起看一看。
  • 記一次ceph osd出現no reply的問題排查
    由於網絡和防火牆都沒有問題,懷疑是否osd問題,所以需要查看ceph osd 代碼,了解具體的心跳機制,才能繼續排查問題。函數來處理髮送和接收message。從ceph L版本的修復上看,還存在另一個問題會導致async連接失敗,由於該bug修復在12.2.13版本上,所以升級到12.2.13解決該問題,同時也解決當前版本其他存在的問題2.3 解決方法2.3.1 徹底解決方法由於該問題是L版12.2.11之前存在的bug,在12.2.13版本後才解決該bug,需要對集群進行升級版本來徹底解決該bug,同時12.2.13相對於12.2.11
  • 第6期《精準矯治設計方法培訓班》- E-ceph頭影測量軟體助力美學...
    2020年12月12日至13日,侯志明教授的第6期《中國醫科大學正畸美學診斷及精準矯治設計方法培訓班》在瀋陽成功舉辦。2天的學習,讓大家理解了的正畸美學的整體與局部三維美學的最高標準,理解了美學頭影測量的合理性,也掌握了美學診斷在不同要求患者的溝通中的方法及重要作用。
  • 紅帽1.75 億美元收購 Ceph 提供商 Inktank
    美國東部時間4月30號,早上8:00官網消息,Redhat以1.75億美元收購 inktank公司,inktank的主要產品是軟體定義存儲ceph解決方案。
  • 原來基本磁碟和動態磁碟是這個意思
    不知道到大家有沒有注意過win10作業系統的磁碟類型。也許我們普遍認為是C、D、E、F盤,其實並不是簡單的盤符這麼簡單。在win10系統中,磁碟分為基本磁碟和動態磁碟。默認情況下,用戶使用的都是基本磁碟。
  • 伺服器RAID 5故障問題解決方法詳解
    【IT168 技術】由於技術的不斷進步,不同型號的伺服器出現RAID 5故障後,處理方法也不同。基於對伺服器安全性與可靠性的考慮,通常會對伺服器的磁碟採用磁碟陣列RAID(Redundant Array of Inexpensive Disk)進行磁碟冗餘備份。
  • 如何修復損壞的JPEG或JPG文件
    當然,使用此方法的前提是用戶有足夠的先見之明備份照片,或是將原始文件完好地保存在磁碟或SD卡上。此外,照片損壞的原因也很重要,是將照片從SD卡或磁碟傳輸到計算機的過程中出了錯,還是設備上的照片損壞,可能影響此方法的最終效果。
  • 電腦cpu風扇不轉的原因及解決方法
    摘要:在電腦故障中有時候會遇到電腦電源風扇不轉的情況,其實通過電源風扇不轉也是判斷電腦故障原因的很重要的一個參考點,對於電腦電源風扇不轉的電腦故障,解決起來也比較簡單,主要是判斷是電源故障還是電腦其它硬體損壞。
  • 分布式存儲ceph 對象存儲配置zone同步
    -1:7480 --default --master  4、創建一個system帳戶用於和huadong zone同步  radosgw-admin user create --uid="sync-user" --display-name="sync user" --system  5、用創建system帳戶產生的access 和secret更新zone配置
  • 電腦內存條鬆動後故障現象及解決方法
    致電腦愛好者:電腦內存條鬆動導致的故障現象及解決方法你遇到過這些問題嗎?前段時間回老家,跟好幾個哥們一個喝酒,有朋友就對我說抽時間去他家幫忙看看電腦,說電腦啟動不了了!第二天到朋友家一看果然如此,開機後風扇照樣轉就是不進系統!當即卸開電腦後蓋,重新插了一下內存條!隨之重啟,搞定!
  • Linux磁碟檢測工具smartctl的使用和分析
    1 編寫目的本文引用地址:http://www.eepw.com.cn/article/201610/305661.htm在如今大數據的環境中,磁碟的性能和穩定性是非常重要的一個業務因素。在Linux系統中,smartctl是較為常用的磁碟檢測工具。
  • 如何實現虛擬化在磁碟空間方面的擴容?
    本文雖然取場景於VMware的伺服器虛擬化,但其方法同樣可被借鑑在在其他如微軟HYPER-V的伺服器虛擬化中。系統盤磁碟擴容  系統盤擴充與非系統擴充在作業系統配置方面沒有差別,方法請參考以上。  不同之處在於:在伺服器開機狀態下是無法動態的擴展磁碟的,需要將伺服器關機,將系統磁碟掛載到其他伺服器中,然後再進行擴展。
  • 磁碟陣列是什麼東西,為什麼需要陣列?
    首先要明確磁碟陣列只適用於多塊硬碟,單硬碟是無法組成陣列的,而當擁有多塊硬碟時,在正常情況下每個磁碟相互獨立,互不幹涉,磁碟的利用率得不到完全發揮,往往只有一塊硬碟在持續工作,「一盤有難,八盤圍觀」的盛況屢屢出現在各個電腦裡,以上情況簡稱為JBOD模式,即各個磁碟相互獨立。
  • 關於PSD 損壞的急救方案
    現在的圖片都是高清大圖,所以psd的文件就會很大,在編輯的過程中經常會出現問題,遇到問題整體解決思路如下:(下文基本整合了四種常見情況,可對應處理)第一種情況,PS正在工作,突然斷電,解決辦法:1. 開機安裝電腦管家---打開電腦管家 ---文檔—文件修復工具 ----恢復被刪除的文件—選擇路徑保存即可.
  • 磁碟陣列是什麼 磁碟陣列詳細介紹【圖文詳解】
    而磁碟陣列它其實就是一種由多個磁碟組合而成的一個擁有著巨大容量的磁碟組。對於磁碟陣列它的具體的情況如何?在下面小編就將為用戶做詳細介紹。   一、磁碟陣列的概念  磁碟陣列是由很多價格較便宜的磁碟,組合成一個容量巨大的磁碟組,利用個別磁碟提供數據所產生加成效果提升整個磁碟系統效能。