Ceph OSD.419 故障分析

Ceph OSD.419 故障分析

1. 問題描述

在 Ceph 存儲集群中,OSD.419 無法正常啟動,系統日志顯示服務反復重啟失敗。

2. 初始狀態分析

觀察到 OSD.419 服務啟動失敗的系統狀態:

systemctl status ceph-osd@419
● ceph-osd@419.service - Ceph object storage daemon osd.419Loaded: loaded (/usr/lib/systemd/system/ceph-osd@.service; enabled-runtime; vendor preset: disabled)Active: failed (Result: start-limit) since Thu 2025-07-17 10:55:23 CST; 2s agoProcess: 1459996 ExecStart=/usr/bin/ceph-osd -f --cluster ${CLUSTER} --id %i --setuser ceph --setgroup ceph (code=exited, status=1/FAILURE)

這表明 OSD 進程啟動后立即失敗,退出狀態碼為 1。

3. 日志分析

查看 OSD.419 的詳細日志:

journalctl -u ceph-osd@419 -n 50

日志中發現關鍵錯誤信息:

2025-07-17 10:55:23.127 7f102fcbca80 -1 bluestore(/var/lib/ceph/osd/ceph-419/block) _read_bdev_label failed to read from /var/lib/ceph/osd/ceph-419
2025-07-17 10:55:23.127 7f102fcbca80 -1  ** ERROR: unable to open OSD superblock on /var/lib/ceph/osd/ceph-419: (2) No such file or directory

這表明 BlueStore 無法讀取塊設備上的標簽信息,導致 OSD 無法啟動。

4. 文件系統與設備鏈接檢查

檢查 OSD 數據目錄及其塊設備鏈接:

ls -la /var/lib/ceph/osd/ceph-419

輸出顯示目錄存在且包含必要文件:

total 28
drwxrwxrwt  2 ceph ceph  200 Jun 28 22:17 .
drwxr-x--- 63 ceph ceph 4096 Apr 15 19:50 ..
lrwxrwxrwx  1 ceph ceph   93 Jun 28 22:17 block -> /dev/ceph-51f28752-dd94-4636-ad49-4f94adeec1fb/osd-block-4e392de5-7359-44a9-b5d3-2e4ad333bd87
lrwxrwxrwx  1 ceph ceph   23 Jun 28 22:17 block.db -> /dev/vg_nvme1n1/lv_sdbc
-rw-------  1 ceph ceph   37 Jun 28 22:17 ceph_fsid
-rw-------  1 ceph ceph   37 Jun 28 22:17 fsid
-rw-------  1 ceph ceph   57 Jun 28 22:17 keyring
-rw-------  1 ceph ceph    6 Jun 28 22:17 ready
-rw-------  1 ceph ceph   10 Jun 28 22:17 type
-rw-------  1 ceph ceph    4 Jun 28 22:17 whoami

進一步追蹤塊設備鏈接:

ls -la /dev/ceph-51f28752-dd94-4636-ad49-4f94adeec1fb/osd-block-4e392de5-7359-44a9-b5d3-2e4ad333bd87

輸出顯示其指向 /dev/dm-77

lrwxrwxrwx 1 root root 8 Jul 17 10:02 /dev/ceph-51f28752-dd94-4636-ad49-4f94adeec1fb/osd-block-4e392de5-7359-44a9-b5d3-2e4ad333bd87 -> ../dm-77

5. 設備映射與 LVM 分析

檢查設備映射器信息:

dmsetup info /dev/dm-77

輸出表明這是一個活躍的 LVM 設備:

Name:              ceph--51f28752--dd94--4636--ad49--4f94adeec1fb-osd--block--4e392de5--7359--44a9--b5d3--2e4ad333bd87
State:             ACTIVE
Read Ahead:        256
Tables present:    LIVE
Open count:        0
Event number:      0
Major, minor:      253, 77
Number of targets: 1
UUID: LVM-D48Kd1xr9eXJxf8QOiu6d1PMQH3v50ElpO9ex3rKqF3wo9n21vF32ecPkt1Fl3Xs

通過 ceph-volume 工具確認 OSD 使用的物理設備:

ceph-volume lvm list | grep osd.419 -A 50

輸出確認 OSD.419 使用的是 /dev/sdbk 作為塊設備,/dev/vg_nvme1n1/lv_sdbc 作為數據庫設備:

