S3 호환 가능 오브젝트 스토리지 시스템


14

거의 100 % Amazon S3 RESTful API 호환 객체 스토리지 시스템을 경험 한 사람이 있습니까?

내가 좋아하는 것은 적절한 인증 으로 저장 ( PUT), 검색 ( GET), stat ( HEAD) 및 삭제 ( DELETE) 할 수있는 Amazon S3 스타일 RESTful API를 제공하는 모든 (바람직하게는 POSIX) 파일 시스템 위에있는 레이어입니다 .

상업 프로젝트 / 아이디어도 환영합니다.

노트:

나는 지금까지 유칼립투스 와 적운을 시도했습니다 . 유칼립투스는 맹목적으로 S3 호환이라고 부르는 것 같습니다. 응답 XML 문서는 전혀 호환되지 않으며 XML 문서가없는 특정 장소에서는 패치가 가능합니다. Cumulus는 응답 문서를 상당히 유사하게 유지했지만 데이터 무결성에 대해 잊어 버린 것 같습니다!

유칼립투스와 적운은 Amazon S3가 제공하는 무결성 검증을 지원하지 않습니다. S3로 수행 할 수있는 작업은 PUT 요청과 함께 Base64 (MD5 (FILE))를 제공 할 수 있으며 S3가 성공으로 응답하기 전에 S3에 의해 확인됩니다. 유칼립투스와 적운은 이것을 지원하지 않습니다. 유칼립투스를 사용하면 응답 문서에 제공된 MD5 (S3 호환 동작 아님)를 확인하여이 문제를 해결할 수 있습니다. 적운에서는 (S3와 같은) 아무것도 응답하지 않으므로 불가능합니다. Cumulus는 HEAD요청에 ETag를 제공하지 않아 더욱 악화됩니다 .

답변:


3

Swift 는 OpenStack의 객체 스토리지 엔진이며 2011 년 2 월 Bexar 릴리즈에서 실험적인 S3 호환 미들웨어를 주장합니다. OpenStack이 많은 주목을 받고 있기 때문에 (예를 들어, 정식은 Ubuntu를 이번 10 월 유칼립투스로 옮기고 있습니다) 살펴볼 가치가 있습니다.


3

결국, 나는 유칼립투스 해마로 나아가 야했습니다. 결국 나는 근본적인 문제를 발견했지만 모두 가능한 해결 방법이있었습니다.

소중한 의견을 보내 주셔서 감사합니다!


2

[면책 조항 : 나는 Scality를 위해 일한다]

Amazon은 AWS 제품을 적극적으로 사용하며 API를 자주 추가 및 변경 / 개선합니다. 그런 다음 거의 100 % 호환 제품을 찾기가 어렵습니다 (특히 상용 제품의 경우 OSS 제품이 변경에 더 반응 할 수 있음). 많은 객체 / 클라우드 스토리지 공급 업체가 한동안 자체 프로토콜을 사용해 왔지만 (Atmos, DDN은 OpenStack의 신속한 솔루션입니다.) 대부분 S3만큼 널리 사용되는 자체 프로토콜에 대한 아이디어를 포기했습니다. 그들은 지금 또는 앞으로 몇 달 안에 S3 호환 인터페이스를 발표합니다 (거의?). 사실상 모든 업계 표준을 따릅니다. 표준화 된 특성과 비영리, 비 공급 업체 조직인 SNIA에서 온 사실 때문에 CDMI가 유일하게 남아있을 수 있습니다. 그러나 그것은

S3 호환 인터페이스가있는 한 Mezeo, 언급 한 것 (Eucalyptus 및 Cumulus), OpenStack (아직 내가 믿지는 않지만)과 같은 몇 가지 옵션이 있습니다. 비결은 그중 하나입니다.

Scality의 S3 구현 (RS2-REST Storage Service라고 함)은 요청 / 응답이 S3에서 얻은 것과 일치한다는 점에서 S3에 매우 가깝습니다. S3의 인프라와 관련된 일부 기능은 명백한 이유로 존재하지 않습니다 (예 : 지역 선택). 그러나 필요한 명령은 다음과 같습니다. GET / PUT / DELETE 객체, 버킷 생성 및 목록; S3처럼 반응합니다.

