Hệ thống lưu trữ đối tượng tương thích S3 [đã đóng]


14

Có ai đã bắt gặp một hệ thống lưu trữ đối tượng tương thích API RESTful API gần 100% của Amazon chưa?

Những gì tôi đang theo dõi là một lớp nằm trên bất kỳ hệ thống tệp nào (tốt nhất là POSIX) cung cấp API RESTful kiểu Amazon S3 để lưu trữ (PUT ), lấy ( GET), stat ( HEAD) và xóa ( DELETE), với xác thực hợp lệ.

Dự án / ý tưởng thương mại cũng được chào đón.

GHI CHÚ:

Tôi đã thử bạch đàn Cumulus ; trong đó bạch đàn dường như mù quáng tự gọi mình là tương thích S3. Các tài liệu XML phản hồi hoàn toàn không tương thích và bị chắp vá ở một số nơi nhất định không có tài liệu XML nào cả. Cumulus đã quản lý để giữ các tài liệu phản hồi khá giống nhau, nhưng dường như đã quên mất tính toàn vẹn dữ liệu!

Hãy để tôi giải thích phần sau: cả Eucalyptus và Cumulus đều không hỗ trợ xác minh tính toàn vẹn mà Amazon S3 cung cấp. Những gì bạn có thể làm với S3 là bạn có thể cung cấp Base64 (MD5 (FILE)) cùng với yêu cầu PUT, sau đó được S3 xác minh trước khi chúng phản hồi thành công. Bạch đàn và Cumulus không hỗ trợ điều này. Với, Bạch đàn ít nhất chúng ta có thể khắc phục điều này bằng cách kiểm tra MD5 được đưa ra trong tài liệu phản hồi (không phải hành vi tương thích với S3). Trong Cumulus, điều này là không thể vì nó không đáp ứng với bất cứ điều gì (như S3). Nó được làm cho thậm chí còn tồi tệ hơn bởi Cumulus, bằng cách không đưa ra một ETag trong HEADyêu cầu.

Câu trả lời:


3

Swift là công cụ lưu trữ đối tượng của OpenStack và kể từ phiên bản Bexar vào tháng 2 năm 2011 , nó tuyên bố một phần mềm trung gian tương thích S3 thử nghiệm. Vì OpenStack đang được chú ý rất nhiều (Canonical đang chuyển Ubuntu sang nó qua Eucalyptus vào tháng 10 này chẳng hạn), nó có thể đáng xem.


3

Cuối cùng, tôi phải tiến về phía trước với Eucalyptus Walrus. Mặc dù cuối cùng tôi đã tìm thấy một số vấn đề cơ bản với nó, tất cả chúng đều có thể giải quyết được.

Cảm ơn tất cả mọi người cho đầu vào có giá trị của bạn!


2

[TUYÊN BỐ TỪ CHỐI: Tôi làm việc cho Scality]

Amazon rất tích cực trên các sản phẩm AWS của họ và thường xuyên bổ sung và thay đổi / cải tiến API của họ. Sau đó, thật khó để tìm thấy một sản phẩm tương thích gần 100% (đặc biệt là trong các sản phẩm thương mại, có lẽ các sản phẩm OSS sẽ phản ứng nhiều hơn với bất kỳ thay đổi nào). Nhiều nhà cung cấp lưu trữ đối tượng / đám mây đã chơi đùa với các giao thức của riêng họ trong một thời gian (Atmos, DDN thậm chí là nhanh chóng của OpenStack ..) nhưng hầu hết họ đều từ bỏ ý tưởng về giao thức của riêng mình được sử dụng rộng rãi như S3. Tất cả họ (gần như?) Thông báo giao diện tương thích với S3 ngay bây giờ hoặc trong những tháng tới. Đó là sau tất cả các tiêu chuẩn thực tế của ngành. Đối thủ duy nhất còn lại có thể là CDMI chỉ vì bản chất Chuẩn hóa của nó và thực tế nó đến từ SNIA, một tổ chức phi lợi nhuận, phi nhà cung cấp. Nhưng nó'

Có một vài lựa chọn về giao diện tương thích với S3, như Mezeo, những giao diện bạn đã đề cập (Eucalyptus và Cumulus), OpenStack (mặc dù tôi chưa tin). Scality là một trong những người khác.

Triển khai S3 của Scality (được gọi là RS2 - Dịch vụ lưu trữ REST) ​​rất gần với S3 ở chỗ các yêu cầu / trả lời của chúng tôi phù hợp với những gì bạn nhận được từ S3. Một số chức năng gắn liền với cơ sở hạ tầng của S3 không có mặt vì những lý do rõ ràng (ví dụ: chọn vùng). Nhưng các lệnh cần thiết là có: NHẬN / PUT / XÓA một đối tượng, tạo và liệt kê xô; và phản ứng giống như S3.

Tôi chỉ muốn thêm vào, để trả lời vấn đề thứ hai của bạn, sản phẩm của Scality, RING, là một nền tảng lưu trữ đối tượng phần mềm giải quyết các vấn đề toàn vẹn dữ liệu mà bạn đề cập bằng cách kiểm tra và thực hiện kiểm tra tính toàn vẹn nền của tất cả các đối tượng được lưu trữ trên RING. Lưu trữ một đối tượng về cơ bản là một truy vấn giao dịch và một khi một đối tượng đã được tuyên bố là "được lưu trữ thành công", nó sẽ tồn tại mãi mãi, với các kiểm tra tính toàn vẹn không đổi (ví dụ trên mỗi lần đọc).