===== osd.419 ======[block]       /dev/ceph-51f28752-dd94-4636-ad49-4f94adeec1fb/osd-block-4e392de5-7359-44a9-b5d3-2e4ad333bd87block device              /dev/ceph-51f28752-dd94-4636-ad49-4f94adeec1fb/osd-block-4e392de5-7359-44a9-b5d3-2e4ad333bd87block uuid                pO9ex3-rKqF-3wo9-n21v-F32e-cPkt-1Fl3Xscephx lockbox secret      cluster fsid              44599101-c099-4508-90de-5c748ea5b0f2cluster name              cephcrush device class        Nonedb device                 /dev/vg_nvme1n1/lv_sdbcdb uuid                   7Wengz-0w4M-DkOu-Uyff-FWE3-fW4f-5wiBAgencrypted                 0osd fsid                  4e392de5-7359-44a9-b5d3-2e4ad333bd87osd id                    419osdspec affinity          type                      blockvdo                       0devices                   /dev/sdbk[db]          /dev/vg_nvme1n1/lv_sdbc

6. 設備健康狀態檢查

系統日志中的 I/O 錯誤

檢查系統日志中的 I/O 錯誤:

dmesg | grep -i error | tail -20

發現多個與 dm-77sdbc 相關的 I/O 錯誤:

[1593796.275701] Buffer I/O error on dev dm-77, logical block 3906468848, async page read
[1593796.738615] Buffer I/O error on dev dm-77, logical block 3906468848, async page read
[1593797.475909] Buffer I/O error on dev dm-77, logical block 0, async page read
[1593798.084174] Buffer I/O error on dev dm-77, logical block 0, async page read
[1593798.576004] Buffer I/O error on dev dm-77, logical block 0, async page read

物理設備健康狀態

檢查底層物理設備 /dev/sdbk 的 SMART 信息:

smartctl -a /dev/sdbk

雖然整體狀態為 “PASSED”,但發現一些潛在問題指標:

  • Raw_Read_Error_Rate 值較高 (214634404)
  • Reallocated_Sector_Ct 顯示有 8 個扇區被重新分配
  • Command_Timeout 值非常高 (4295032833)

直接讀取測試

使用 dd 命令嘗試從設備讀取數據:

dd if=/dev/dm-77 of=/dev/null bs=4k count=1

結果確認存在 I/O 錯誤:

dd: error reading '/dev/dm-77': Input/output error
0+0 records in
0+0 records out
0 bytes (0 B) copied, 0.00196238 s, 0.0 kB/s

使用 BlueStore 工具檢查塊設備標簽:

ceph-bluestore-tool show-label --dev /dev/dm-77

結果同樣顯示 I/O 錯誤:

unable to read label for /dev/dm-77: (5) Input/output error
2025-07-17 11:00:23.188 7f6fc31efec0 -1 bluestore(/dev/dm-77) _read_bdev_label failed to read from /dev/dm-77: (5) Input/output error

檢查正常osd

# ls -lh /dev/ceph-1902944b-03e6-40f6-9e60-155c8eb0867a/osd-block-3a3bc0db-3cf6-40ef-948f-563e971bb455
lrwxrwxrwx 1 root root 8 Jun 29 12:35 /dev/ceph-1902944b-03e6-40f6-9e60-155c8eb0867a/osd-block-3a3bc0db-3cf6-40ef-948f-563e971bb455 -> ../dm-78
# dd if=/dev/dm-78 of=/dev/null bs=4k count=1
1+0 records in
1+0 records out
4096 bytes (4.1 kB) copied, 0.0122036 s, 336 kB/s
# ceph-bluestore-tool show-label --dev /dev/dm-78
{"/dev/dm-78": {"osd_uuid": "3a3bc0db-3cf6-40ef-948f-563e971bb455","size": 16000896466944,"btime": "2025-04-15 19:48:22.746107","description": "main","bluefs": "1","ceph_fsid": "44599101-c099-4508-90de-5c748ea5b0f2","kv_backend": "rocksdb","magic": "ceph osd volume v026","mkfs_done": "yes","osd_key": "AQB+R/5n9/t/HxAAmxcGbkW30GeHo+gMyYGLtA==","ready": "ready","require_osd_release": "14","whoami": "420"}
}

7. 故障結論

通過以上分析,可以得出以下結論:

  1. OSD.419 無法啟動是因為其塊設備 /dev/dm-77(對應物理設備 /dev/sdbk)存在嚴重的 I/O 錯誤
  2. 錯誤主要發生在邏輯塊 0 處,這是關鍵的超級塊位置,導致 BlueStore 無法讀取 OSD 的元數據
  3. 物理設備 /dev/sdbk 雖然 SMART 狀態為 “PASSED”,但有多個指標顯示潛在問題
  4. 多次直接讀取測試確認設備確實存在物理 I/O 錯誤

8. 解決方案

基于故障分析,建議采取以下解決措施:

