Sistem Penyimpanan Objek yang kompatibel dengan S3 [ditutup]

14

Adakah yang menemukan sistem penyimpanan objek yang kompatibel dengan Amazon S3 RESTful API hampir 100%?

Apa yang saya kejar adalah lapisan yang berada di atas semua sistem file (lebih disukai POSIX) yang menyediakan Amazon S3 RESTful API untuk menyimpan ( PUT), mengambil ( GET), stat ( HEAD) dan menghapus ( DELETE), dengan otentikasi yang layak.

Proyek / ide komersial juga diterima.

CATATAN:

Sejauh ini saya sudah mencoba Eucalyptus dan Cumulus ; di mana Eucalyptus tampaknya secara membabi buta menyebut dirinya kompatibel dengan S3. Respons dokumen XML sama sekali tidak kompatibel, dan tidak merata di tempat-tempat tertentu tanpa dokumen XML sama sekali. Cumulus telah berhasil menjaga dokumen tanggapannya cukup mirip, tetapi tampaknya telah melupakan integritas data!

Izinkan saya menjelaskan bagian terakhir: Eucalyptus dan Cumulus tidak memiliki dukungan untuk verifikasi integritas yang ditawarkan Amazon S3. Apa yang dapat Anda lakukan dengan S3 adalah bahwa Anda dapat memberikan Base64 (MD5 (FILE)) bersama dengan permintaan PUT, yang kemudian akan diverifikasi oleh S3 sebelum mereka merespons dengan sukses. Eucalyptus dan Cumulus tidak mendukung ini. Dengan, Eucalyptus setidaknya kita bisa menyiasatinya dengan memeriksa MD5 yang diberikan dalam dokumen respons (bukan perilaku yang kompatibel dengan S3). Dalam Cumulus, ini tidak mungkin karena tidak merespons dengan apa pun (seperti S3). Itu diperburuk oleh Cumulus, dengan tidak memberikan ETag dalam HEADpermintaan.

CodeMedic
sumber

Jawaban:

3

Swift adalah mesin penyimpanan objek OpenStack, dan pada rilis Bexar pada Februari 2011 , Swift mengklaim middleware yang kompatibel dengan S3 yang eksperimental. Sebagai OpenStack mendapatkan banyak perhatian (Canonical menggeser Ubuntu ke itu lebih dari Eucalyptus Oktober ini, misalnya) mungkin layak untuk dilihat.

crb
sumber
3

Pada akhirnya, saya harus bergerak maju dengan Eucalyptus Walrus. Meskipun akhirnya saya menemukan beberapa masalah mendasar dengannya, mereka semua memiliki kemungkinan untuk menyelesaikannya.

Terima kasih semuanya atas masukan berharga Anda!

CodeMedic
sumber
2

[PENOLAKAN: Saya bekerja untuk Scality]

Amazon tetap sangat aktif pada produk AWS mereka dan membuat penambahan dan perubahan / peningkatan ke API mereka sangat sering. Maka sulit untuk menemukan produk yang kompatibel hampir 100% (terutama dalam produk komersial, mungkin produk OSS akan lebih reaktif terhadap perubahan apa pun). Banyak vendor penyimpanan objek / cloud telah bermain-main dengan protokol mereka sendiri untuk beberapa waktu (Atmos, DDN, bahkan OpenStack yang cepat ..) tetapi mereka sebagian besar telah meninggalkan ide protokol mereka sendiri yang menjadi banyak digunakan sebagai S3. Mereka semua (hampir?) Mengumumkan antarmuka S3-kompatibel sekarang atau di bulan-bulan mendatang. Ini adalah standar de facto industri. Satu-satunya pesaing yang tersisa mungkin adalah CDMI hanya karena sifatnya yang terstandarisasi dan fakta itu berasal dari SNIA, organisasi nirlaba, non-vendor. Tetapi'

Ada beberapa opsi sejauh antarmuka yang kompatibel S3 berjalan, seperti Mezeo, yang telah Anda sebutkan (Eucalyptus dan Cumulus), OpenStack (meskipun belum keluar saya percaya). Skalitas adalah salah satunya.

Implementasi S3 Scality (disebut RS2 - REST Storage Service) sangat dekat dengan S3 karena permintaan / balasan kami konsisten dengan apa yang Anda dapatkan dari S3. Beberapa fungsi yang terkait dengan infrastruktur S3 tidak hadir karena alasan yang jelas (Pemilihan wilayah misalnya). Tetapi perintah yang diperlukan ada di sana: DAPATKAN / PUT / HAPUS sebuah objek, pembuatan dan daftar bucket; dan bereaksi seperti S3.

Saya hanya akan menambahkan, untuk menjawab masalah kedua Anda, bahwa produk Scality, RING, adalah platform penyimpanan objek perangkat lunak yang memecahkan masalah integritas data yang Anda maksudkan dengan memeriksa dan melakukan pemeriksaan integritas latar belakang dari semua objek yang disimpan di RING. Menyimpan objek pada dasarnya adalah permintaan transaksional, dan sekali suatu objek telah diklaim sebagai "berhasil disimpan", itu akan selamanya menjadi, dengan pemeriksaan integritas konstan (pada setiap pembacaan misalnya).

