ECS. Как удалить контейнер S3 с большим количеством объектов

摘要: Контейнер S3 содержит много объектов, но его следует удалить. В этой статье описывается, как удалить все объекты из контейнера и окончательно удалить контейнер.

本文适用于 本文不适用于 本文并非针对某种特定的产品。 本文并非包含所有产品版本。

说明

ВНИМАНИЕ! Эта процедура очищает все объекты в целевом контейнере. Данные не могут быть восстановлены, используйте их с осторожностью.


Ограничения для следующих операций:
  • Невозможно удалить объекты, находящиеся на хранении ECS .
  • Объекты, для которых установлена блокировка объекта , не могут быть удалены.
  • Для контейнеров, поддерживающих файловую систему, требуется версия 3.8.1 или более поздняя. 

Рекомендуемый вариант: Версия 3.8 или более поздняя:
В версии 3.8 программного обеспечения ECS компания Dell представила упрощенное удаление контейнеровТеперь объекты и контейнер можно удалить с помощью REST API или пустую строку S3 контейнера с помощью x-emc-headers. Dell Technologies рекомендует выполнить обновление до версии 3.8. и использование упрощенного удаления контейнеров в течение жизненного цикла.

Использование «упрощенного удаления контейнера» с помощью пользовательского интерфейса ECS (требуется 3.8.1.0 или более поздняя версия)
Версия 3.8.1.x и выше позволяет удалить контейнер с содержимым из пользовательского интерфейса ECS с соответствующими разрешениями. Перейдите к контейнеру и выберите Удалить в раскрывающемся списке. Выберите Удалить ВСЕ содержимое, включая выбранный контейнер и подтвердите это. 

Использование «упрощенного удаления контейнера» с помощью пользовательского интерфейса ECS (требуется 3.8.1.0 или более поздняя версия)

Использование упрощенного удаления контейнера с помощью REST API.
Для справки ознакомьтесь с последней версией руководства по API-интерфейсу REST.

Использование «упрощенного удаления контейнеров» с помощью REST API.

Пример отправки вызова rest API с использованием curl из ECS:

Команда.

# curl -k -H "$token" -X POST https://<hostname-or-ip>:4443/object/bucket/<bucketname>/deactivate?namespace=<namespace>\&emptyBucket=true

Пример.

curl -v -k -H "$token" -X POST https://10.60.x.xx:4443/object/bucket/ExampleBucketRest/deactivate?namespace=b_mathias_ns\&emptyBucket=true

Для мониторинга:

Для отслеживания удаления контейнера выполните следующие действия.

Команда.

# curl -k -H "$token" -X GET https://<hostname-or-ip>:4443/object/bucket/<bucketname>/empty-bucket-status?namespace=<namespace> |xmllint --format -

Пример.

Started:
mathias@client:/usr/share/s3curl$ curl -k -H "$token" -X GET https://10.60.x.xx:4443/object/bucket/ExampleBucketRest/empty-bucket-status?namespace=b_mathias_ns |xmllint --format -
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<empty_bucket_status>
  <status>PENDING</status>
  <created>1707411798889</created>
  <last_updated>1707411798889</last_updated>
  <entries_deleted>0</entries_deleted>
  <failed_to_delete_due_to_retention>0</failed_to_delete_due_to_retention>
  <failed_to_delete_due_to_permission>0</failed_to_delete_due_to_permission>
  <failed_to_delete_due_to_dangling xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
  <failed_to_delete_due_to_other>0</failed_to_delete_due_to_other>
  <message xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
</empty_bucket_status>

Running:
mathias@client:/usr/share/s3curl$ curl -k -H "$token" -X GET https://10.60.x.xx:4443/object/bucket/ExampleBucketRest/empty-bucket-status?namespace=b_mathias_ns |xmllint --format -
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   629  100   629    0     0   2431      0 --:--:-- --:--:-- --:--:--  2437
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<empty_bucket_status>
  <status>IN_PROGRESS</status>
  <created>1707411798889</created>
  <last_updated>1707411828897</last_updated>
  <entries_deleted>1337</entries_deleted>
  <failed_to_delete_due_to_retention>0</failed_to_delete_due_to_retention>
  <failed_to_delete_due_to_permission>0</failed_to_delete_due_to_permission>
  <failed_to_delete_due_to_dangling xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
  <failed_to_delete_due_to_other>0</failed_to_delete_due_to_other>
  <message xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
</empty_bucket_status>

