Tổng quan
Trong quá trình vận hành và quản trị Ceph Cluster sử dụng cephadm
, có thể bạn sẽ gặp cảnh báo “HEALTH_WARN: stray daemon(s) not managed by cephadm” khi thực hiện lệnh ceph -s
hoặc ceph health detail
.
Bài viết này sẽ chia sẻ chi tiết cách phân tích nguyên nhân, xử lý triệt để lỗi và những lưu ý quan trọng trong quá trình quản trị daemon trong môi trường Ceph được quản lý bởi cephadm
.
Tình huống thực tế
Bạn kiểm tra trạng thái cluster bằng lệnh:
ceph -s
Kết quả trả về:
health: HEALTH_WARN
3 stray daemon(s) not managed by cephadm
Chi tiết hơn với:
ceph health detail
Kết quả:
[WRN] CEPHADM_STRAY_DAEMON: 3 stray daemon(s) not managed by cephadm
stray daemon mon.CEPH-LAB-OSD-075 on host CEPH-LAB-MON-072 not managed by cephadm
stray daemon mon.CEPH-LAB-OSD-078 on host CEPH-LAB-MON-072 not managed by cephadm
stray daemon mon.CEPH-LAB-OSD-075 on host CEPH-LAB-MON-073 not managed by cephadm
Giải thích:
“Stray daemon” là daemon Ceph (ví dụ: MON, MGR, OSD, RGW, …) không được quản lý bởi cephadm, mà tồn tại dưới dạng legacy hoặc khởi động trực tiếp từ hệ thống. Điều này khiến cho hệ thống không thể kiểm soát hoàn toàn các tiến trình daemon, gây cảnh báo.
Sơ đồ mô tả:
+------------------+ +-------------------+
| Ceph Cluster | <---> | cephadm Controller|
+------------------+ +-------------------+
| |
| |
| +-------------+------------+
| | Legacy daemon không được|
| | cephadm kiểm soát |
| +-------------------------+
v
[HEALTH_WARN] CEPHADM_STRAY_DAEMON
Cách xử lý chi tiết
Bước 1: Xác định các daemon lạc (stray)
Lệnh:
ceph health detail
Kết quả sẽ hiển thị danh sách các daemon không được cephadm quản lý.
Bước 2: Kiểm tra danh sách host
ceph orch host ls
Ví dụ kết quả:
HOST ADDR LABELS STATUS
CEPH-LAB-MON-071 10.237.7.71 _admin,mon,mgr,osd
CEPH-LAB-MON-072 10.237.7.72 _admin,mon,mgr,osd
...
Nếu các daemon xuất hiện trên node không đúng label (hoặc không thuộc danh sách orch host
), bạn cần cập nhật.
Bước 3: Gán nhãn chính xác cho host
ceph orch host label add CEPH-LAB-MON-072 _admin
ceph orch host label add CEPH-LAB-MON-072 mon
ceph orch host label add CEPH-LAB-MON-072 mgr
ceph orch host label add CEPH-LAB-MON-072 osd
Bước 4: Xóa các daemon không mong muốn
ceph orch daemon rm mon.CEPH-LAB-OSD-075 --force
ceph orch daemon rm mon.CEPH-LAB-OSD-078 --force
Lưu ý: Bạn phải chắc chắn các daemon này không còn trong quorum hoặc không phải active.
Bước 5: Khởi động lại MGR nếu cần
ceph mgr dump | grep active_name
ceph orch daemon restart mgr.CEPH-LAB-MON-071.lyxipt
Ưu điểm của việc xử lý stray daemon
Ưu điểm | Mô tả |
---|---|
Tránh cảnh báo HEALTH_WARN | Cluster đạt trạng thái “HEALTH_OK” |
Đảm bảo quản trị tập trung | Mọi daemon được cephadm giám sát |
Tránh lỗi tiềm ẩn | Không gây xung đột hoặc lỗi khi upgrade |
Nhược điểm (hoặc lưu ý)
Nhược điểm / Rủi ro | Giải pháp |
---|---|
Lỡ xóa daemon đang dùng | Kiểm tra quorum & trạng thái trước khi xoá |
Gây downtime nếu thao tác sai | Cần lên kế hoạch trước, snapshot nếu cần |
So sánh: daemon do cephadm quản lý vs legacy daemon
Tiêu chí | cephadm daemon | Legacy daemon |
---|---|---|
Quản lý tập trung | ✔ | ✘ |
Theo dõi trạng thái | ✔ | ✘ (manual) |
Upgrade/rollback | ✔ | ✘ (phải tự làm tay) |
Gây lỗi stray | ✘ | ✔ |
Lời khuyên
- Chỉ sử dụng
cephadm
để quản lý cluster, tránh khởi chạy daemon thủ công quasystemd
hayceph -i
. - Trước khi xóa daemon, hãy dùng:
ceph mon stat ceph mgr stat ceph osd tree
để kiểm tra vai trò hiện tại của daemon đó. - Nên dùng lệnh
ceph orch ps
để theo dõi daemon đang chạy và xác định rõ loại nào là stray. - Tài liệu tham khảo:
- Ceph Documentation – cephadm
- Lệnh
ceph orch
CLI guide.
Kết luận
Cảnh báo “stray daemon not managed by cephadm” tuy không gây lỗi nghiêm trọng ngay lập tức nhưng là dấu hiệu hệ thống bị lệch khỏi mô hình quản lý chuẩn. Việc chủ động phát hiện và xử lý giúp cluster ổn định, an toàn và dễ bảo trì về sau.
Nếu bạn quản lý Ceph cluster sản xuất, hãy giữ cho mọi daemon đều nằm trong quyền kiểm soát của cephadm – đó là chìa khóa để đảm bảo hệ thống luôn đạt trạng thái HEALTH_OK!
Bạn có thể cập nhật hệ thống tự động giám sát các daemon, hoặc tích hợp cảnh báo trong Prometheus + Alertmanager để theo dõi sự kiện “stray daemon” trong tương lai.