为什么容器和对象没有从Swift的文件系统中删除?

时间:2013-06-04 01:39:22

标签: cloud openstack openstack-swift

假设我使用以下命令在swift存储节点上创建容器。

curl -v -X PUT -H'X-Auth-Token:AUTH_tkf0685272b8f64c80a97727141a64a7ca'http://www.tempwebsite.com:8080/v1/AUTH_test/tempcontainer

如果我在我的文件系统中签入创建swift节点的地方,则会在容器文件夹下创建一个新容器。

我现在也可以通过GET调用看到这个容器,如下所示:

curl -v -H'X-Auth-Token:AUTH_tkf0685272b8f64c80a97727141a64a7ca'http://www.tempwebsite.com:8080/v1/AUTH_test/

现在,当我通过DELETE调用删除此容器时,如下所示

curl -v -X DELETE -H“X-Auth-Token:AUTH_tkf0685272b8f64c80a97727141a64a7ca”http://www.tempwebsite.com:8080/v1/AUTH_test/tempcontainer

它似乎被删除了,因为当我在删除后进行GET调用时,容器不存在而且我得到404找不到repsonse

但是,文件系统中的容器仍然存在,因为在对象数据文件转换为逻辑删除文件的情况下也是如此,但是这些逻辑删除文件也不会被删除。 (Swift文档说它们最终会被收割者删除,但请注意我已经等了4天以上但是对象和容器仍在那里。)

请建议。

1 个答案:

答案 0 :(得分:2)

墓碑用于确保所有复制品都被.ts清空。 reclaim_age可以在配置文件中设置,例如https://github.com/openstack/swift/blob/master/etc/container-server.conf-sample#L106。 默认值为7天。

希望它有所帮助。