Adding a bit more context to this thread.
I added an additional radosgw to each cluser. Radosgw 1-3 are customer facing.
Radosgw #4 is dedicated to syncing
Radosgw 1-3 now have an additional lines:
rgw_enable_lc_threads = False
rgw_enable_gc_threads = False
Radosgw4 has the additional line:
rgw_sync_obj_etag_verify = True
The logs on any of the radosgw’s appear to be identical, but here is an example
log that is reflect on any of the servers. Notice the IP addresses are 1-4.
Where I expect the traffic to be from only 4.
Is this to be expected?
My understanding of this thread is that this traffic would be regulated to
radosgw 04.
Example Ceph Conf for a single node, this is RadosGw 01
[client.rgw.west01.rgw0]
host = west01
keyring = /var/lib/ceph/radosgw/west-rgw.west01.rgw0/keyring
log file = /var/log/ceph/west-rgw-west01.rgw0.log
rgw frontends = beast port=8080 num_threads=500
rgw_dns_name = west01.example.com
rgw_max_chunk_size = 67108864
rgw_obj_stripe_size = 67108864
rgw_put_obj_min_window_size = 67108864
rgw_zone = rgw-west
rgw_enable_lc_threads = False
rgw_enable_gc_threads = False
------------
Example Logs:
2023-05-18T19:06:48.295+0000 7fb295f83700 1 beast: 0x7fb3e82b26f0: 10.10.10.1
- synchronization-user [18/May/2023:19:06:48.107 +0000] "GET
/admin/log/?type=data&id=69&marker=1_xxxx&extra-info=true&rgwx-zonegroup=xxxxx
HTTP/1.1" 200 44 - - - latency=0.188007131s
2023-05-18T19:06:48.371+0000 7fb1dd612700 1 ====== starting new request
req=0x7fb3e80ae6f0 =====
2023-05-18T19:06:48.567+0000 7fb1dd612700 1 ====== req done req=0x7fb3e80ae6f0
op status=0 http_status=200 latency=0.196007445s ======
2023-05-18T19:06:48.567+0000 7fb1dd612700 1 beast: 0x7fb3e80ae6f0: 10.10.10.3
- synchronization-user [18/May/2023:19:06:48.371 +0000] "GET
/admin/log/?type=data&id=107&marker=1_xxxx&extra-info=true&rgwx-zonegroup=xxxx
HTTP/1.1" 200 44 - - - latency=0.196007445s
2023-05-18T19:06:49.023+0000 7fb290f79700 1 ====== starting new request
req=0x7fb3e81b06f0 =====
2023-05-18T19:06:49.023+0000 7fb28bf6f700 1 ====== req done req=0x7fb3e81b06f0
op status=0 http_status=200 latency=0.000000000s ======
2023-05-18T19:06:49.023+0000 7fb28bf6f700 1 beast: 0x7fb3e81b06f0: 10.10.10.2
- synchronization-user [18/May/2023:19:06:49.023 +0000] "GET
/admin/log?bucket-instance=ceph-bucketxxx%3A81&format=json&marker=00000020447.3609723.6&type=bucket-index&rgwx-zonegroup=xxx
HTTP/1.1" 200 2 - - - latency=0.000000000s
2023-05-18T19:06:49.147+0000 7fb27af4d700 1 ====== starting new request
req=0x7fb3e81b06f0 =====
2023-05-18T19:06:49.151+0000 7fb27af4d700 1 ====== req done req=0x7fb3e81b06f0
op status=0 http_status=200 latency=0.004000151s ======
2023-05-18T19:06:49.475+0000 7fb280f59700 1 beast: 0x7fb3e82316f0: 10.10.10.4
- synchronization-user [18/May/2023:19:06:49.279 +0000] "GET
/admin/log/?type=data&id=58&marker=1_xxxx.1&extra-info=true&rgwx-zonegroup=xxxx
HTTP/1.1" 200 312 - - - latency=0.196007445s
2023-05-18T19:06:49.987+0000 7fb27c750700 1 ====== starting new request
req=0x7fb3e81b06f0 =====
radosgw-admin zonegroup get
{
"id": "x",
"name": "eastWestceph",
"api_name": "EastWestCeph",
"is_master": "true",
"endpoints": [
"http://east01.noam.lnrm.net:8080",
"http://east02.noam.lnrm.net:8080",
"http://east03.noam.lnrm.net:8080",
"http://east04.noam.lnrm.net:8080", << ---- sync node
"http://west01.noam.lnrm.net:8080",
"http://west02.noam.lnrm.net:8080",
"http://west03.noam.lnrm.net:8080",
"http://west04.noam.lnrm.net:8080" << ---- sync node
],
.......
],
"hostnames_s3website": [],
"master_zone": "x",
"zones": [
{
"id": "x",
"name": "rgw-west",
"endpoints": [
"http://west01.noam.lnrm.net:8080",
"http://west02.noam.lnrm.net:8080",
"http://west03.noam.lnrm.net:8080",
"http://west04.noam.lnrm.net:8080" << -- sync node
],
"log_meta": "false",
"log_data": "true",
"bucket_index_max_shards": 0,
"read_only": "false",
"tier_type": "",
"sync_from_all": "true",
"sync_from": [],
"redirect_zone": ""
},
{
"id": "x",
"name": "rgw-east",
"endpoints": [
"http://east01.noam.lnrm.net:8080",
"http://east02.noam.lnrm.net:8080",
"http://east03.noam.lnrm.net:8080",
"http://east04.noam.lnrm.net:8080" << -- sync node
....
From: Ulrich Klein <[email protected]>
Date: Tuesday, May 16, 2023 at 10:22 AM
To: Konstantin Shalygin <[email protected]>
Cc: Michal Strnad <[email protected]>, ceph-users <[email protected]>
Subject: [ceph-users] Re: Dedicated radosgw gateways
[You don't often get email from [email protected]. Learn why this is
important at https://aka.ms/LearnAboutSenderIdentification ]
*** External email: use caution ***
Hi,
Might be a dumb question …
I'm wondering how I can set those config variables in some but not all RGW
processes?
I'm on a cephadm 17.2.6. On 3 nodes I have RGWs. The ones on 8080 are behind
haproxy for users. the ones one 8081 I'd like for sync only.
# ceph orch ps | grep rgw
rgw.max.maxvm4.lmjaef maxvm4 *:8080 running (51m) 4s ago 2h
262M - 17.2.6 d007367d0f3c 315f47a4f164
rgw.max.maxvm4.lwzxpf maxvm4 *:8081 running (51m) 4s ago 2h
199M - 17.2.6 d007367d0f3c 7ae82e5f6ef2
rgw.max.maxvm5.syxpnb maxvm5 *:8081 running (51m) 4s ago 2h
137M - 17.2.6 d007367d0f3c c0635c09ba8f
rgw.max.maxvm5.wtpyfk maxvm5 *:8080 running (51m) 4s ago 2h
267M - 17.2.6 d007367d0f3c b4ad91718094
rgw.max.maxvm6.ostneb maxvm6 *:8081 running (51m) 4s ago 2h
150M - 17.2.6 d007367d0f3c 83b2af8f787a
rgw.max.maxvm6.qfulra maxvm6 *:8080 running (51m) 4s ago 2h
262M - 17.2.6 d007367d0f3c 81d01bf9e21d
# ceph config show rgw.max.maxvm4.lwzxpf
Error ENOENT: no config state for daemon rgw.max.maxvm4.lwzxpf
# ceph config set rgw.max.maxvm4.lwzxpf rgw_enable_lc_threads false
Error EINVAL: unrecognized config target 'rgw.max.maxvm4.lwzxpf'
(Not surprised)
# ceph tell rgw.max.maxvm4.lmjaef get rgw_enable_lc_threads
error handling command target: local variable 'poolid' referenced before
assignment
# ceph tell rgw.max.maxvm4.lmjaef set rgw_enable_lc_threads false
error handling command target: local variable 'poolid' referenced before
assignment
Is there any way to set the config for specific RGWs in a containerized env?
(ceph.conf doesn't work. Doesn't do anything and gets overwritten with a
minimall version at "unpredictable" intervalls)
Thanks for any ideas.
Ciao, Uli
> On 15. May 2023, at 14:15, Konstantin Shalygin <[email protected]> wrote:
>
> Hi,
>
>> On 15 May 2023, at 14:58, Michal Strnad <[email protected]> wrote:
>>
>> at Cephalocon 2023, it was mentioned several times that for service tasks
>> such as data deletion via garbage collection or data replication in S3 via
>> zoning, it is good to do them on dedicated radosgw gateways and not mix them
>> with gateways used by users. How can this be achieved? How can we isolate
>> these tasks? Will using dedicated keyrings instead of admin keys be
>> sufficient? How do you operate this in your environment?
>
> Just:
>
> # don't put client traffic to "dedicated radosgw gateways"
> # disable lc/gc on "gateways used by users" via `rgw_enable_lc_threads =
> false` & `rgw_enable_gc_threads = false`
>
>
> k
> _______________________________________________
> ceph-users mailing list -- [email protected]
> To unsubscribe send an email to [email protected]
_______________________________________________
ceph-users mailing list -- [email protected]
To unsubscribe send an email to [email protected]
________________________________
The information contained in this e-mail message is intended only for the
personal and confidential use of the recipient(s) named above. This message may
be an attorney-client communication and/or work product and as such is
privileged and confidential. If the reader of this message is not the intended
recipient or an agent responsible for delivering it to the intended recipient,
you are hereby notified that you have received this document in error and that
any review, dissemination, distribution, or copying of this message is strictly
prohibited. If you have received this communication in error, please notify us
immediately by e-mail, and delete the original message.
_______________________________________________
ceph-users mailing list -- [email protected]
To unsubscribe send an email to [email protected]