S3-сумісні системи зберігання об'єктів [закрито]


14

Хто-небудь стикався з майже 100% сумісною системою зберігання об’єктів Amazon S3 RESTful API?

Мені потрібно - це шар, який розташовується поверх будь-якої (бажано POSIX) файлової системи, яка забезпечує API RESTful у стилі Amazon S3 для зберігання ( PUT), отримання ( GET), stat ( HEAD) та видалення ( DELETE) з гідною автентифікацією.

Комерційні проекти / ідеї також вітаються.

ПРИМІТКА:

Я до цього часу пробував евкаліпта та кукурузу ; Евкаліпт, здається, сліпо називає себе сумісним S3. Документи XML-відповіді зовсім не сумісні та є певними в певних місцях, без XML-документів. Cumulus зумів зберегти документи відповідей досить схожими, але, схоже, забув про цілісність даних!

Дозвольте пояснити останню частину: і Евкаліпт, і Кумулус не мають підтримки для перевірки цілісності, яку пропонує Amazon S3. Що ви можете зробити з S3, це те, що ви можете надати Base64 (MD5 (FILE)) разом із запитом PUT, який потім перевіряється S3, перш ніж вони успішно відгукнуться. Евкаліпт і купіль не підтримують цього. З, Евкаліптом, ми можемо принаймні обійти це, перевіривши MD5, наведений у відповіді документа (не S3-сумісна поведінка). У Cumulus це неможливо, оскільки він не відповідає нічим (наприклад, S3). Це ще більше погіршує Кумулус, не видаючи ETag у HEADзапиті.

Відповіді:


3

Swift є двигуном зберігання об'єктів OpenStack, а станом на випуск Bexar у лютому 2011 року , він претендує на експериментальне програмне забезпечення, сумісне з S3. Оскільки OpenStack привертає багато уваги (наприклад, Canonical перекладає Ubuntu на цей евкаліпт цього жовтня, наприклад), це, можливо, варто переглянути.


3

Врешті-решт, мені довелося рухатись вперед разом з Евкаліптом Моржем. Попри те, що я зрештою знайшов деякі фундаментальні проблеми з цим, усі вони мали можливі проблеми.

Дякуємо всім за цінний внесок!


2

[ВІДМОВА: Я працюю в Scality]

Amazon залишається дуже активним у своїх продуктах AWS і дуже часто вносить доповнення та зміни / удосконалення свого API. Тоді важко знайти майже 100% сумісний продукт (особливо в комерційних продуктах, ймовірно, що продукти OSS були б більш реактивними на будь-які зміни). Багато виробників об'єктів / хмарних сховищ протягом певного часу бавляться з власними протоколами (Atmos, DDN, навіть стрімкий OpenStack ..), але вони в основному всі відмовилися від ідеї власного протоколу настільки ж широко використовуваного, як S3. Усі вони (майже?) Анонсують інтерфейс, сумісний з S3, зараз або в наступні місяці. Адже це галузевий де-факто стандарт. Єдиним претендентом, що залишився, може бути CDMI саме через його стандартизований характер і те, що він походить від СНІА, неприбуткової організації, що не є постачальником. Але це'

Існує кілька варіантів, що стосується інтерфейсу, сумісного з S3, як Mezeo, тих, які ви згадали (Евкаліпт і Кумулюс), OpenStack (хоча це ще не виходить, я вірю). Скалість - ще одна з них.

Реалізація S3 Scality (звана RS2 - служба зберігання REST) ​​дуже близька до S3, оскільки наші запити / відповіді відповідають тому, що ви отримаєте від S3. Деякі функції, пов'язані з інфраструктурою S3, відсутні з очевидних причин (наприклад, вибір регіону). Але необхідні команди є: GET / PUT / DELETE об'єкт, створення відра та лістинг; і реагувати так, як би S3.

Я просто додам, щоб відповісти на вашу другу проблему, що продукт Scality, RING, - це платформа для зберігання об’єктів програмного забезпечення, яка вирішує проблеми цілісності даних, на які ви посилаєтесь, перевіряючи суми та виконуючи перевірку цілісності фону всіх об’єктів, що зберігаються на RING. Зберігання об'єкта - це, як правило, запит транзакцій, і як тільки об’єкт буде заявлений як "успішно збережений", він буде назавжди, з постійною перевіркою цілісності (на кожному прочитаному, наприклад).