短期解決方案

  1. 將 OSD 標記為 out,確保集群不會嘗試向它寫入數據:

    ceph osd out 419
    
  2. 嘗試修復 BlueStore(成功率較低):

    ceph-bluestore-tool repair --path /var/lib/ceph/osd/ceph-419
    
  3. 如果修復失敗,完全移除這個 OSD:

    ceph osd purge 419 --yes-i-really-mean-it
    

長期解決方案

  1. 更換物理硬盤 /dev/sdbk,該硬盤顯示有潛在問題

  2. 使用新硬盤創建新的 OSD:

    ceph-volume lvm create --data /dev/NEW_DISK --db /dev/vg_nvme1n1/lv_sdbc
    
  3. 定期檢查所有 OSD 的物理設備健康狀態,設置監控預警

9. 經驗總結

  1. 在 Ceph 集群中,OSD 故障通常可以追溯到底層物理設備問題
  2. 完整的故障分析應包括:服務狀態、日志分析、設備鏈接追蹤、物理設備健康檢查和直接 I/O 測試
  3. 即使 SMART 狀態顯示為 “PASSED”,也應關注各項指標的異常值
  4. 在處理 I/O 錯誤時,通常更換設備是最可靠的長期解決方案
  5. 維護良好的監控系統可以幫助提前發現潛在的硬件問題,避免服務中斷

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/89709.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/89709.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/89709.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

MySQL持久化原理及其常見問題

目錄 MySQL刷盤原理 臟頁和干凈頁 MySQL出現短暫的堵塞SQL現象 情況分析 應對措施 數據庫表中數據刪除原理 刪除表中數據數據庫空間大小不會改變 情況分析 應對措施 MySQL刷盤原理 一般主要分為兩個步驟 內存更新和 redo log 記錄是同一事務修改的兩個必要操作&#…

VSCode中Cline無法正確讀取終端的問題解決

出現的問題是:Cline 無法正確讀取終端輸出。 Shell Integration Unavailable Cline won’t be able to view the command’s output. Please update VSCode (CMD/CTRL Shift P → “Update”) and make sure you’re using a supported shell: zsh, bash, fish, o…

scalelsd 筆記 線段識別 本地部署 模型架構

ant-research/scalelsd | DeepWiki https://arxiv.org/html/2506.09369?_immersive_translate_auto_translate1 https://gitee.com/njsgcs/scalelsd https://github.com/ant-research/scalelsd https://huggingface.co/cherubicxn/scalelsd 模型鏈接: https…

Python, C ++開發個體戶/個人品牌打造APP

個體戶/個人品牌打造APP開發方案(Python C)一、技術選型與分工1. Python- 核心場景:后端API開發、數據處理、內容管理、第三方服務集成(如社交媒體分享、支付接口)。- 優勢:開發效率高,豐富的庫…

SQLAlchemy 常見問題筆記

文章目錄SQLAlchemy Session對象如何操作數據庫SQLAlchemy非序列化對象如何返回1.問題分析2.解決方案方法1:使用 Pydantic 響應模型(推薦)方法2:手動轉換為字典(簡單快速)方法3:使用 SQLAlchemy…

Shell腳本-uniq工具

一、前言在 Linux/Unix 系統中,uniq 是一個非常實用的文本處理命令,用于對重復的行進行統計、去重和篩選。它通常與 sort 搭配使用,以實現高效的文本數據清洗與統計分析。無論是做日志分析、訪問頻率統計,還是編寫自動化腳本&…

氛圍編碼(Vice Coding)的工具選擇方式

一、前言 在寫作過程中,我受益于若干優秀的博客分享,它們給予我寶貴的啟發: 《5分鐘選對AI編輯器,每天節省2小時開發時間讓你早下班!》:https://mp.weixin.qq.com/s/f0Zm3uPTcNz30oxKwf1OQQ 二、AI編輯的…

[硬件電路-57]:根據電子元器件的受控程度,可以把電子元器件分為:不受控、半受控、完全受控三種大類

根據電子元器件的受控程度,可將其分為不受控、半受控、完全受控三大類。這種分類基于元器件的工作狀態是否需要外部信號(如電壓、電流、光、熱等)的主動調控,以及調控的精確性和靈活性。以下是具體分類及實例說明:一、…

基于Pytorch的人臉識別程序

人臉識別原理詳解人臉識別是模式識別和計算機視覺領域的重要研究方向,其目標是從圖像或視頻中識別出特定個體的身份。現代人臉識別技術主要基于深度學習方法,特別是卷積神經網絡 (CNN),下面從多個維度詳細解析其原理:1. 人臉識別的…

ubuntu 開啟ssh踩坑之旅

