ECS: Clips können nicht von Centera zu ECS migriert werden – ERROR_RETENTION_INCORRECT
Summary: Clips können nicht von Centera zu ECS migriert werden – "ERROR_RETENTION_INCORRECT".
Symptoms
Clips können mit "ERROR_RETENTION_INCORRECT" nicht von Centera zu ECS migriert werden.
Beispiel für eine Stapelüberwachung:
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
Cause
Szenario 1:
Wenn die Aufbewahrungsfrist eines Objekts außerhalb der für den Bucket festgelegten Grenzen liegt, schlägt der Versuch, das Objekt zu schreiben, fehl.
Wenn Sie Aufbewahrungs-Policies verwenden, bedeutet die Auswahl von Infinite für Minimum Fixed Retention Period, dass alle Aufbewahrungswerte für alle Objekte unbegrenzt sein müssen.
Die Auswahl von unbegrenzt für Maximum Fixed Retention Period bedeutet, dass es keine Obergrenze gibt.
Min./Max.-Aufbewahrungseinschränkungen werden auf alle C-Clips angewendet, die in einen Bucket geschrieben werden. Wenn ein Clip von einem SDK-basierten Drittanbietertool migriert wird, sollte die Aufbewahrung innerhalb der Grenzen liegen, andernfalls wird ein Fehler ausgegeben.
Szenario 2:
Auf Centera sind Aufbewahrungsklassen-Policies definiert. Sie können dies überprüfen, indem Sie den Kunden bitten, Ihnen den folgenden Befehl von Centera zur Verfügung zu stellen:
Config# show retention all
Resolution
Szenario 1:
Wenn Sie beispielsweise CAS-Clips mit einer Aufbewahrungsdauer von 7 Jahren haben, müssen Sie einen Bucket mit den folgenden Aufbewahrungswerten erstellen:
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
Auf diese Weise liegt die Aufbewahrung innerhalb der minimalen/maximalen Einschränkungen.
Szenario 2:
Bitten Sie den Kunden, Ihnen die folgenden Aufbewahrungsklassen-Policies zur Verfügung zu stellen.
-
Starten Sie die CLI für Centera.
-
Stellen Sie eine Verbindung als Nutzer mit der Compliance- oder Überwachungsrolle her.
-
Geben Sie den folgenden Befehl ein:
show retention allDie Ausgabe ähnelt dem:
Retention class name Period ------------------------------------------ class 1 5 years class 2 3 months class 3 10 years
Anschließend müssen Sie alle diese Aufbewahrungsklassen-Policies zu den Namespace-Aufbewahrungs-Policies auf der ECS-Seite hinzufügen. Bitten Sie den Kunden/PS, die Migration nach dem Hinzufügen der Namespace-Aufbewahrungs-Policies auf ECS-Seite erneut zu versuchen.