CRUSH: kiểm soát, khả năng mở rộng, phân cấp Vị trí của các nhân rộng dữ liệu
mới nổi hệ thống phân phối lưu trữ quy mô lớn đang phải đối mặt với nhiệm vụ phân phối hàng petabyte dữ liệu trong số hàng chục hoặc hàng trăm hàng ngàn thiết bị lưu trữ. Hệ thống như vậy đều phải phân phối dữ liệu và khối lượng công việc để tận dụng hiệu quả các nguồn lực sẵn có và tối đa hóa hiệu năng hệ thống, trong khi tạo điều kiện cho sự phát triển hệ thống và quản lý các lỗi phần cứng. Chúng tôi đã phát triển Crush, một chức năng phân phối dữ liệu giả ngẫu nhiên khả năng mở rộng được thiết kế cho các hệ thống lưu trữ dựa trên đối tượng phân phối có hiệu quả các bản đồ đối tượng dữ liệu với các thiết bị lưu trữ mà không cần dựa vào một thư mục trung tâm. Bởi vì các hệ thống lớn vốn đã năng động, CRUSH được thiết kế để tạo thuận lợi cho việc bổ sung và loại bỏ các lưu trữ trong khi giảm thiểu di chuyển dữ liệu không cần thiết. Các thuật toán chứa một loạt các cơ chế sao chép dữ liệu và độ tin cậy và phân phối dữ liệu trong các điều khoản của chính sách userdefined rằng thực thi tách các bản sao trên các lĩnh vực thất bại.
1. Giới thiệu
lưu trữ đối tượng dựa trên một kiến trúc mới nổi, hứa hẹn sẽ cải thiện khả năng quản lý, khả năng mở rộng, và hiệu suất [Azagury et al. 2003]. Không giống như các ổ đĩa cứng blockbased thông thường, thiết bị lưu trữ dựa trên đối tượng (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 phối 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ố chương trình dự phòng dữ liệu khác) để 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. Hệ thống lưu trữ dựa trên đối tượng đơ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 các thiết bị lưu trữ thường với khả năng và hiệu suất đặc-cốt khác nhau. 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 phân phối hoàn hảo 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 tận dụng đầy đủ các 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 số các thiết bị lưu trữ có sẵn. Đ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 dữ liệu cũ và 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 rằng, 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 [Santos et al. 2000]. 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 phân phối ngẫu nhiên 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 hashbased đơn giả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. Phương án phân phối đó, hiện có ngẫu nhiên 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ừ thiết bị thất bại trùng. Chúng tôi đã phát triển CRUSH (Replication kiểm soát Theo Scalable Băm), một thuật toán phân phối dữ liệu giả ngẫu nhiên có hiệu quả và mạnh, phân phối bản sao đối tượng 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 giả ngẫu nhiên mà các bản đồ giá trị đầu vào, thường là một định danh đối tượng hoặc nhóm đối tượng, với 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 về các chính sách vị trí bản sao. 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ó, hiệu quả tổ chức lại 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 về vị trí đặt bản sao đối tượng đó 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ợ,
đang được dịch, vui lòng đợi..
