bucket删除中的细节有哪些

bucket删除中的细节有哪些

bucket删除中的细节有哪些,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

问题描述

社区群里有人说删除bucket以后还有部分数据残留,用的ceph 10.2.x版本做的验证

bucket删除中的细节有哪些

测试用例

fromboto.s3.connectionimportS3Connectionimportbotoconn=boto.connect_s3(aws_access_key_id='',aws_secret_access_key='',host='s3.cephbook.com',port=80,is_secure=False,calling_format=boto.s3.connection.OrdinaryCallingFormat(),)bucket=conn.create_bucket('foo')#bucket.delete()

删除前

root@demohost:/home/user#radosls-prgw.rootfoo.bucket.meta.foo:70af9a54-20bb-480b-92f4-cbdeef0b775c.217357.1

删除后

root@demohost:/home/user#radosls-prgw.root.bucket.meta.foo:70af9a54-20bb-480b-92f4-cbdeef0b775c.217357.1#残留

原因分析

对meta file的删除操作需要根据是否开启了多集群同步来决定

#src/rgw/rgw_rados.ccop_ret=store->delete_bucket(s->bucket,ot);#入口..../*ifthebucketisnotsyncedwecanremovethemetafile*/if(!is_syncing_bucket_meta(bucket)){RGWObjVersionTrackerobjv_tracker;stringentry=bucket.get_key();r=rgw_bucket_instance_remove_entry(this,entry,&objv_tracker);if(r<0){returnr;}/*removebucketindexobjects*/map<int,string>::const_iteratorbiter;for(biter=bucket_objs.begin();biter!=bucket_objs.end();++biter){index_ctx.remove(biter->second);}}

满足下面4种情况是不会进行meta file的删除操作
当前period不是最新版本zonegroup为非master zonegroup
当前集群只有单个zonegroup,且只有一个zone当前zone不是master zone

/***Checktoseeifthebucketmetadatacouldbesynced*bucket:thebuckettocheck*Returnsfalseisthebucketisnotsynced*/boolRGWRados::is_syncing_bucket_meta(rgw_bucket&bucket){/*nocurrentperiod*/if(current_period.get_id().empty()){returnfalse;}/*zonegroupisnotmasterzonegroup*/if(!get_zonegroup().is_master){returnfalse;}/*singlezonegroupandasinglezone*/if(current_period.is_single_zonegroup(cct,this)&&get_zonegroup().zones.size()==1){returnfalse;}/*zoneisnotmaster*/if(get_zonegroup().master_zone.compare(zone_public_config.id)!=0){returnfalse;}returntrue;}

解决方案

  1. rados命令手工删除对应的obj,但是要注意相应的bucket一定是不再需要的,最好是在多个集群上确认最终操作,确保数据一致性。

  2. 修改集群配置,满足上面4点需求之一。

最后非标准操作去删除bucket可能破坏底层数据一致性,起手无悔,一定要慎重。

看完上述内容,你们掌握bucket删除中的细节有哪些的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注恰卡编程网行业资讯频道,感谢各位的阅读!

发布于 2021-12-23 21:18:56
收藏
分享
海报
0 条评论
36
上一篇:如何更换S3用户access-key和secret-key 下一篇:zookeeper的web图形界面是怎样的
目录

    推荐阅读

    0 条评论

    本站已关闭游客评论,请登录或者注册后再评论吧~

    忘记密码?

    图形验证码