Crush được thiết kế để phân phối dữ liệu thống nhất giữa các thiết bị có trọng để duy trì
một cân bằng việc sử dụng thống kê dung lượng lưu trữ và thiết bị nguồn tài nguyên băng thông. Các vị trí
của các bản sao trên các thiết bị lưu trữ trong hệ thống cũng có thể có một ảnh hưởng quan trọng về an toàn dữ liệu.
Bằng cách phản chiếu các tổ chức vật lý cơ bản của quá trình cài đặt, CRUSH có thể mô hình và do đó giải quyết tiềm năng nguồn của thất bại thiết bị tương quan. Nguồn điển hình bao gồm
khoảng cách vật lý, một nguồn năng lượng được chia sẻ, và một mạng chia sẻ. Bằng cách mã hóa các thông tin này
vào bản đồ cluster, chính sách vị trí Crush có thể tách bản sao đối tượng trên khác nhau
lĩnh thất bại trong khi vẫn duy trì sự phân bố mong muốn. Ví dụ, để giải quyết những
khả năng thất bại đồng thời, nó có thể được mong muốn để đảm bảo rằng những bản sao dữ liệu trên các thiết bị
trong kệ khác nhau, giá đỡ, nguồn điện, bộ điều khiển, và / hoặc địa điểm vật lý.
Để thích ứng với nhiều tình huống trong mà Crush có thể được
sử dụng, cả về chiến lược sao chép dữ liệu và cấu hình phần cứng bên dưới, CRUSH
định nghĩa quy tắc vị trí cho mỗi chính sách chiến lược nhân rộng hoặc phân phối làm việc cho phép
các hệ thống lưu trữ hoặc quản trị viên để xác định chính xác như thế nào bản sao đối tượng được đặt. Ví dụ,
người ta có thể có một quy tắc lựa chọn một cặp chỉ tiêu cho 2 chiều phản chiếu, một lựa chọn
ba mục tiêu ở hai trung tâm dữ liệu khác nhau cho 3 chiều phản chiếu, một cho RAID-4 trên sáu lưu trữ
các thiết bị, và vì vậy on1
.
Mỗi quy tắc bao gồm một chuỗi các hoạt động áp dụng cho các hệ thống phân cấp trong thực hiện đơn giản
môi trường, trình bày như mã giả trong thuật toán 1. số nguyên đầu vào cho CRUSH
chức năng, x, điển hình là một đối tượng tên hoặc số nhận dạng khác, chẳng hạn như một định danh cho một nhóm
đối tượng có bản sao sẽ được đặt trên các thiết bị tương tự. Việc tiếp nhận (a) hoạt động chọn một
mục (thường là một thùng) trong hệ thống phân cấp lưu trữ và gán nó vào vector ~ i, mà phục vụ
như một đầu vào cho hoạt động tiếp theo. Các lựa chọn (n, t) lặp hoạt động trên mỗi phần tử i ∈ ~ i,
và chọn n mục riêng biệt của loại t trong cây con rễ vào thời điểm đó. Thiết bị lưu trữ có
một loại cố định được biết đến, và mỗi thùng trong hệ thống có một trường loại được sử dụng để phân biệt
giữa các tầng lớp nhân xô (ví dụ như những người đại diện cho "hàng" và những người đại diện cho "tủ").
Đối với mỗi i ∈ ~ i, các lựa chọn (n, t) lặp cuộc gọi qua r ∈ 1, ..., n mục yêu cầu và đệ quy
đang được dịch, vui lòng đợi..