ECS: não é possível migrar clipes do Centera para o ECS - ERROR_RETENTION_INCORRECT

摘要: Não é possível migrar clipes do Centera para o ECS - "ERROR_RETENTION_INCORRECT".

本文章適用於 本文章不適用於 本文無關於任何特定產品。 本文未識別所有產品版本。

症狀

Os clipes estão falhando ao migrar do Centera para o ECS com "ERROR_RETENTION_INCORRECT".

Exemplo de rastreamento de pilha:

169.254.1.8 2019-11-21T19:30:53,212 [1215100270,sdk,ECSSYNCKDC01/3594002/WRITE_CLIP,-531c636:16e89995c11:-7a82,1] ERROR  AbstractTransaction.java (line 136) Failed to execute the transaction, aborting.
TransactionFailureException: com.emc.vipr.cashead.api.ObjectRetentionIncorrect: Failed to execute operation, error is ERROR_RETENTION_INCORRECT, object name is null
        at com.emc.vipr.cashead.storageserver.access.transaction.write.ObjectWriterImpl.finish(ObjectWriterImpl.java:80)
        at com.emc.vipr.cashead.storageserver.access.transaction.write.AwaitEOF.finish(AwaitEOF.java:173)
        at com.emc.vipr.cashead.storageserver.access.transaction.write.AwaitEOF.put(AwaitEOF.java:111)
        at com.emc.vipr.cashead.storageserver.access.msg.RichLastSegmentMessage.execute(RichLastSegmentMessage.java:61)
        at com.emc.vipr.cashead.storageserver.access.encoding.hpp.HPPResponder$EnqueableTransactionObject.execute(HPPResponder.java:311)
        at com.emc.vipr.cashead.storageserver.access.transaction.AccessTransaction.executeMessage(AccessTransaction.java:57)
        at com.emc.vipr.cashead.storageserver.access.transaction.AbstractTransaction.schedule(AbstractTransaction.java:131)
        at com.emc.vipr.cashead.storageserver.access.transaction.NullScheduler.registerSchedulable(NullScheduler.java:48)
        at com.emc.vipr.cashead.storageserver.access.transaction.AbstractTransaction.putGeneralMessage(AbstractTransaction.java:92)
        at com.emc.vipr.cashead.storageserver.access.transaction.AccessTransaction.put(AccessTransaction.java:61)
        at com.emc.vipr.cashead.storageserver.access.encoding.hpp.HPPResponder.processTransactionObject(HPPResponder.java:276)
        at com.emc.vipr.cashead.storageserver.access.encoding.hpp.HPPResponder.processPacket(HPPResponder.java:290)
        at com.emc.vipr.cashead.storageserver.access.encoding.hpp.HPPResponder.process(HPPResponder.java:181)
        at com.emc.vipr.cashead.storageserver.access.AccessNetworkServer.HandleConnection(AccessNetworkServer.java:51)
        at com.emc.vipr.cashead.hppserver.HPPServer.HandleConnection(HPPServer.java:84)
        at com.emc.vipr.cashead.net.NetworkServerWorker.Work(NetworkServerWorker.java:61)
        at com.emc.vipr.cashead.worker.Worker.call(Worker.java:227)
        at com.emc.vipr.cashead.worker.WorkerSchedulerThread.run(WorkerSchedulerThread.java:137)
Caused by: java.io.IOException: com.emc.vipr.cashead.api.ObjectRetentionIncorrect: Failed to execute operation, error is ERROR_RETENTION_INCORRECT, object name is null
        at com.emc.vipr.cashead.impl.vipr.ViPRObjectWriteHandler.checkResult(ViPRObjectWriteHandler.java:73)
        at com.emc.vipr.cashead.storageserver.access.transaction.write.ObjectWriterImpl.finish(ObjectWriterImpl.java:77)
        ... 17 more
Caused by: com.emc.vipr.cashead.api.ObjectRetentionIncorrect: Failed to execute operation, error is ERROR_RETENTION_INCORRECT, object name is null
        at com.emc.vipr.cashead.impl.vipr.ExceptionTranslator.translateError(ExceptionTranslator.java:38)
        at com.emc.vipr.cashead.impl.vipr.ExceptionTranslator.checkError(ExceptionTranslator.java:21)
        at com.emc.vipr.cashead.impl.vipr.ViPRObjectWriteHandler.checkResult(ViPRObjectWriteHandler.java:71)
        ... 18 more

 

原因

Cenário 1:
se o período de retenção de um objeto estiver fora dos limites especificados no bucket, uma tentativa de gravar o objeto falhará.

Ao usar políticas de retenção, selecionar Infinite para Minimum Fixed Retention Period significa que todos os valores de retenção em todos os objetos devem ser infinitos.
Selecionar infinite para Maximum Fixed Retention Period significa que não há limite máximo.

Restrições de retenção mín./máx. são aplicadas a qualquer C-Clip gravado em um bucket. Se um clipe for migrado por qualquer ferramenta de terceiros baseada em SDK, a retenção deverá estar dentro dos limites, caso contrário, será exibido um erro.


Cenário 2:
há políticas de classe de retenção definidas no Centera. Você pode verificar isso solicitando que o cliente forneça o comando abaixo do Centera:

Config# show retention all

 

解析度

Cenário 1:
por exemplo, se você tivesse clipes de CAS com retenção de 7 anos definidos neles, teria que criar um bucket com os seguintes valores de retenção:

Bucket Retention Period: 0 seconds
Minimum Fixed Retention Period: 0 seconds
Maximum Fixed Retention Period: 8 years
Minimum Variable Retention Period: 0 seconds
Maximum Variable Retention Period: 0 seconds

Dessa forma, a retenção fica dentro das restrições de mínimo/máximo.


Cenário 2:
peça ao cliente para fornecer as políticas de classe de retenção abaixo.

  1. Inicie a CLI do Centera.

  2. Conecte-se como um usuário com a função de conformidade ou monitor.

  3. Digite o comando: show retention all

    O resultado é semelhante a:

    Retention class name Period
    ------------------------------------------
    class 1       5 years
    class 2         3 months
    class 3         10 years

Em seguida, você deve adicionar todas essas políticas de classe de retenção às políticas de retenção de namespace no lado do ECS. Peça ao cliente/PS para tentar a migração novamente depois de adicionar as políticas de retenção de namespace no ECS.

 

受影響的產品

ECS Appliance Hardware Gen1 U-Series

產品

ECS Appliance Hardware Gen1 U-Series, ECS Appliance Software with Encryption, ECS Appliance Software without Encryption
文章屬性
文章編號: 000055152
文章類型: Solution
上次修改時間: 29 6月 2026
版本:  4
向其他 Dell 使用者尋求您問題的答案
支援服務
檢查您的裝置是否在支援服務的涵蓋範圍內。