ceph / ceph-nvmeof

Service to provide Ceph storage over NVMe-oF/TCP protocol
GNU Lesser General Public License v3.0
89 stars 46 forks source link

Need NVMeoF GW CLI command to change load balancing Id for multiple namespaces at once. #513

Open sunilkumarn417 opened 8 months ago

sunilkumarn417 commented 8 months ago

User should able to move the namespaces from once Load-balancing-group to another with one command.

Scenario: In case of new gateway and load-balancing-group-id or replacing the gateway node, User need to move thousands of NVMe namespaces to new load-balancing-group-id. Currently there is a change_loadbalancing_group command option at namespace to perform this operation, But It would tedious job if there are thousands of namespaces under one gateway load-balancing-group-id.

caroav commented 8 months ago

option exists already in namespace command. Use "change_load_balancing_group"

sunilkumarn417 commented 8 months ago

@caroav The requirement is for multiple namespaces which has old load_balancong_group_id and has to get updated or moved to new id.

pcuzner commented 8 months ago

@sunilkumarn417 What's the performance impact to the client of a single namespace change? Before considering a bulk option should that be considered first? For example, if a namespace changing group causes an I/O quiesce for 'n' seconds before a result - the customer may not want that happening across all their applications and services at the same time.

sunilkumarn417 commented 8 months ago

@pcuzner I Agree to that. I was thinking if there were other way to perform for multiple namespaces which would be easier for user in smooth way( maybe like one namespace after another).

caroav commented 8 months ago

I think that it should be quite easy to write scripts to do it? I don't think that there is much performance impact, worth playing with it of course. Internally this operation is "deleting" and "recreating" the namespace in all GWs. Because the SPDK API only allows to set the ANA grp ID at namespace creation.