Restoring Domains and Buckets

Recreate the object using the recreatecid query argument to recover a bucket if the domain or bucket (context object) is mistakenly deleted in the storage cluster. 

Caution

Any mistakes in using below commands can cause serious problems. Consult DataCore Support for assistance with these operations.

Do not attempt to use recreatecid to move bucket contents across domains within the cluster.

Tip

If the grace period (health.recursiveDeleteDelay) follows the recursive deletion of a domain or bucket, use the special methods below to restore it without data loss. If the deletion had no grace period (recursive=now), only some of the data is lost to reclamation, depending on how much time has passed since the delete.

Preserving Headers

Preserve the existing domain or bucket. See https://perifery.atlassian.net/wiki/spaces/public/pages/2443820996.

  • Look for Policy-* headers, such as Policy-Replication, Policy-ECEncoding, Policy-ECMinStreamSize, Policy-Versioning, and Policy-Lifecycle, and the x-tenant-meta-name header that Gateway uses to group domains under a tenant.

  • Add the preserve https://perifery.atlassian.net/wiki/spaces/public/pages/2443821292 to the COPY request to verify any custom metadata existing on the object is carried over to the copy. (v9.2)

  • Include the header name with the new value on the request to overwrite an existing value. 

See Headers to preserve in https://perifery.atlassian.net/wiki/spaces/public/pages/2443821408.

Recovering a Deleted Domain

A new domain cannot be created with an identical name to recover a domain as it is mapped to a new UUID; Castor-System-Alias on the domain stream. Create a new domain from the command line and use a query argument to apply the previous domain's UUID.

Orphaned Buckets - The buckets in the deleted domain reference are not with the name but with UUID (Castor-System-CID). These buckets are not accessible until a new domain is created which uses the original UUID.

To recover the domain:

  1. Locate and record the log message related to the missing domain.

    Domain 'example.com' (uuid=a2fc4bb0fc31bbc73a088783aef8ea73) has been deleted ...
  2. Copy the UUID listed within the log message to recreate the missing domain.

    a2fc4bb0fc31bbc73a088783aef8ea73
  3. Create a new domain with a POST that references the deleted domain's UUID in the recreatecid query argument

    curl -i -X POST --location-trusted --post301 --user 'admin:datacore' --data-binary '' \ -H 'Content-type: application/castorcontext' \ -H "Policy-*: {if needed}" \ 'http://10.160.132.33?domain=unwanted-chs-eu-domain1&admin&recreatecid=04648a25e90c0b036435caa6d03295be'
  4. If the domain and its content are not required, delete them. This is optional.

Recovering a Deleted Bucket

The named objects within the bucket are inaccessible until the bucket is recovered after deleting a bucket.

To recover the bucket:

  1. Locate and record a critical log message related to the missing bucket, resulting from a named object within it being inaccessible. 

  2. Copy the UUID listed within the log message to recreate the missing bucket.

  3. Create a new bucket with a POST that references the deleted bucket's UUID in the recreatecid query argument:





© DataCore Software Corporation. · https://www.datacore.com · All rights reserved.