Chương 5
dữ liệu phân phối
lưu trữ đối tượng dựa trên một kiến trúc mới nổi hứa hẹn cải thiện quản lý khả năng,
khả năng mở rộng, và hiệu suất [7]. Không giống như các ổ đĩa cứng thông thường dựa trên khối, đối tượng dựa trên
các thiết bị lưu trữ (OSDs) quản lý phân bổ khối đĩa nội bộ, phơi bày một giao diện cho phép
người khác đọc và viết thư cho variably cỡ, tên đối tượng. Trong một hệ thống như vậy, dữ liệu của từng tập tin
thường được sọc trên một số lượng tương đối nhỏ của các đối tượng có tên là phân bố khắp
các cluster lưu trữ. Đối tượng được nhân rộng trên nhiều thiết bị (hoặc sử dụng một số dữ liệu khác
chương trình dự phòng) để bảo vệ chống mất mát dữ liệu trong sự hiện diện của những thất bại. Đối tượng dựa trên
hệ thống lưu trữ đơn giản hóa cách bố trí dữ liệu bằng cách thay thế danh sách khối lớn với danh sách đối tượng nhỏ
và phân phối các vấn đề phân bổ khối ở mức độ thấp. Mặc dù điều này bao la cải thiện khả năng mở rộng
bằng cách giảm tập tin siêu dữ liệu phân bổ và phức tạp, nhiệm vụ cơ bản của phân phối
dữ liệu trong số hàng ngàn thiết bị lưu trữ-thường có khả năng sinh hoạt và
đặc điểm vẫn còn.
Hầu hết các hệ thống chỉ đơn giản là ghi dữ liệu mới cho các thiết bị sử dụng đúng mức. Các vấn đề cơ bản của phương pháp này là dữ liệu là hiếm khi, nếu bao giờ hết, di chuyển khi nó được viết ra. Ngay cả một hoàn hảo
phân phối sẽ trở nên mất cân bằng khi các hệ thống lưu trữ được mở rộng, vì đĩa mới
hoặc ngồi trống rỗng hoặc có chứa dữ liệu mới. Hoặc là đĩa cũ hoặc mới có thể bận rộn, tùy thuộc
vào khối lượng công việc của hệ thống, nhưng chỉ hiếm nhất của điều kiện sẽ sử dụng cả hai đều đưa đầy đủ
lợi thế của nguồn lực sẵn có.
Một giải pháp mạnh mẽ là để phân phối tất cả các dữ liệu trong một hệ thống ngẫu nhiên trong lưu trữ có sẵn
các thiết bị. Điều này dẫn đến một phân phối xác suất cân bằng và thống nhất trộn cũ và
dữ liệu mới với nhau. Khi lưu trữ mới được thêm vào, một mẫu ngẫu nhiên các dữ liệu hiện có được di cư
vào các thiết bị lưu trữ mới để khôi phục lại sự cân bằng. Cách tiếp cận này có lợi thế quan trọng mà, trên
trung bình, tất cả các thiết bị sẽ được nạp tương tự, cho phép hệ thống thực hiện tốt dưới bất kỳ
khối lượng công việc tiềm năng [84]. Hơn nữa, trong một hệ thống lưu trữ lớn, một tập tin lớn duy nhất sẽ được ngẫu nhiên
phân bố trên một tập hợp lớn các thiết bị có sẵn, cung cấp một mức độ cao về xử lý song song
và băng thông tổng hợp. Tuy nhiên, phân phối băm đơn giản dựa trên không để đối phó với những thay đổi
về số lượng các thiết bị, phát sinh một xáo trộn lớn dữ liệu. Hơn nữa, hiện có ngẫu nhiên
đề án phân phối decluster nhân rộng bằng cách lây lan các bản sao của mỗi đĩa trên nhiều
thiết bị khác bị một xác suất cao của sự mất mát dữ liệu từ các lỗi thiết bị trùng.
Tôi đã phát triển CRUSH (Replication kiểm soát Theo Scalable Băm), một giả ngẫu nhiên
thuật toán phân phối dữ liệu hiệu quả và mạnh, phân phối các đối tượng bản sao trên
một cluster lưu trữ có cấu trúc không đồng nhất. Crush được thực hiện như một chức năng xác định
rằng bản đồ một đầu vào giá trị thường là một đối tượng hoặc nhóm đối tượng nhận dạng-một danh sách các thiết bị trên
đó để lưu trữ bản sao đối tượng. Điều này khác với các phương pháp thông thường trong đó vị trí dữ liệu
không dựa trên bất kỳ loại của mỗi tập tin hoặc mỗi đối tượng thư mục-CRUSH chỉ cần một, mô tả phân cấp nhỏ gọn của thiết bị bao gồm các cụm lưu trữ và kiến thức của các bản sao
chính sách vị trí. Cách tiếp cận này có hai ưu điểm chính: thứ nhất, nó là hoàn toàn phân tán
bất kỳ bên nào trong một hệ thống lớn có thể độc lập tính toán vị trí của bất kỳ đối tượng; và thứ hai,
những gì siêu dữ liệu ít được yêu cầu là chủ yếu là tĩnh, chỉ thay đổi khi thiết bị được thêm vào hoặc
gỡ bỏ.
CRUSH được thiết kế để tối ưu phân phối dữ liệu để tận dụng nguồn lực sẵn có, tổ chức lại hiệu quả dữ liệu khi thiết bị lưu trữ được thêm hoặc gỡ bỏ, và thực thi các chế linh hoạt
trên đối tượng bản sao vị trí đó tối đa hóa an toàn dữ liệu trong sự hiện diện của trùng hoặc
lỗi phần cứng liên quan. Một loạt các cơ chế an toàn dữ liệu được hỗ trợ, bao gồm cả
n-cách nhân rộng (ánh xạ), các chương trình RAID chẵn lẻ hoặc các hình thức khác của tẩy xoá mã hóa, và
các phương pháp lai (ví dụ như RAID-10). Những tính năng này làm cho CRUSH lý tưởng phù hợp cho việc quản lý
phân phối đối tượng trong (multi-petabyte) hệ thống lưu trữ vô cùng rộng lớn, nơi khả năng mở rộng,
hiệu suất, và độ tin cậy là quan trọng
đang được dịch, vui lòng đợi..