Saya tidak akan membahas detail. Anda dapat mengunjungi situs web kami untuk memahami bagaimana kami meringankan admin penyimpanan dari mimpi buruk manajemen data umum dan membiarkan mereka tidur di malam hari mengetahui data mereka tersedia. Selalu. :)

Terbaik, Marc Villemade @astastand

Marc Villemade
sumber
2

Newdream's Ceph memiliki gateway fastcgi S3 yang kompatibel yang menggunakan sistem penyimpanan objek yang sama dengan Ceph Filesystem itu sendiri. ( http://ceph.newdream.net/wiki/RADOS_Gateway ) Masih belum siap berproduksi, tetapi melakukan pembaruan rutin.

Saya menemukan objek toko Openstack lebih dapat diandalkan dalam pengujian saya meskipun tidak S3 kompatibel dengan perpustakaan s3 yang saya gunakan atau benar-benar dengan klien java rackspace sendiri untuk layanan penyimpanan cloudfiles mereka (yang menggunakan versi cepat mereka sendiri). Meskipun proyek jclouds yang memiliki dukungan s3 dan Swift bekerja untuk saya.

David
sumber
2

Anda juga dapat melihat Cloud Foundry vBlob: https://github.com/cloudfoundry/vblob

Ini adalah aplikasi node.js (dengan pembungkus Ruby untuk integrasi CF) yang mengimplementasikan sepotong protokol S3 di atas semua sistem file yang dapat "dilihat" oleh VM.

Mathew L
sumber
1

Baik s3ql (GNU GPL v3) dan s3backer (GNU GPL v2) melakukan apa yang Anda cari.

Sean Mac
sumber
1
Sean; Saya tidak mencari perpustakaan klien atau klien juga untuk berinteraksi dengan penyimpanan; lebih tertarik pada server itu sendiri.
CodeMedic
1

Pertanyaan lama / dijawab, tetapi https://github.com/basho/riak_cs baru saja bersumber di https://github.com/basho/riak_cs : "Riak CS adalah sistem penyimpanan objek yang dibangun di atas Riak. Ini memfasilitasi menyimpan objek besar di Riak dan menghadirkan antarmuka yang kompatibel dengan S3. Ia juga menyediakan fitur muti-tenancy seperti akun pengguna, otentikasi, mekanisme kontrol akses, dan per pelaporan penggunaan akun. "

astrostl
sumber
1

Saya yakin Anda memiliki begitu banyak opsi di atas, Anda masih harus memeriksa OpenStack Swift, ini adalah OpenSource Object Storage dan juga mendukung API yang kompatibel S3. Ini digunakan sebagai solusi penyimpanan objek untuk Rackspace, Hpcloud Korea Telecom dan banyak lainnya.

Dokumentasi http://docs.openstack.org/developer/swift/associated_projects.html Swift3 https://github.com/fujita/swift3 Swift3 Middleware untuk OpenStack Swift, memungkinkan akses ke OpenStack swift melalui Amazon S3 API.

Semoga ini bisa membantu.

koolhead17
sumber
-3

[PENOLAKAN: Saya bekerja untuk Cloudian]

Perangkat lunak penyimpanan objek Cloudian HyperStore 100% kompatibel dengan Amazon S3 API. Ini mengimplementasikan semua API S3 ke kode kesalahan dan semua fitur yang dimiliki Amazon S3.

Untuk daftar beberapa, Cloudian HyperStore mendukung Upload Multi-bagian, Versi Objek, ACL kompatibel S3, Auto-tiering ke S3 dan Glacier, S3 Cross-Origin Resource Sharing (CORS), tipe pengkodean S3, tipe pengkodean S3, batasan lokasi dan banyak lagi.

Dan ya dengan Cloudian Anda dapat memberikan Base64 (MD5 (FILE)) bersama dengan permintaan PUT, yang kemudian akan diverifikasi sebelum merespons dengan sukses.

Untuk informasi lebih lanjut, periksa posting blog ini http://www.cloudian.com/blog/?p=64 dan situs web Cloudian di http://www.cloudian.com/products/cloudian-hyperstore.php

Simone
sumber
-4

Sudahkah Anda melihat s3fs ? Itu tidak menampilkan pemeriksaan MD5 yang Anda inginkan ( http://code.google.com/p/s3fs/issues/detail?id=37&q=md5 ) tapi saya kira tidak akan terlalu sulit untuk mengimplementasikan ini. Dari catatan adalah bahwa pada akhirnya konsisten.

gekkz
sumber
2
S3FS adalah urutan terbalik dari apa yang diinginkan poster. Itu membuat sistem file keluar dari ember S3. OP ingin membuat bucket S3 dari sistem file.
crb