Я не буду вникати в подробиці. Ви можете зайти на наш веб-сайт, щоб зрозуміти, як ми усуваємо адміністраторів пам’яті від загальних кошмарів управління даними та даємо їм спати вночі, знаючи, що їхні дані доступні. Завжди. :)

Найкраще, Марк Вілмаде @mastachand


2

У Ceph у Newdream є шлюз Fastcgi, сумісний з S3, який використовує ту саму систему зберігання об'єктів, що і сама файлова система Ceph. ( http://ceph.newdream.net/wiki/RADOS_Gateway ) Виробництво все ще не готове, але регулярно оновлюється.

Я вважав, що об’єкт зберігання Openstack є більш надійним у моєму тестуванні, хоча він не сумісний із S3 з бібліотеками s3, якими я користувався, або з власним клієнтом Java Rackpace для служби зберігання хмарних файлів (яка використовує їхню власну версію швидкого доступу). Хоча для мене працював проект jclouds, який має підтримку s3 та Swift.


2

Ви також можете подивитися на Cloud Foundry vBlob: https://github.com/cloudfoundry/vblob

Це додаток node.js (із обгорткою Ruby для інтеграції в CF), який реалізує неабиякий фрагмент протоколу S3 поверх будь-якої файлової системи, яку VM може "бачити".


1

І s3ql (GNU GPL v3), і s3backer (GNU GPL v2) роблять те, що ви шукаєте.


1
Шон; Я не шукаю клієнтської бібліотеки чи клієнта, щоб також взаємодіяти зі сховищем; більше цікавить сам сервер.
CodeMedic

1

Старе питання / відповів, але https://github.com/basho/riak_cs було відкрито на https://github.com/basho/riak_cs : "Riak CS - це система зберігання об'єктів, побудована на вершині Riak. Це полегшує зберігання великих об'єктів у Riak та представлений інтерфейс, сумісний із S3. Він також забезпечує такі функції, як облікові записи користувачів, автентифікацію, механізми контролю доступу та звітність про використання облікових записів ".


1

Я впевнений, що у вас є стільки варіантів вище, все-таки слід перевірити OpenStack Swift, його OpenSource Object Storage, а також підтримує S3 сумісний API. Його використовують як рішення для зберігання об'єктів для Rackspace, Hpcloud Korea Telecom та багатьох інших.

Документація http://docs.openstack.org/developer/swift/associated_projects.html Swift3 https://github.com/fujita/swift3 Swift3 Middleware для OpenStack Swift, що дозволяє отримати доступ до OpenStack swift через API Amazon S3.

Сподіваюся, це допомагає.


-3

[ВІДПОВІДАЛЬНІСТЬ: Я працюю для Клудія]

Програмне забезпечення для зберігання об’єктів Cloudian HyperStore на 100% сумісне з API Amazon S3. Він реалізує всі API S3 аж до кодів помилок та всіх функцій Amazon S3.

Щоб перелічити деякі з них, Cloudian HyperStore підтримує завантаження в декілька частин, версію об’єктів, сумісну з ACL сумісність S3, автоматичне підключення до S3 та льодовика, спільний розподіл ресурсів S3 (CORS), тип кодування S3, обмеження місця розташування та багато іншого.

І так, з Cloudian ви можете надати Base64 (MD5 (FILE)) разом із запитом PUT, який потім перевіряється, перш ніж відповісти успішно.

Для отримання додаткової інформації перегляньте це повідомлення в блозі http://www.cloudian.com/blog/?p=64 та веб-сайт Cloudian за адресою http://www.cloudian.com/products/cloudian-hyperstore.php


-4

Ви перевірили s3fs ? У ньому відсутня потрібна перевірка MD5 ( http://code.google.com/p/s3fs/isissue/detail?id=37&q=md5 ), але я припускаю, що це не буде надзвичайно складно здійснити. Варто зазначити, що це врешті-решт є послідовним.


2
S3FS - це зворотний порядок того, чого хоче плакат. Це робить файлову систему з відра S3. ОП хоче зробити відро S3 з файлової системи.
crb
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.