🔍 1. Tổng quan
Khi quản trị một cluster Ceph lớn với hàng chục đến hàng trăm node, việc quản lý và gỡ bỏ các node không còn sử dụng là một công việc thường xuyên. Trong quá trình này, rất nhiều người – bao gồm cả chính tôi trước đây – đã hiểu lầm rằng việc xóa một node bằng lệnh ceph orch host rm <hostname>
là đã xong việc.
Tuy nhiên, khi kiểm tra lại bằng lệnh ceph osd tree
, thì thấy hostname đó vẫn còn nằm trong cây CRUSH, gây thắc mắc và khiến quá trình vận hành bị rối loạn.
Vậy thì hai lệnh này thực chất làm gì, khác nhau ra sao và cách gỡ bỏ đúng chuẩn là như thế nào? Bài viết này chia sẻ chi tiết từ kinh nghiệm thực tế để bạn tránh lặp lại sai lầm.
🔧 2. Giới thiệu hai lệnh quan trọng
✅ ceph orch host rm <hostname>
- Chức năng: Xóa host khỏi Ceph Orchestrator (cụ thể là
cephadm
). - Phạm vi: Dừng quản lý node đó, không còn trong danh sách
ceph orch host ls
. - Tác dụng:
- Gỡ bỏ host khỏi inventory.
- Không xóa OSD hay không xóa khỏi CRUSH map.
- Dữ liệu liên quan đến OSD, CRUSH vẫn tồn tại nếu không xử lý tiếp.
✅ ceph osd crush rm <hostname>
- Chức năng: Gỡ hostname ra khỏi CRUSH map – nơi phân phối dữ liệu trong cluster Ceph.
- Phạm vi: Ảnh hưởng đến cách Ceph đặt dữ liệu.
- Tác dụng:
- Xóa node khỏi
ceph osd tree
. - Chỉ nên dùng sau khi OSD đã bị xóa hoàn toàn.
- Xóa node khỏi
📊 3. So sánh chi tiết
Thuộc tính | ceph orch host rm | ceph osd crush rm |
---|---|---|
Thuộc hệ thống quản lý | Ceph Orchestrator (cephadm ) | CRUSH map (phân phối dữ liệu) |
Tác dụng chính | Gỡ host khỏi orchestrator inventory | Gỡ node khỏi CRUSH tree (osd tree ) |
Xóa OSD không? | ❌ Không | ❌ Không (phải xóa OSD thủ công trước) |
Tự động đồng bộ CRUSH map? | ❌ Không | ✅ Có (xóa node khỏi cây phân phối) |
Cần thao tác bổ sung? | ✅ Có (nếu muốn sạch CRUSH tree) | ✅ Có (nếu chưa xóa OSD) |
🧪 4. Ví dụ thực tế
🎯 Tình huống
Tôi có cluster Ceph với gần 50 host và đã xóa hai host là:
CEPH-LAB-OSD-045
CEPH-LAB-OSD-048
Dùng lệnh:
ceph orch host rm CEPH-LAB-OSD-045
ceph orch host rm CEPH-LAB-OSD-048
Sau khi chạy xong, kiểm tra:
ceph orch host ls
→ Hai host đã biến mất.
Nhưng tiếp tục chạy:
ceph osd tree | grep CEPH-LAB-OSD-045
→ Kết quả: vẫn còn trong CRUSH tree!
🔍 5. Nguyên nhân
Do các host đó vẫn còn tồn tại trong CRUSH map, mặc dù orchestrator không còn quản lý nữa.
✅ Cách xử lý đúng
- Xác định OSD còn hoạt động không:
ceph osd find <osd-id>
- Nếu OSD không còn hoặc đã out, thì tiến hành xóa:
ceph osd out <osd-id> ceph osd crush remove osd.<id> ceph auth del osd.<id> ceph osd rm <id>
- Sau đó, gỡ hostname ra khỏi crush map:
ceph osd crush rm CEPH-LAB-OSD-045 ceph osd crush rm CEPH-LAB-OSD-048
🧱 6. Sơ đồ mô tả quan hệ quản lý
+-------------------------+
| Ceph Orchestrator |
| (cephadm, rook) |
+-------------------------+
| |
| |
v v
ceph orch host ls ceph orch host rm
|
| (quản lý inventory)
v
+-------------------------+
| CRUSH Map |
| (ceph osd tree) |
+-------------------------+
| ^
| |
ceph osd crush rm <------ X (không tự động khi dùng orch rm)
📌 7. Ưu điểm và Nhược điểm của từng lệnh
✅ ceph orch host rm
- Ưu điểm:
- Gỡ nhanh, đơn giản khỏi orchestrator.
- Không ảnh hưởng đến OSD nếu chỉ định tạm thời gỡ node.
- Nhược điểm:
- Dễ gây hiểu nhầm là đã “xóa toàn bộ”.
- Không xóa khỏi crush map → vẫn thấy trong
ceph osd tree
.
✅ ceph osd crush rm
- Ưu điểm:
- Giúp CRUSH map sạch, đúng topology thực tế.
- Nhược điểm:
- Nếu quên xóa OSD trước → không thực hiện được.
- Cần thận trọng vì ảnh hưởng đến cách Ceph phân phối dữ liệu.
✅ 8. Kết luận
Khi làm việc với Ceph, việc hiểu rõ vai trò của các lệnh ceph orch
và ceph osd
là cực kỳ quan trọng. Hai hệ thống này tuy cùng quản lý cluster, nhưng có phạm vi hoàn toàn khác nhau:
- Orchestrator là quản lý triển khai và inventory.
- CRUSH map là nơi phân phối dữ liệu thực tế của Ceph.
💡 Lời khuyên từ kinh nghiệm thực tế
- Đừng chỉ dừng ở
ceph orch host rm
, hãy kiểm tra kỹceph osd tree
để đảm bảo node thực sự đã được gỡ bỏ. - Khi gỡ node vĩnh viễn:
- Xóa OSD trước.
- Gỡ khỏi CRUSH map.
- Gỡ khỏi orchestrator.
- Sử dụng các lệnh như
ceph osd df
,ceph osd find
,ceph osd tree
thường xuyên để theo dõi trạng thái OSD và CRUSH.
Chúc bạn vận hành Ceph hiệu quả và tránh được những hiểu nhầm như tôi đã từng gặp phải! 🚀