Re: Creating a bucket with bucket constructor in Ceph v16.2.7

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

 



On Wed, May 17, 2023 at 11:13 PM Ramin Najjarbashi
<ramin.najarbashi@xxxxxxxxx> wrote:
>
> Hi
>
> I'm currently using Ceph version 16.2.7 and facing an issue with bucket
> creation in a multi-zone configuration. My setup includes two zone groups:
>
> ZG1 (Master) and ZG2, with one zone in each zone group (zone-1 in ZG1 and
> zone-2 in ZG2).
>
> The objective is to create buckets in a specific zone group (ZG2) using the
> bucket constructor.
> However, despite setting the desired zone group (abrak) in the request, the
> bucket is still being created in the master zone group (ZG1).
> I have defined the following endpoint pattern for each zone group:
>
> s3.{zg}.mydomain.com
>
> I am using the s3cmd client to interact with the Ceph cluster. I have
> ensured that I provide the necessary endpoint and region information while
> executing the bucket creation command. Despite my efforts, the bucket
> consistently gets created in ZG1 instead of ZG2.

this is expected behavior for the metadata consistency model. all
metadata gets created on the metadata master zone first, and syncs to
all other zones in the realm from there. so your buckets will be
visible to every zonegroup

however, ZG2 is still the 'bucket location', and its object data
should only reside in ZG2's zones. any s3 requests on that bucket sent
to ZG1 will get redirected to ZG2 and serviced there

if you don't want any metadata shared between the two zonegroups, you
can put them in separate realms. but that includes user metadata as
well

>
> - Ceph Version: 16.2.7
> - Zone Group 1 (ZG1) Endpoint: http://s3.zonegroup1.mydomain.com
> - Zone Group 2 (ZG2) Endpoint: http://s3.zonegroup2.mydomain.com
> - Desired Bucket Creation Region: zg2-api-name
>
>  have reviewed the Ceph documentation and made necessary configuration
> changes, but I have not been able to achieve the desired result.I kindly
> request your assistance in understanding why the bucket constructor is not
> honoring the specified region and always defaults to ZG1. I would greatly
> appreciate any insights, recommendations, or potential solutions to resolve
> this issue.
>
>  Thank you for your time and support.
>
> ---------------------------------
> Here are the details of my setup:
> ---------------------------------
>
> ```sh
> s3cmd --region zg2-api-name mb s3://test-zg2s3cmd info
> s3://test-zg2s3://test-zg2/ (bucket):
>    Location:  zg2-api-name
>    Payer:     BucketOwner
>    Expiration Rule: none
>    Policy:    none
>    CORS:      none
>    ACL:       development: FULL_CONTROL
> ```
>
> this is my config file:
>
> ```ini
> [default]
> access_key = <KEY>
> secret_key = <SECRET>
> host_base = s3.zonegroup1.mydomain.com
> host_bucket = s3.%(location)s.mydomain.com
> #host_bucket = %(bucket)s.s3.zonegroup1.mydomain.com
> #host_bucket = s3.%(location)s.mydomain.com
> #host_bucket = s3.%(region)s.mydomain.com
> bucket_location = zg1-api-name
> use_https = False
> ```
>
>
> Zonegroup configuration for the `zonegroup1` region:
>
> ```json
> {
>     "id": "fb3f818a-ca9b-4b12-b431-7cdcd80006d",
>     "name": "zg1-api-name",
>     "api_name": "zg1-api-name",
>     "is_master": "false",
>     "endpoints": [
>         "http://s3.zonegroup1.mydomain.com";,
>     ],
>     "hostnames": [
>         "s3.zonegroup1.mydomain.com",
>     ],
>     "hostnames_s3website": [
>         "s3-website.zonegroup1.mydomain.com",
>     ],
>     "master_zone": "at2-stg-zone",
>     "zones": [
>         {
>             "id": "at2-stg-zone",
>             "name": "at2-stg-zone",
>             "endpoints": [
>                 "http://s3.zonegroup1.mydomain.com";
>             ],
>             "log_meta": "false",
>             "log_data": "true",
>             "bucket_index_max_shards": 11,
>             "read_only": "false",
>             "tier_type": "",
>             "sync_from_all": "true",
>             "sync_from": [],
>             "redirect_zone": ""
>         }
>     ],
>     "placement_targets": [
>         {
>             "name": "default-placement",
>             "tags": [],
>             "storage_classes": [
>                 "STANDARD"
>             ]
>         }
>     ],
>     "default_placement": "default-placement",
>     "realm_id": "fa2f8194-4a9d-4b98-b411-9cdcd1e5506a",
>     "sync_policy": {
>         "groups": []
>     }
> }
> ```
>
> Zonegroup configuration for the `zonegroup2` region:
>
> ```json
> {
>     "id": "a513d60c-44a2-4289-a23d-b7a511be6ee4",
>     "name": "zg2-api-name",
>     "api_name": "zg2-api-name",
>     "is_master": "false",
>     "endpoints": [
>         "http://s3.zonegroup2.mydomain.com";
>     ],
>     "hostnames": [
>         "s3.zonegroup2.mydomain.com"
>     ],
>     "hostnames_s3website": [],
>     "master_zone": "zonegroup2-sh-1",
>     "zones": [
>         {
>             "id": "zonegroup2-sh-1",
>             "name": "zonegroup2-sh-1",
>             "endpoints": [
>                 "http://s3.zonegroup2.mydomain.com";
>             ],
>             "log_meta": "false",
>             "log_data": "false",
>             "bucket_index_max_shards": 11,
>             "read_only": "false",
>             "tier_type": "",
>             "sync_from_all": "true",
>             "sync_from": [],
>             "redirect_zone": ""
>         }
>     ],
>     "placement_targets": [
>         {
>             "name": "default-placement",
>             "tags": [],
>             "storage_classes": [
>                 "STANDARD"
>             ]
>         }
>     ],
>     "default_placement": "default-placement",
>     "realm_id": "fa2f8194-4a9d-4b98-b411-9cdcd1e5506a",
>     "sync_policy": {
>         "groups": []
>     }
> }
> ```
> _______________________________________________
> ceph-users mailing list -- ceph-users@xxxxxxx
> To unsubscribe send an email to ceph-users-leave@xxxxxxx
>
_______________________________________________
ceph-users mailing list -- ceph-users@xxxxxxx
To unsubscribe send an email to ceph-users-leave@xxxxxxx




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


  Powered by Linux