Tôi sẽ không đi vào chi tiết. bạn có thể truy cập trang web của chúng tôi để hiểu cách chúng tôi giảm bớt quản trị viên lưu trữ khỏi những cơn ác mộng quản lý dữ liệu phổ biến và để họ ngủ vào ban đêm khi biết dữ liệu của họ có sẵn. Luôn luôn. :)

Tốt nhất, Marc Villemade @mastachand


2

Ceph của Newdream có cổng fastcgi tương thích S3 sử dụng cùng hệ thống lưu trữ đối tượng như chính Ceph Filesystem. ( http://ceph.newdream.net/wiki/RADOS_Gateway ) Vẫn chưa sẵn sàng sản xuất, nhưng thực hiện cập nhật thường xuyên.

Tôi thấy cửa hàng đối tượng của Openstack đáng tin cậy hơn trong thử nghiệm của mình mặc dù không tương thích với S3 với các thư viện s3 mà tôi đã sử dụng hoặc thực sự với máy khách java của rackspace cho dịch vụ lưu trữ đám mây của họ (sử dụng phiên bản swift của riêng họ). Mặc dù dự án jclouds có cả hỗ trợ s3 và Swift hoạt động với tôi.


2

Bạn cũng có thể xem Cloud Foundry BBlob: https://github.com/cloudfoundry/vblob

Đó là một ứng dụng node.js (với trình bao bọc Ruby để tích hợp CF) thực hiện một đoạn hợp lý của giao thức S3 trên bất kỳ hệ thống tệp nào mà VM có thể "nhìn thấy".


1

Cả s3ql (GNU GPL v3) và s3backer (GNU GPL v2) đều làm những gì bạn đang tìm kiếm.


1
Sean; Tôi không tìm kiếm một thư viện khách hoặc khách hàng để tương tác với lưu trữ; quan tâm nhiều hơn đến chính máy chủ.
CodeMedic

1

Câu hỏi cũ / đã trả lời, nhưng https://github.com/basho/riak_cs chỉ được mở nguồn tại https://github.com/basho/riak_cs : "Riak CS là một hệ thống lưu trữ đối tượng được xây dựng trên đỉnh của Rịa. Nó tạo điều kiện lưu trữ các đối tượng lớn trong Riak và trình bày giao diện tương thích với S3. Nó cũng cung cấp các tính năng thuê nhà như tài khoản người dùng, xác thực, cơ chế kiểm soát truy cập và báo cáo sử dụng tài khoản. "


1

Tôi chắc chắn rằng bạn vẫn còn rất nhiều tùy chọn ở trên, bạn vẫn nên kiểm tra OpenStack Swift, đó là Bộ lưu trữ đối tượng OpenSource và cũng hỗ trợ API tương thích S3. Nó được sử dụng làm giải pháp lưu trữ đối tượng cho Rackspace, Hpcloud Korea Telecom và nhiều công ty khác.

Tài liệu http://docs.openstack.org/developer/swift/associated_projects.html Swift3 https://github.com/fujita/swift3 Swift3 Middleware cho OpenStack Swift, cho phép truy cập vào OpenStack swift thông qua API Amazon S3.

Hy vọng nó giúp.


-3

[TUYÊN BỐ TỪ CHỐI: Tôi làm việc cho Cloudian]

Phần mềm lưu trữ đối tượng Cloudian HyperStore tương thích 100% API Amazon S3. Nó triển khai tất cả các API S3 theo mã lỗi và tất cả các tính năng mà Amazon S3 có.

Để liệt kê một số, Cloudian HyperStore hỗ trợ Tải lên nhiều phần, Phiên bản đối tượng, ACL tương thích S3, Tự động chuyển sang S3 và Glacier, Chia sẻ tài nguyên nguồn gốc S3 (CORS), loại mã hóa S3, ràng buộc vị trí và nhiều hơn nữa.

Và có với Cloudian, bạn có thể cung cấp Base64 (MD5 (FILE)) cùng với yêu cầu PUT, sau đó được xác minh trước khi trả lời thành công.

Để biết thêm thông tin, hãy kiểm tra bài đăng trên blog này http://www.cloudian.com/blog/?p=64 và trang web của Cloudian tại http://www.cloudian.com/products/cloudian-hyperstore.php


-4

Bạn đã kiểm tra s3fs chưa? Nó không có tính năng kiểm tra MD5 mà bạn muốn ( http://code.google.com.vn/p/s3fs/issues/detail?id=37&q=md5 ) nhưng tôi cho rằng sẽ không khó để thực hiện điều này. Đáng lưu ý là cuối cùng là phù hợp.


2
S3FS là thứ tự ngược lại với những gì người đăng muốn. Nó tạo ra một hệ thống tập tin từ một thùng S3. OP muốn tạo một nhóm S3 từ một hệ thống tập tin.
crb
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.