从12.2.11开始多了一个清理bucket reshard以后的残留元数据命令(reshard stale-instances list|rm)。下面实例讲解具体操作
已经删掉了demo1和demo2两个bucket,但是发现在meta和index这两个pool里面还是有残留信息
[root@demohost supdev]# rados ls -p cn-hb-1.rgw.meta --all
......
users.uid s3test.buckets
users.uid s3test
users.keys B45IHF34SQPKDNHAUVVV
root .bucket.meta.demo1:28ee9bf8-5822-4fc1-8dd8-4ca8bf7cf5a5.5127.1 #残留,注意bucket的instances id
root .bucket.meta.demo2:28ee9bf8-5822-4fc1-8dd8-4ca8bf7cf5a5.5127.2 #残留
......
[root@demohost supdev]# rados ls -p cn-hb-1.rgw.buckets.index --all
.dir.28ee9bf8-5822-4fc1-8dd8-4ca8bf7cf5a5.5127.1.14 #残留,下面都是
.dir.28ee9bf8-5822-4fc1-8dd8-4ca8bf7cf5a5.5127.2.1
.dir.28ee9bf8-5822-4fc1-8dd8-4ca8bf7cf5a5.5127.2.10
.dir.28ee9bf8-5822-4fc1-8dd8-4ca8bf7cf5a5.5127.2.9
.dir.28ee9bf8-5822-4fc1-8dd8-4ca8bf7cf5a5.5127.2.12
.dir.28ee9bf8-5822-4fc1-8dd8-4ca8bf7cf5a5.5127.1.12
.dir.28ee9bf8-5822-4fc1-8dd8-4ca8bf7cf5a5.5127.2.13
.dir.28ee9bf8-5822-4fc1-8dd8-4ca8bf7cf5a5.5127.1.0
.dir.28ee9bf8-5822-4fc1-8dd8-4ca8bf7cf5a5.5127.2.5
.dir.28ee9bf8-5822-4fc1-8dd8-4ca8bf7cf5a5.5127.1.13
.dir.28ee9bf8-5822-4fc1-8dd8-4ca8bf7cf5a5.5127.2.15
.dir.28ee9bf8-5822-4fc1-8dd8-4ca8bf7cf5a5.5127.2.8
.dir.28ee9bf8-5822-4fc1-8dd8-4ca8bf7cf5a5.5127.2.6
.dir.28ee9bf8-5822-4fc1-8dd8-4ca8bf7cf5a5.5127.2.11
.dir.28ee9bf8-5822-4fc1-8dd8-4ca8bf7cf5a5.5127.1.10
.dir.28ee9bf8-5822-4fc1-8dd8-4ca8bf7cf5a5.5127.2.4
.dir.28ee9bf8-5822-4fc1-8dd8-4ca8bf7cf5a5.5127.1.4
.dir.28ee9bf8-5822-4fc1-8dd8-4ca8bf7cf5a5.5127.1.6
.dir.28ee9bf8-5822-4fc1-8dd8-4ca8bf7cf5a5.5127.1.15
.dir.28ee9bf8-5822-4fc1-8dd8-4ca8bf7cf5a5.5127.1.1
.dir.28ee9bf8-5822-4fc1-8dd8-4ca8bf7cf5a5.5127.2.7
.dir.28ee9bf8-5822-4fc1-8dd8-4ca8bf7cf5a5.5127.2.0
.dir.28ee9bf8-5822-4fc1-8dd8-4ca8bf7cf5a5.5127.1.2
.dir.28ee9bf8-5822-4fc1-8dd8-4ca8bf7cf5a5.5127.2.3
.dir.28ee9bf8-5822-4fc1-8dd8-4ca8bf7cf5a5.5127.1.7
.dir.28ee9bf8-5822-4fc1-8dd8-4ca8bf7cf5a5.5127.1.3
.dir.28ee9bf8-5822-4fc1-8dd8-4ca8bf7cf5a5.5127.2.2
.dir.28ee9bf8-5822-4fc1-8dd8-4ca8bf7cf5a5.5127.2.14
.dir.28ee9bf8-5822-4fc1-8dd8-4ca8bf7cf5a5.5127.1.9
.dir.28ee9bf8-5822-4fc1-8dd8-4ca8bf7cf5a5.5127.1.8
.dir.28ee9bf8-5822-4fc1-8dd8-4ca8bf7cf5a5.5127.1.5
.dir.28ee9bf8-5822-4fc1-8dd8-4ca8bf7cf5a5.5127.1.11
删除非常简单,先获取可以进行删除操作的bucket列表,之后执行rm即可
[root@demohost supdev]# radosgw-admin reshard stale-instances list
[
"demo2:28ee9bf8-5822-4fc1-8dd8-4ca8bf7cf5a5.5127.2",
"demo1:28ee9bf8-5822-4fc1-8dd8-4ca8bf7cf5a5.5127.1"
]
[root@demohost supdev]# radosgw-admin reshard stale-instances rm
[
{
"bucket_instance": "demo2:28ee9bf8-5822-4fc1-8dd8-4ca8bf7cf5a5.5127.2",
"status": 0
},
{
"bucket_instance": "demo1:28ee9bf8-5822-4fc1-8dd8-4ca8bf7cf5a5.5127.1",
"status": 0
}
]
[root@demohost supdev]# radosgw-admin reshard stale-instances list
[]
[root@demohost supdev]# rados ls -p cn-hb-1.rgw.buckets.index --all
[root@demohost supdev]# rados ls -p cn-hb-1.rgw.meta --all
users.uid s3test.buckets
users.uid s3test
users.keys B45IHF34SQPKDNHAUVVV
注意reshard stale-instances 命令只在12.2.11版本才引入,所以如果你要用这个功能需要升级到对应版本,同时reshard操作只能在单集群中使用,如果你使用了Multisite,会发现执行完reshard stale-instances rm 以后,从集群的index pool仍然会有残留的index object(需要手工清理)