1. Tổng quan.
Data rebalancing là quá trình trong hệ thống Ceph để đảm bảo phân phối dữ liệu cân bằng trên các OSD trong cụm Ceph. Tác dụng chính của data rebalancing là đảm bảo rằng dữ liệu được phân tán đồng đều trên các OSD, tránh tình trạng quá tải hoặc không cân bằng tải trong hệ thống.
Tính năng data rebalancing được sử dụng trong các trường hợp sau:
- Thêm hoặc xóa OSD: Khi bạn thêm mới hoặc xóa OSD khỏi hệ thống Ceph, data rebalancing sẽ được kích hoạt để phân phối lại dữ liệu trên các OSD hiện có, đảm bảo sự cân bằng tải và sử dụng hiệu quả tài nguyên lưu trữ.
- Mở rộng cụm Ceph: Khi bạn mở rộng cụm Ceph bằng cách thêm OSD hoặc nút mới, data rebalancing sẽ được sử dụng để phân phối dữ liệu trên các OSD và nút mới, đảm bảo tính mở rộng và hiệu quả trong việc sử dụng tài nguyên lưu trữ.
- Sự cân bằng tải tự động: Data rebalancing trong Ceph cũng đảm bảo rằng dữ liệu được phân bố đều trên các OSD trong quá trình hoạt động thông thường. Khi dữ liệu được thêm vào hoặc xóa khỏi hệ thống, Ceph sẽ tự động kích hoạt data rebalancing để điều chỉnh việc phân phối dữ liệu.
Một số trường hợp mà bạn có thể muốn tắt (disable) data rebalancing trong hệ thống Ceph:
- Thời gian cài đặt ban đầu: Khi bạn đang cài đặt một cụm Ceph mới, có thể tắt data rebalancing trong giai đoạn này để tránh việc phân phối dữ liệu ban đầu trên toàn bộ hệ thống. Sau khi dữ liệu đã được sao chép và phân phối đủ, bạn có thể bật lại data rebalancing.
- Bảo trì hoặc vận hành hệ thống: Khi bạn thực hiện các hoạt động bảo trì, nâng cấp hoặc kiểm tra hệ thống Ceph, có thể tắt data rebalancing để tránh việc tạo ra tải thêm và tránh xung đột dữ liệu trong quá trình thay đổi cấu trúc hệ thống.
- Một số tác vụ đặc biệt: Trong một số trường hợp đặc biệt, như khi bạn cần thay đổi cấu hình OSD hoặc quản lý các OSD riêng lẻ, bạn có thể tắt data rebalancing để tránh tác động lên việc quản lý và di chuyển dữ liệu trong quá trình thay đổi.
2. Để tắt tính năng data rebalancing.
Bạn có thể sử dụng lệnh sau để tạm dừng data rebalancing:
ceph osd set norebalance
Kiểm tra trạng thái data rebalancing:
Sử dụng lệnh ceph osd stat
để kiểm tra trạng thái của data rebalancing. Nếu trạng thái hiển thị là “norebalance”, điều đó có nghĩa là data rebalancing đang bị tạm dừng.
$ ceph osd stat
16 osds: 16 up (since 60s), 16 in (since 72s); epoch: e11699; 25 remapped pgs
flags norebalance
2. Để mở lại tính năng data rebalancing.
Để mở lại data rebalancing, sử dụng lệnh ceph osd unset norebalance
để xóa cờ “norebalance” (data rebalancing bị tạm dừng). Ví dụ:
$ ceph osd unset norebalance
norebalance is unset
Lệnh trên sẽ xóa cờ “norebalance” và cho phép data rebalancing tiếp tục.
Kiểm tra trạng thái data rebalancing:
Sử dụng lại lệnh ceph osd stat
để kiểm tra trạng thái của data rebalancing. Nếu trạng thái hiển thị là “rebalance”, điều đó cho thấy data rebalancing đã được mở lại và đang hoạt động.
$ ceph osd stat
16 osds: 16 up (since 3m), 16 in (since 3m); epoch: e11700; 25 remapped pgs
Lưu ý rằng mở lại data rebalancing có thể tạo áp lực lớn cho hệ thống Ceph, đặc biệt khi có sự thay đổi về cấu hình hoặc kích thước của OSD. Hãy đảm bảo rằng hệ thống Ceph của bạn đủ khả năng xử lý tải và có đủ dung lượng lưu trữ để thực hiện data rebalancing một cách hiệu quả.