S3-совместимые системы хранения объектов [закрыто]

Кто-нибудь встречал почти 100% -ную систему хранения объектов, совместимую с Amazon S3 RESTful API?

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

Приветствуются и коммерческие проекты / идеи.

ПРИМЕЧАНИЕ:

Я пробовал Eucalyptus и Cumulus ; из которых Eucalyptus, кажется, слепо называет себя S3-совместимым.XML-документы ответов совершенно несовместимы, а в некоторых местах они неоднородны и вообще не содержат XML-документов. Cumulus удалось сохранить очень похожие ответные документы, но, похоже, они забыли о целостности данных!

Позвольте мне объяснить последнюю часть: и Eucalyptus, и Cumulus не поддерживают проверку целостности, которую предлагает Amazon S3. Что вы можете сделать с S3, так это то, что вы можете предоставить Base64 (MD5 (FILE)) вместе с запросом PUT, который затем проверяется S3, прежде чем они ответят успешно. Эвкалипт и кучевые облака этого не поддерживают. С помощью Eucalyptus мы можем по крайней мере обойти это, проверив MD5, указанный в ответном документе (не S3-совместимое поведение). В Cumulus это невозможно, так как он ничем не отвечает (например, S3). Ситуация усугубляется тем, что Cumulus не передает ETag в запросе HEAD .

14
задан 12 July 2011 в 15:13
10 ответов

В конце концов, мне пришлось продвинуться вперед с Eucalyptus Walrus. Несмотря на то, что в итоге я обнаружил в нем некоторые фундаментальные проблемы, у всех были возможные решения.

Спасибо всем за ваш ценный вклад!

3
ответ дан 2 December 2019 в 21:13

Быстро механизм хранения объектов OpenStack, и с выпуска Bexar в феврале 2011, он требует экспериментального промежуточного программного обеспечения S3-compatible. Поскольку OpenStack добирается, большое внимание (Канонический смещают Ubuntu к нему по Эвкалипту в этом октябре, например), это могло бы быть достойное внимания.

3
ответ дан 2 December 2019 в 21:13

[ПРАВОВАЯ ОГОВОРКА: Я работаю на Scality]

Amazon очень остается активен на их продуктах AWS и делает дополнения и изменения/улучшения в их API очень часто. Затем трудно найти почти%-й совместимый продукт (особенно в коммерческих продуктах, вероятно, продукты OSS были бы более реактивными к любым изменениям). Многие поставщики объекта/облачного хранилища играли вокруг с их собственными протоколами в течение некоторого времени (Atmos, DDN даже OpenStack быстро..), но они главным образом все отказались от идеи своего собственного протокола, становящегося так же широко используемыми как S3. Они - все (почти?) объявление о S3-compatible взаимодействуют через интерфейс теперь или в месяцах прибыть. Это после всей промышленности фактический стандарт. Единственный оставленный соперник мог бы быть CDMI только из-за его Стандартизированного характера и факта, он прибывает из SNIA, некоммерческой организации, организации непоставщика. Но это ясно не принимается или говорило приблизительно столько же, сколько S3.

Существует несколько опций насколько интерфейс S3-compatible идет, как Mezeo, те Вы упомянули (Эвкалипт и Куча), OpenStack (хотя это еще не отсутствует, я верю). Scality - другой тех.

Реализация Scality S3 (названный RS2 - Сервис устройства хранения данных REST) очень близко к S3 в этом, наши запросы/ответы согласовываются с тем, что Вы получили бы от S3. Некоторые технические возможности, связанные с инфраструктурой S3, не присутствуют по очевидным причинам (выбор региона, например). Но необходимые команды там: ПОЛУЧИТЕ/ПОМЕСТИТЕ/УДАЛИТЕ объект, создание блока и список; и реагируйте точно так же, как S3 был бы.

Я просто добавил бы, для ответа на вторую проблему, что продуктом Scality, КОЛЬЦОМ, является платформа хранения программного объекта, которая решает проблемы целостности данных, к которым Вы обращаетесь вычислением контрольной суммы и делаете фоновые проверки целостности всех объектов, хранивших на КОЛЬЦЕ. Хранить объект является в основном транзакционным запросом, и после того как объект требовался, как "успешно сохранено", это навсегда будет с постоянными проверками целостности (на каждом чтении, например).

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

Лучше всего, Marc Villemade @mastachand

2
ответ дан 2 December 2019 в 21:13

Вы проверили s3fs? Это не показывает проверку MD5, которую Вы хотите (http://code.google.com/p/s3fs/issues/detail?id=37&q=md5), но я предполагаю, что не было бы чрезвычайно трудно реализовать это. Знаменитый, это, в конечном счете последовательно.

-4
ответ дан 2 December 2019 в 21:13

Ceph Newdream имеет S3-совместимый шлюз fastcgi, который использует ту же систему хранения объектов, что и сама файловая система Ceph. ( http://ceph.newdream.net/wiki/RADOS_Gateway ) Все еще не готово к производству, но делаю регулярные обновления.

Я обнаружил, что объектное хранилище Openstack более надежно в моем тестировании, хотя и несовместимо с S3 с библиотеками s3, которые я использовал, или с собственным java-клиентом rackspace для их службы хранения облачных файлов (который использует их собственный версия swift). Хотя у меня работал проект jclouds, который поддерживает как s3, так и Swift.

2
ответ дан 2 December 2019 в 21:13

Оба s3ql (GNU GPL v3) и s3backer (GNU GPL v2) делают то, что вы ищете.

1
ответ дан 2 December 2019 в 21:13

Вы также можете посмотреть на Cloud Foundry vBlob: https://github.com/cloudfoundry/vblob

Это приложение node.js (с оболочкой Ruby для интеграции CF), которое реализует значительную часть протокола S3 поверх любой файловой системы, которую может «см.».

2
ответ дан 2 December 2019 в 21:13

Старый вопрос / ответили, но исходный код https://github.com/basho/riak_cs был открыт на https://github.com/basho / riak_cs : «Riak CS - это система хранения объектов, построенная на основе Riak. Она упрощает хранение больших объектов в Riak и представляет интерфейс, совместимый с S3. Она также обеспечивает функции мульти-арендатора, такие как учетные записи пользователей, аутентификация, доступ механизмы контроля и отчеты об использовании учетной записи »

1
ответ дан 2 December 2019 в 21:13

] Я уверен, что у вас есть так много вариантов выше, но вы должны проверить OpenStack Swift, это хранилище объектов с открытым исходным кодом, а также поддерживает API, совместимый с S3. Он используется в качестве решения для хранения объектов для Rackspace, Hpcloud Korea Telecom и многих других.

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

Надеюсь, это поможет.

1
ответ дан 2 December 2019 в 21:13

[DISCLAIMER: Я работаю на Cloudian]

Программное обеспечение для хранения объектов Cloudian HyperStore на 100% совместимо с Amazon S3 API. Оно реализует все API S3 вплоть до кодов ошибок и всех функций, которыми обладает Amazon S3.

Чтобы перечислить некоторые из них, Cloudian HyperStore поддерживает загрузку нескольких частей, версию объектов, ACL, совместимый с S3, автозапуск в S3 и Glacier, совместное использование ресурсов S3 Cross-Origin (CORS), тип кодирования S3, ограничение местоположения и т.д.

И да, с Cloudian вы можете предоставить Base64(MD5(FILE)) вместе с PUT-запросом, который затем проверяется, прежде чем ответить с успехом.

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

-3
ответ дан 2 December 2019 в 21:13

Теги

Похожие вопросы