🧩 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ái | Mức độ ảnh hưởng | Xử lý |
---|---|---|
HEALTH_WARN | Nhẹ | Có thể trì hoãn |
HEALTH_ERR | Nặng | Nê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!