두 번째 문제에 답하기 위해 Scality의 제품인 RING은 RING에 저장된 모든 객체의 체크섬 및 백그라운드 무결성 검사를 통해 참조하는 데이터 무결성 문제를 해결하는 소프트웨어 객체 스토리지 플랫폼이라는 점을 덧붙입니다. 객체 저장은 기본적으로 트랜잭션 쿼리이며 일단 객체가 "성공적으로 저장되었다"고 주장되면 지속적인 무결성 검사 (예 : 모든 읽기에서)를 통해 영원히 유지됩니다.

자세한 내용은 다루지 않겠습니다. 웹 사이트를 방문하여 일반적인 데이터 관리 악몽에서 스토리지 관리자를 완화하고 밤에 데이터를 사용할 수 있음을 알도록하는 방법을 이해할 수 있습니다. 항상. :)

최고, Marc Villemade @mastachand


2

Newdream의 Ceph에는 Ceph 파일 시스템 자체와 동일한 객체 스토리지 시스템을 사용하는 S3 호환 fastcgi 게이트웨이가 있습니다. ( http://ceph.newdream.net/wiki/RADOS_Gateway ) 여전히 프로덕션 준비가되지 않았지만 정기적으로 업데이트합니다.

필자가 사용한 s3 라이브러리와 호환되지 않거나 클라우드 파일 스토리지 서비스 (자체 버전의 신속한 버전을 사용하는)에 대한 랙 공간의 자체 Java 클라이언트와 호환되지 않지만 테스트에서 Openstack의 객체 저장소가 더 안정적이라는 것을 알았습니다. s3과 Swift를 모두 지원하는 jclouds 프로젝트가 저에게 효과적이었습니다.


2

Cloud Foundry vBlob을 볼 수도 있습니다. https://github.com/cloudfoundry/vblob

VM이 "볼 수있는"파일 시스템 위에 S3 프로토콜의 공정한 청크를 구현하는 node.js 앱 (CF 통합을위한 Ruby 래퍼 포함)입니다.


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

위의 많은 옵션을 여전히 가지고 있다고 확신하지만 OpenSource Object Storage 인 OpenStack Swift를 확인하고 S3 호환 API를 지원합니다. Rackspace, Hpcloud Korea Telecom 및 기타 여러 제품의 객체 스토리지 솔루션으로 사용됩니다.

설명서 http://docs.openstack.org/developer/swift/related_projects.html Swift3 https://github.com/fujita/swift3 OpenStack Swift 용 Swift3 미들웨어로 Amazon S3 API를 통해 OpenStack swift에 액세스 할 수 있습니다.

도움이 되길 바랍니다.


-3

[면책 조항 : Cloudian에서 일합니다]

Cloudian HyperStore 객체 스토리지 소프트웨어는 100 % Amazon S3 API와 호환됩니다. 오류 코드와 Amazon S3의 모든 기능에 이르기까지 모든 S3 API를 구현합니다.

Cloudian HyperStore는 멀티 파트 업로드, 객체 버전 관리, S3 호환 ACL, S3 및 Glacier 자동 계층화, S3 CORS (Cross-Origin Resource Sharing), S3 인코딩 유형, 위치 제약 조건 등을 지원합니다.

Cloudian을 사용하면 PUT 요청과 함께 Base64 (MD5 (FILE))를 제공 할 수 있습니다. 그런 다음 성공으로 응답하기 전에 확인됩니다.

자세한 내용은이 블로그 게시물 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/issues/detail?id=37&q=md5 ) 기능을 제공하지 않지만 이것을 구현하는 것이 어렵지 않을 것이라고 생각합니다. 주목할 점은 결국 일관성이 있다는 것입니다.


2
S3FS는 포스터가 원하는 것과 반대 순서입니다. 파일 시스템을 S3 버킷으로 만듭니다. OP는 파일 시스템에서 S3 버킷을 만들려고합니다.
— crb
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.