文章目錄確認當前用戶為普通用戶 or root命令使用ssh還是sshd服務名稱的由來apt update和apt upgrade的關系apt upgrade報錯:“E: 您在 /var/cache/apt/archives/ 上沒有足夠的可用空間”開啟ssh步驟錯誤排查查看日志修改sshd_config文件允許防火墻通過22端口確認當…

力扣:動態規劃java

sub07 線性DP - O(1) 狀態轉移2_嗶哩嗶哩_bilibili 跳樓梯 class Solution {public int climbStairs(int n) {if (n < 1) {return 1; // 處理邊界情況}int[] dp new int[n 1]; // 創建長度為n1的數組&#xff0c;比方說跳二級樓梯dp[0] 1; // 初始值設定dp[1] 1;for (…

React Native打開相冊選擇圖片或拍照 -- react-native-image-picker

官方文檔&#xff1a;https://www.npmjs.com/package/react-native-image-picker 場景&#xff1a;點擊按鈕打開相冊選擇圖片或者點擊按鈕拍照 import { launchCamera, launchImageLibrary } from react-native-image-picker;// ... <TouchableOpacityactiveOpacity{0.7}o…

USRP B210生成信號最大帶寬測試之Frank

書接上文&#xff1a; USRP B210生成LFM,SFM,BPSK,Frank信號的最大帶寬測試&#xff08;一&#xff09; USRP B210生成信號最大帶寬測試&#xff08;二&#xff09;SFM USRP B210生成信號最大帶寬測試&#xff08;三&#xff09;LFM USRP B210生成信號最大帶寬測試之BPSK …

pages.json頁面路由中,globalStyle的各個屬性

歡迎來到我的UniApp技術專欄&#xff01;&#x1f389; 在這里&#xff0c;我將與大家分享關于UniApp開發的實用技巧、最佳實踐和項目經驗。 專欄特色&#xff1a; &#x1f4f1; 跨平臺開發一站式解決方案 &#x1f680; 從入門到精通的完整學習路徑 &#x1f4a1; 實戰項目經…

[前端技術基礎]CSS選擇器沖突解決方法-由DeepSeek產生

在 CSS 中&#xff0c;當多個選擇器對同一元素的相同屬性&#xff08;如顏色&#xff09;定義發生沖突時&#xff0c;瀏覽器會通過層疊規則&#xff08;Cascading&#xff09;解決沖突。具體優先級從高到低如下&#xff1a;1. !important 規則&#xff08;最高優先級&#xff0…

解決 IDEA 中 XML 文件的 “URI is not registered” 報錯

解決 IDEA 中 XML 文件的 “URI is not registered” 報錯 在使用 IDEA 開發時&#xff0c;XML 文件&#xff08;尤其是帶有 DTD 約束的配置文件&#xff0c;如 MyBatis、Spring 配置文件&#xff09;常出現 URI is not registered (Settings | Languages & Frameworks | S…

FreeBSD Conda Python3.12下安裝GPT4Free(g4f)0.5.7.3版本

FreeBSD下不能直接安裝g4f&#xff0c;因為Curl_cffi這個庫裝不上。0.5.0.3這個版本不需要這個庫&#xff0c;所以可以安裝。 那么就沒有辦法安裝新版本了嗎&#xff1f; 有的&#xff0c;就是在linux仿真環境下。 Linux仿真環境安裝g4f 最簡單的方法是使用chroot進入linux仿…

Node.js 中基于請求 ID 實現簡單隊列(即時阻止策略/排隊等待策略)

在Node.js 中基于請求 ID 實現簡單隊列 下面示例演示兩種策略&#xff0c;以同一個請求 ID 為單位&#xff1a; 即時阻止策略&#xff1a;如果已有相同 ID 的請求在處理&#xff0c;直接報錯并返回。 排隊等待策略&#xff1a;后續相同 ID 的請求不報錯&#xff0c;而是掛起&…

詳解如何解決Mysql主從復制延遲

解決 MySQL 主從復制延遲需要從架構設計、參數調優、硬件優化等多維度綜合處理。一、根本原因分析主從延遲的本質是&#xff1a;從庫的 SQL 線程重放速度 < 主庫的寫入速度 常見瓶頸點&#xff1a;單線程回放&#xff08;MySQL 5.6 前&#xff09;從庫硬件配置低&…

Spring之事務使用指南

Spring之事務使用指南一、事務的基礎概念1.1 什么是事務&#xff1f;1.2 事務的ACID特性1.3 Spring事務的核心優勢二、Spring事務的核心配置三、事務傳播行為&#xff08;Propagation&#xff09;3.1 常用傳播行為詳解3.1.1 REQUIRED&#xff08;默認值&#xff09;3.1.2 SUPPO…