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ユーザーからの回答を見つける
サポート サービス
お使いのデバイスがサポート サービスの対象かどうかを確認してください。