ECS: So löschen Sie einen S3-Bucket mit vielen Objekten
Summary: Ein S3-Bucket verfügt über viele Objekte, sollte aber gelöscht werden. In diesem Artikel wird beschrieben, wie Sie alle Objekte aus einem Bucket entfernen und den Bucket endgültig löschen. ...
Instructions
Einschränkungen für die unten aufgeführten Vorgänge:
- Objekte unter ECS-Aufbewahrung können nicht gelöscht werden.
- Objekte unter Objektsperrenaufbewahrung können nicht gelöscht werden.
- Dateisystemfähige Buckets erfordern Version 3.8.1 oder höher.
Empfohlene Option: Version 3.8 oder höher:
In Version 3.8 der ECS-Software hat Dell das vereinfachte Löschen von Buckets eingeführt. Jetzt können Objekte und der Bucket mithilfe der REST API oder einer leeren Bucket-S3-Zeichenfolge mithilfe von x-emc-headers. Dell Technologies empfiehlt ein Upgrade auf 3.8. und mithilfe der vereinfachten Bucket-Löschung über die Lebenszykluslöschung.
Verwenden des "vereinfachten Bucket-Löschens" über die ECS-Benutzeroberfläche (erfordert 3.8.1.0 oder höher)
Version 3.8.1.x und höher ermöglicht das Löschen des Buckets mit Inhalt über die ECS-Benutzeroberfläche mit den entsprechenden Berechtigungen. Navigieren Sie zum Bucket und wählen Sie in der Drop-down-Liste delete aus. Wählen Sie Delete ENTIRE contents including the selected bucket aus und bestätigen Sie die Auswahl.

Verwenden des vereinfachten Bucket-Löschens mithilfe der REST API.
Weitere Informationen finden Sie im neuesten REST API-Handbuch.

Beispiel für das Senden des Rest-API-Aufrufs mit curl von ECS:
Befehl:
# curl -k -H "$token" -X POST https://<hostname-or-ip>:4443/object/bucket/<bucketname>/deactivate?namespace=<namespace>\&emptyBucket=true
Beispiel:
curl -v -k -H "$token" -X POST https://10.60.x.xx:4443/object/bucket/ExampleBucketRest/deactivate?namespace=b_mathias_ns\&emptyBucket=true
So überwachen Sie:

Befehl:
# curl -k -H "$token" -X GET https://<hostname-or-ip>:4443/object/bucket/<bucketname>/empty-bucket-status?namespace=<namespace> |xmllint --format -
Beispiel:
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>
Der obige Fehler wird erwartet, da der Bucket nicht mehr gefunden wird.
Verwenden des vereinfachten Bucket-Löschens mithilfe von S3:
- Weitere Informationen finden Sie im neuesten Leitfaden für den Datenzugriff.
- Siehe v3.8 Datenzugriffshandbuch.
Die schnellste Möglichkeit, einen Bucket mit dieser Option zu adressieren, ist die s3curl.
x-emc headers sind im Moment nicht voll funktionsfähig.
s3curl ist auf GitHub für lokale Installationen verfügbar. Diese Version wird verwendet für das Einschließen von x-emc-headers https://github.com/EMCECS/s3curl/blob/master/s3curl.pl Die modifizierte Version von
s3curl.pl Es ist geplant, in einer zukünftigen Version zum ECS-Code hinzugefügt zu werden, und dieser Wissensdatenbank-Artikel wird aktualisiert.
Beim Herunterladen von
s3curl konfiguriert ist, fahren Sie mit den folgenden Schritten fort. Beachten Sie, dass Daten nicht wiederhergestellt werden können!
- Starten Sie eine vereinfachte Bucket-Löschung mithilfe von:
s3curlfestzulegen:
./s3curl --id=<alias> --DELETE -- http://<hostname-or-ip>:9020/<bucketname> -H "x-emc-empty-bucket:true"
Beispiel:
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"
Löschen von Monitor-Buckets:
./s3curl.pl --id=<alias> http://<hostname-or-ip>:9020/<bucketname>?empty-bucket-status |xmllint --format -
Beispiel:
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>
Führen Sie für Codeversionen vor 3.8 ein Upgrade durch, um die Verfügbarkeit der oben genannten Optionen sicherzustellen.