Xử lý “Stray Daemon Not Managed by cephadm” trong Ceph Cluster

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ểmMô tả
Tránh cảnh báo HEALTH_WARNCluster đạt trạng thái “HEALTH_OK”
Đảm bảo quản trị tập trungMọi daemon được cephadm giám sát
Tránh lỗi tiềm ẩnKhô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 roGiải pháp
Lỡ xóa daemon đang dùngKiểm tra quorum & trạng thái trước khi xoá
Gây downtime nếu thao tác saiCầ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 daemonLegacy 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 qua systemd hay ceph -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:

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.

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