Xử lý lỗi MGR_MODULE_ERROR trong Ceph

🧩 Tổng quan

Trong quá trình vận hành hệ thống lưu trữ phân tán Ceph, một trong những lỗi phổ biến mà quản trị viên có thể gặp phải là:

HEALTH_ERR Module 'cephadm' has failed: 'tên-node'
[ERR] MGR_MODULE_ERROR: Module 'cephadm' has failed: 'tên-node'

Đây là lỗi thuộc nhóm MGR_MODULE_ERROR, liên quan đến module quản lý (Manager Module), điển hình là cephadm.

Ví dụ.

shell> ceph status
  cluster:
    id:     75ac298c-0653-11f0-a2e7-2b96c52a296a
    health: HEALTH_ERR
            Module 'cephadm' has failed: 'CEPH-LAB-OSD-048'

  services:
    mon: 5 daemons, quorum CEPH-LAB-MON-012,CEPH-LAB-MON-011,CEPH-LAB-MON-013,CEPH-LAB-MON-014,CEPH-LAB-MON-015 (age 6h)
    mgr: CEPH-LAB-MON-014.pxtyfx(active, since 3w), standbys: CEPH-LAB-MON-013.ldejfr, CEPH-LAB-MON-012.sclkli, CEPH-LAB-MON-015.lxluwp, CEPH-LAB-MON-011.fxmrom
    osd: 958 osds: 958 up (since 17m), 958 in (since 20m)

  data:
    pools:   4 pools, 49153 pgs
    objects: 123.93M objects, 433 TiB
    usage:   849 TiB used, 824 TiB / 1.6 PiB avail
    pgs:     49149 active+clean
             4     active+clean+scrubbing+deep

  io:
    client:   2.9 GiB/s rd, 1.5 GiB/s wr, 87.68k op/s rd, 49.61k op/s wr

Hoặc chi tiết hơn.

shell> ceph health detail
HEALTH_ERR Module 'cephadm' has failed: 'CEPH-LAB-OSD-048'
[ERR] MGR_MODULE_ERROR: Module 'cephadm' has failed: 'CEPH-LAB-OSD-048'
    Module 'cephadm' has failed: 'CEPH-LAB-OSD-048'

Node này không tồn tại trong cluster, nó đã được gỡ trước đó.

ceph orch host ls | grep CEPH-LAB-OSD-048

Mặc dù lỗi này không ảnh hưởng trực tiếp đến dữ liệu, nhưng nó sẽ khiến trạng thái cluster chuyển sang HEALTH_ERR, gây ảnh hưởng đến giám sát, cảnh báo và vận hành.

📌 MGR_MODULE_ERROR là gì?

Đây là lỗi xuất phát từ một module trong Ceph Manager (thường là cephadm, dashboard, restful, v.v.) bị lỗi nội bộ hoặc không xử lý được một tác vụ.

Thông báo lỗi không luôn rõ ràng, ví dụ:

Module 'cephadm' has failed: 'CEPH-LAB-OSD-048'

Cho thấy module cephadm gặp sự cố liên quan đến node CEPH-LAB-OSD-048 — thường do:

  • Node đã bị remove nhưng chưa clean metadata
  • Cephadm không thể truy cập daemon còn sót
  • Cache lỗi trong MGR chưa được làm mới

🛠️ Cách xử lý lỗi chi tiết

Kiểm tra daemon còn tồn tại không

ceph orch ps | grep <tên-node>

→ Nếu không còn daemon nào, tức là đã remove host thành công, nhưng có thể còn metadata.

Xóa metadata liên quan trong config-key

ceph config-key ls | grep <tên-node>

Ví dụ:

mgr/cephadm/host.CEPH-LAB-OSD-048.devices.0

→ Xoá bằng:

ceph config-key rm mgr/cephadm/host.CEPH-LAB-OSD-048.devices.0

3. Restart daemon mgr đang active

ceph status

→ Xác định daemon active, ví dụ:

mgr: CEPH-LAB-MON-014.pxtyfx(active)

→ Restart:

ceph orch daemon restart mgr.CEPH-LAB-MON-014.pxtyfx

Failover sang MGR standby

Nếu lỗi vẫn còn:

ceph mgr fail

Ceph sẽ tự động chọn một MGR khác trong danh sách standby để thay thế.

Tắt/bật lại module cephadm (refresh trạng thái)

ceph mgr module disable cephadm
ceph mgr module enable cephadm

🔄 Minh hoạ luồng xử lý như sau:

[ Ceph MGR (active) ] -- cephadm --> [ host đã xoá ]
         |
         +--> lỗi MGR_MODULE_ERROR
         |
         +--> xử lý:
               |- Xoá config-key
               |- Restart MGR
               |- Failover MGR
               |- Disable/Enable cephadm

✅ Ưu điểm của hướng xử lý này

  • Không ảnh hưởng đến dữ liệu
  • Không cần dừng dịch vụ toàn cluster
  • Có thể xử lý trong khi hệ thống đang vận hành

⚠️ Nhược điểm

  • Lỗi không rõ ràng nếu không quen thao tác với ceph config-key
  • Cần hiểu rõ cơ chế mgr, cephadm, orchestrator

🔍 So sánh: HEALTH_WARN vs HEALTH_ERR

Trạng tháiMức độ ảnh hưởngXử lý
HEALTH_WARNNhẹCó thể trì hoãn
HEALTH_ERRNặngNên xử lý sớm

Lỗi MGR_MODULE_ERROR nằm ở mức HEALTH_ERR, nhưng không nguy hiểm cho dữ liệu — đây là điểm cần lưu ý rõ ràng.

💡 Lời khuyên khi gặp lỗi này

  • Không hoảng loạn — lỗi không ảnh hưởng dữ liệu
  • Ưu tiên xử lý khi rảnh hoặc trong lịch bảo trì
  • Sau khi fix xong, nên kiểm tra log mgr để đảm bảo không còn lỗi lặp
  • Nên chạy lệnh ceph health thường xuyên sau khi fix để đảm bảo trạng thái ổn định

🎯 Kết luận

Lỗi MGR_MODULE_ERROR thường gây phiền toái vì giữ trạng thái HEALTH_ERR, nhưng bản chất không gây nguy hiểm đến dữ liệu.

Việc xử lý đúng cách bằng cách kiểm tra daemon, xoá config rác, restart/failover MGR và làm mới module cephadm sẽ giúp bạn đưa cluster về trạng thái HEALTH_OK mà không ảnh hưởng vận hành.

👉 Đừng quên ghi lại các bước này vào SOP (Standard Operating Procedure) để lần sau xử lý nhanh hơn nhé!

Nếu bạn thấy bài viết hữu ích, hãy chia sẻ lại cho anh em DevOps/Infra khác đang làm việc với Ceph!

Bài viết gần đây

spot_img

Related Stories

Leave A Reply

Please enter your comment!
Please enter your name here

Đăng ký nhận thông tin bài viết qua email