Blog chia sẻ về công nghệ ...
Published on

Tinh chỉnh cấu hình Ceph Metadata Server (MDS)

Authors

Cấu hình Ceph Metadata Server (MDS)

📑 Mục Lục

  1. Hai chế độ của MDS
  2. Chuyển đổi giữa MDS active và standby
  3. Giải thích một số thuật ngữ
  4. Tên Daemon & GID
  5. Cách tham chiếu đến MDS trong lệnh Ceph
  6. Thông số tùy chỉnh trong cấu hình

Hai chế độ của MDS

Một MDS có thể chạy ở hai chế độ:

  • Active (chủ động): đang hoạt động, xử lý metadata.
  • Standby (dự phòng): sẵn sàng thay thế nếu MDS active bị lỗi.

➤ MDS đầu tiên được bật sẽ tự động trở thành "active". Những cái còn lại thì là "standby". ➤ Chỉ có 1 MDS active tại một thời điểm, các MDS khác là "standby".

Chuyển đổi giữa MDS active và standby

Nếu MDS active bị treo hoặc mất kết nối, hệ thống sẽ:

  1. Đợi một khoảng thời gian (được cấu hình bằng mds_beacon_grace).
  2. Đánh dấu MDS đó là "laggy" (bị trễ).
  3. Chọn một MDS standby để tự động chuyển lên active.

✅ Bạn có thể thay đổi thời gian chờ này bằng cách chỉnh mds_beacon_grace trong file cấu hình Ceph. Nếu không có MDS standby nào, hệ thống sẽ không tự động chuyển đổi. Bạn có thể dùng lệnh ceph mds fail <rank> để chuyển đổi thủ công. Nếu bạn muốn tắt chế độ tự động chuyển đổi, hãy đặt mds_beacon_grace thành 0.

Giải thích một số thuật ngữ

✅ FSCID

  • FSCID (File System Cluster ID) là ID duy nhất của mỗi hệ thống file CephFS.
  • Bạn có thể có nhiều CephFS trong một cluster Ceph.
  • MDS sẽ xử lý metadata cho từng CephFS riêng biệt.
  • MDS sẽ được gán FSCID khi khởi động.
  • MDS sẽ tự động nhận FSCID từ MON khi khởi động.
  • Bạn có thể xem FSCID của MDS bằng lệnh ceph fs dump.
  • MDS sẽ tự động nhận FSCID từ MON khi khởi động.

✅ Rank (hạng xử lý)

  • Mỗi CephFS được chia thành rank, thường bắt đầu từ 0.
  • Mỗi rank là một phần metadata được một MDS xử lý.

Bạn có thể hiểu đơn giản:
Nhiều rank → nhiều MDS active cùng lúc → tăng hiệu năng xử lý.

Trạng thái của rank:

  • Up: đang hoạt động.
  • Failed: không còn được MDS nào giữ.
  • Damaged: bị lỗi, hỏng metadata. Cần sửa bằng ceph mds repaired.

max_mds: là cấu hình giới hạn số rank tối đa (tức là số MDS active cùng lúc).

✅ Tên Daemon & GID

Tên Daemon & GID

  • Tên daemon: thường là hostname của máy.
  • GID: là ID tạm thời được tạo mỗi khi daemon khởi chạy.
  • GID có thể thay đổi mỗi khi daemon khởi động lại.
  • Bạn có thể xem tên daemon và GID của MDS bằng lệnh ceph mds stat.
  • Bạn có thể dùng lệnh ceph mds fail <GID> để chuyển đổi MDS active.
  • Bạn có thể dùng lệnh ceph mds fail <rank> để chuyển đổi MDS active theo rank.
  • Bạn có thể dùng lệnh ceph mds fail <FSCID>:<rank> để chuyển đổi MDS active theo FSCID và rank.
  • Bạn có thể dùng lệnh ceph mds fail <hostname> để chuyển đổi MDS active theo hostname.
  • Bạn có thể dùng lệnh ceph mds fail <FSCID>:<hostname> để chuyển đổi MDS active theo FSCID và hostname.

Cách tham chiếu đến MDS trong lệnh Ceph

Bạn có thể dùng nhiều cách để chỉ định MDS trong lệnh:

CáchVí dụMô tả
Theo GIDceph mds fail 5446ID tiến trình
Theo tênceph mds fail myhostTên máy chạy MDS
Theo rankceph mds fail 0Rank không rõ hệ thống file
FSCID + rankceph mds fail 3:0FSCID 3, rank 0
Tên hệ thống file + rankceph mds fail myfs:0Hệ thống file tên myfs, rank 0

🧠 Tóm gọn dễ hiểu:

  • MDS quản lý metadata của CephFS.
  • Chỉ 1 MDS active, các MDS khác standby.
  • Rank là cách chia metadata cho nhiều MDS cùng xử lý.
  • Bạn cấu hình thời gian chờ failover bằng mds_beacon_grace.
  • Có nhiều cách gọi MDS khi chạy lệnh ceph.

Thông số tùy chỉnh trong cấu hình