You need separate pools for the different zones, otherwise both zones will have the same data.
You could use the defaults for the first zone, but the second zone will need it's own. You might as well follow the convention of creating non-default pools for the zone.
This is all semantics, but regions are generally seen as more distinct than zones. It's up to you if you want separate regions or the same region with separate zones. The end result is the same either way.
On Fri, Nov 7, 2014 at 2:06 AM, Marco Garcês <marco@xxxxxxxxx> wrote:
So I really need to create the region also? I thought it was using the
default region, so I didn't have to create extra regions.
Let me try to figure this out, the docs are a little bit confusing.
Marco Garcês
On Thu, Nov 6, 2014 at 6:39 PM, Craig Lewis <clewis@xxxxxxxxxxxxxxxxxx> wrote:
> You need to tell each radosgw daemon which zone to use. In ceph.conf, I
> have:
> [client.radosgw.ceph3c]
> host = ceph3c
> rgw socket path = /var/run/ceph/radosgw.ceph3c
> keyring = /etc/ceph/ceph.client.radosgw.ceph3c.keyring
> log file = /var/log/ceph/radosgw.log
> admin socket = /var/run/ceph/radosgw.asok
> rgw dns name = us-central-1.ceph.cdlocal
> rgw region = us
> rgw region root pool = .us.rgw.root
> rgw zone = us-central-1
> rgw zone root pool = .us-central-1.rgw.root
>
>
>
>
> On Thu, Nov 6, 2014 at 6:35 AM, Marco Garcês <marco@xxxxxxxxx> wrote:
>>
>> Update:
>>
>> I was able to fix the authentication error, and I have 2 radosgw
>> running on the same host.
>> The problem now, is, I believe I have created the zone wrong, or, I am
>> doing something wrong, because I can login with the user I had before,
>> and I can access his buckets. I need to have everything separated.
>>
>> Here are my zone info:
>>
>> default zone:
>> { "domain_root": ".rgw",
>> "control_pool": ".rgw.control",
>> "gc_pool": ".rgw.gc",
>> "log_pool": ".log",
>> "intent_log_pool": ".intent-log",
>> "usage_log_pool": ".usage",
>> "user_keys_pool": ".users",
>> "user_email_pool": ".users.email",
>> "user_swift_pool": ".users.swift",
>> "user_uid_pool": ".users.uid",
>> "system_key": { "access_key": "",
>> "secret_key": ""},
>> "placement_pools": [
>> { "key": "default-placement",
>> "val": { "index_pool": ".rgw.buckets.index",
>> "data_pool": ".rgw.buckets",
>> "data_extra_pool": ".rgw.buckets.extra"}}]}
>>
>> env2 zone:
>> { "domain_root": ".rgw",
>> "control_pool": ".rgw.control",
>> "gc_pool": ".rgw.gc",
>> "log_pool": ".log",
>> "intent_log_pool": ".intent-log",
>> "usage_log_pool": ".usage",
>> "user_keys_pool": ".users",
>> "user_email_pool": ".users.email",
>> "user_swift_pool": ".users.swift",
>> "user_uid_pool": ".users.uid",
>> "system_key": { "access_key": "",
>> "secret_key": ""},
>> "placement_pools": [
>> { "key": "default-placement",
>> "val": { "index_pool": ".rgw.buckets.index",
>> "data_pool": ".rgw.buckets",
>> "data_extra_pool": ".rgw.buckets.extra"}}]}
>>
>> Could you guys help me?
>>
>>
>>
>> Marco Garcês
>>
>>
>> On Thu, Nov 6, 2014 at 3:56 PM, Marco Garcês <marco@xxxxxxxxx> wrote:
>> > By the way,
>> > Is it possible to run 2 radosgw on the same host?
>> >
>> > I think I have created the zone, not sure if it was correct, because
>> > it used the default pool names, even though I had changed them in the
>> > json file I had provided.
>> >
>> > Now I am trying to run ceph-radosgw with two different entries in the
>> > ceph.conf file, but without sucess. Example:
>> >
>> > [client.radosgw.gw]
>> > host = GATEWAY
>> > keyring = /etc/ceph/keyring.radosgw.gw
>> > rgw socket path = /var/run/ceph/ceph.radosgw.gateway.fastcgi.sock
>> > log file = /var/log/ceph/client.radosgw.gateway.log
>> > rgw print continue = false
>> > rgw dns name = gateway.local
>> > rgw enable ops log = false
>> > rgw enable usage log = true
>> > rgw usage log tick interval = 30
>> > rgw usage log flush threshold = 1024
>> > rgw usage max shards = 32
>> > rgw usage max user shards = 1
>> > rgw cache lru size = 15000
>> > rgw thread pool size = 2048
>> >
>> > #[client.radosgw.gw.env2]
>> > #host = GATEWAY
>> > #keyring = /etc/ceph/keyring.radosgw.gw
>> > #rgw socket path = /var/run/ceph/ceph.env2.radosgw.gateway.fastcgi.sock
>> > #log file = /var/log/ceph/client.env2.radosgw.gateway.log
>> > #rgw print continue = false
>> > #rgw dns name = cephppr.local
>> > #rgw enable ops log = false
>> > #rgw enable usage log = true
>> > #rgw usage log tick interval = 30
>> > #rgw usage log flush threshold = 1024
>> > #rgw usage max shards = 32
>> > #rgw usage max user shards = 1
>> > #rgw cache lru size = 15000
>> > #rgw thread pool size = 2048
>> > #rgw zone = ppr
>> >
>> > It fails to create the socket:
>> > 2014-11-06 15:39:08.862364 7f80cc670880 0 ceph version 0.80.5
>> > (38b73c67d375a2552d8ed67843c8a65c2c0feba6), process radosgw, pid 7930
>> > 2014-11-06 15:39:08.870429 7f80cc670880 0 librados:
>> > client.radosgw.gw.env2 authentication error (1) Operation not
>> > permitted
>> > 2014-11-06 15:39:08.870889 7f80cc670880 -1 Couldn't init storage
>> > provider (RADOS)
>> >
>> >
>> > What am I doing wrong?
>> >
>> > Marco Garcês
>> > #sysadmin
>> > Maputo - Mozambique
>> > [Skype] marcogarces
>> >
>> >
>> > On Thu, Nov 6, 2014 at 10:11 AM, Marco Garcês <marco@xxxxxxxxx> wrote:
>> >> Your solution of pre-pending the environment name to the bucket, was
>> >> my first choice, but at the moment I can't ask the devs to change the
>> >> code to do that. For now I have to stick with the zones solution.
>> >> Should I follow the federated zones docs
>> >> (http://ceph.com/docs/master/radosgw/federated-config/) but skip the
>> >> sync step?
>> >>
>> >> Thank you,
>> >>
>> >> Marco Garcês
>> >>
>> >> On Wed, Nov 5, 2014 at 8:13 PM, Craig Lewis <clewis@xxxxxxxxxxxxxxxxxx>
>> >> wrote:
>> >>> You could setup dedicated zones for each environment, and not
>> >>> replicate between them.
>> >>>
>> >>> Each zone would have it's own URL, but you would be able to re-use
>> >>> usernames and bucket names. If different URLs are a problem, you
>> >>> might be able to get around that in the load balancer or the web
>> >>> servers. I wouldn't really recommend that, but it's possible.
>> >>>
>> >>>
>> >>> I have a similar requirement. I was able to pre-pending the
>> >>> environment name to the bucket in my client code, which made things
>> >>> much easier.
>> >>>
>> >>>
>> >>> On Wed, Nov 5, 2014 at 8:52 AM, Marco Garcês <marco@xxxxxxxxx> wrote:
>> >>>> Hi there,
>> >>>>
>> >>>> I have this situation, where I'm using the same Ceph cluster (with
>> >>>> radosgw), for two different environments, QUAL and PRE-PRODUCTION.
>> >>>>
>> >>>> I need different users for each environment, but I need to create the
>> >>>> same buckets, with the same name; I understand there is no way to
>> >>>> have
>> >>>> 2 buckets with the same name, but how can I go around this? Perhaps
>> >>>> creating a different pool for each user?
>> >>>>
>> >>>> Can you help me? Thank you in advance, my best regards,
>> >>>>
>> >>>> Marco Garcês
>> >>>> _______________________________________________
>> >>>> ceph-users mailing list
>> >>>> ceph-users@xxxxxxxxxxxxxx
>> >>>> http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com
>
>
_______________________________________________ ceph-users mailing list ceph-users@xxxxxxxxxxxxxx http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com