Re: Questions while using Ceph instead of Swift

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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


[Index of Archives]     [Information on CEPH]     [Linux Filesystem Development]     [Ceph Development]     [Ceph Large]     [Linux USB Development]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [xfs]


  Powered by Linux