On Thu, Mar 14, 2013 at 9:51 AM, weiqingidol <weiqingidol@xxxxxxx> wrote: > Hi, > We are deploying a Openstack based private cloud, we want to replace Swift with Ceph, however, > during our test, we encountered the following problems, we are wondering are they true or just due to > our incorrect configuration, >From the looks of it, you are trying to do things that aren't actually supported in Ceph. However, there is a method to our madness. I'll try to explain the rationale below: > > 1 Could Ceph support to creat containers sharing the same name by different users, > for example, the folowing Swift API calls go well with the Swift backed storage, > > swift -A http://keystone.builder/v2.0 -U user1:user1 -k user1_pass post swift_container > swift -A http://keystone.builder/v2.0 -U user2:user2 -k user2_pass post swift_container > > however, if using Ceph backed storage, the call fails While Ceph supports most pieces of the Swift API, we actually prefer to have a single namespace, rather than split the namespace by user. This means that each object has a globally meaningful name and allows us to do neat things like virtual host name to bucket mapping, and support for CNAME that allows pointing a domain name to a bucket. > > 2 Does Ceph support .rlistings ACL permission, and blacklist specification by using something like .r:*,.r:-.thief Ceph doesn't support Swift negative ACLs or .rlistings. The .rlisting support could probably be added without too much trouble if there were call for it. However, as for ACLs, you can specify object-level ACLs in Ceph (like in S3). > > 3 Swift recently introduced the quota support, which is needed by our application. That is, user could set > quota to limit the number of objects allowed to be created under a container, and the maxium space used by a > container, we are wondering if there is a similar solution for Ceph or any progress on that? Currently we don't have quotas, however a design is being discussed that would give a solution that will work for most use cases at a relatively low opportunity cost. Keep your eyes peeled on this one. > > And we appreciate any other comments on the differences between Ceph and Swift, i.e, something Ceph > can Swift cannot, or vice versa, that will really help us to make the right choice. The biggest advantage of being on top of Ceph is the actual advantage of Ceph itself. You should see some performance differences, but I don't have any numbers immediately available to you so I suppose that is anecdotal at best. However, the fact that Swift does things like: funnel data through proxy servers, use inconsistent striping policies, and replicate data using rsync, suggests that there are plenty of bottlenecks to be had. The real win for Ceph is that you have the benefits of CRUSH to make your cluster behave the way that makes the most sense for your network topology. Ceph also gives you much more reliability and data integrity, and the ability to configure failure domains. Hopefully that gets you a good start on the comparison, but if you have more questions or would like to chat with someone directly feel free to let me know. Thanks. Best Regards, -- Patrick McGarry Director, Community Inktank http://ceph.com || http://inktank.com @scuttlemonkey || @ceph || @inktank _______________________________________________ ceph-users mailing list ceph-users@xxxxxxxxxxxxxx http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com