Completed:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<error>
  <code>1004</code>
  <description>Request parameter cannot be found</description>
  <details>Unable to find entity with the given id ExampleBucketRest</details>
  <retryable>false</retryable>
</error>

Указанная выше ошибка ожидаема, так как контейнер больше не найден.

Использование упрощенного удаления контейнера с помощью S3:

  1. Дополнительные сведения см. в последней версии руководства по доступу к данным.
  2. См. руководство по доступу к данным v3.8.

Использование «упрощенного удаления контейнера» с помощью S3 

Самый быстрый способ обращения к контейнеру с помощью этого параметра — s3curl.
 

Внимание! s3curl уже установлен на узлах ECS, но его не следует использовать для этой операции. Переменная x-emc headers не полностью функционируют на данный момент.
 
s3curl доступен на GitHub для локальных установок. Эта версия используется для включения x-emc-headers https://github.com/EMCECS/s3curl/blob/master/s3curl.pl Эта гиперссылка позволяет перейти на сайт за пределами Dell Technologies.

Модифицированная версия s3curl.pl планируется добавить в код ECS в будущей версии, и эта статья базы знаний обновляется.

Когда? s3curl выполните следующие действия. Имейте в виду, что данные не могут быть восстановлены!
  1. Запуск упрощенного удаления контейнера с помощью s3curl.
Команда.
./s3curl --id=<alias> --DELETE -- http://<hostname-or-ip>:9020/<bucketname> -H "x-emc-empty-bucket:true"

Пример.

mathias@client:/usr/share/s3curl$ ./s3curl.pl --id=b_mathias_iam --DELETE -- http://10.60.x.xx:9020/ExampleBucket -H "x-emc-empty-bucket:true"

Удаление контейнера мониторинга:

./s3curl.pl --id=<alias> http://<hostname-or-ip>:9020/<bucketname>?empty-bucket-status |xmllint --format -

Пример.

mathias@client:/usr/share/s3curl$ ./s3curl.pl --id=b_mathias_iam -- http://10.60.x.xx:9020/ExampleBucket?empty-bucket-status |xmllint --format -
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   474  100   474    0     0   3128      0 --:--:-- --:--:-- --:--:--  3139
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<EmptyBucketStatus xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
  <Status>PENDING</Status>
  <Created>2024-02-08T16:21:53.849Z</Created>
  <LastUpdated>2024-02-08T16:21:53.849Z</LastUpdated>
  <EntriesDeleted>0</EntriesDeleted>
  <FailedToDeleteDueToRetention>0</FailedToDeleteDueToRetention>
  <FailedToDeleteDueToPermission>0</FailedToDeleteDueToPermission>
  <FailedToDeleteDueToOther>0</FailedToDeleteDueToOther>

Running:
mathias@client:/usr/share/s3curl$ ./s3curl.pl --id=b_mathias_iam -- http://10.60.x.xx:9020/ExampleBucket?empty-bucket-status |xmllint --format -
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   478  100   478    0     0   3883      0 --:--:-- --:--:-- --:--:--  3886
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<EmptyBucketStatus xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
  <Status>IN_PROGRESS</Status>
  <Created>2024-02-08T16:21:53.849Z</Created>
  <LastUpdated>2024-02-08T16:22:23.899Z</LastUpdated>
  <EntriesDeleted>1304</EntriesDeleted>
  <FailedToDeleteDueToRetention>0</FailedToDeleteDueToRetention>
  <FailedToDeleteDueToPermission>0</FailedToDeleteDueToPermission>
  <FailedToDeleteDueToOther>0</FailedToDeleteDueToOther>
</EmptyBucketStatus>

Completed:
mathias@client:/usr/share/s3curl$ ./s3curl.pl --id=b_mathias_iam -- http://10.60.x.xx:9020/ExampleBucket?empty-bucket-status |xmllint --format -
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100   180    0   180    0     0   1300      0 --:--:-- --:--:-- --:--:--  1304
<?xml version="1.0"?>
<Error>
  <Code>NoSuchBucket</Code>
  <Message>The specified bucket does not exist</Message>
  <Resource>ExampleBucket</Resource>
  <RequestId>0a3c0812:18d77e3a715:2d7:1f33</RequestId>
</Error>


Для версий кода до 3.8 выполните модернизацию для обеспечения доступности указанных выше параметров.

受影响的产品

ECS Appliance

产品

ECS Appliance
文章属性
文章编号: 000014767
文章类型: How To
上次修改时间: 21 8月 2025
版本:  8
从其他戴尔用户那里查找问题的答案
支持服务
检查您的设备是否在支持服务涵盖的范围内。