ECS: Leikkeitä ei voi siirtää Centerasta ECS:ään – ERROR_RETENTION_INCORRECT

摘要: Leikkeitä ei voi siirtää Centerasta ECS:ään – "ERROR_RETENTION_INCORRECT."

本文适用于 本文不适用于 本文并非针对某种特定的产品。 本文并非包含所有产品版本。

症状

Leikkeiden siirtäminen ECS:ään Centerasta ei onnistu, kun ERROR_RETENTION_INCORRECT.

Esimerkki pinon jäljityksestä:

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

 

原因

Skenaario 1:
Jos objektin säilytysaika on säilössä määritettyjen rajojen ulkopuolella, objektin kirjoitusyritys epäonnistuu.

Jos säilytyskäytäntöjä käytetään, kun kiinteän säilytysajan vähimmäissäilytysajaksi valitaan ääretön, kaikkien objektien kaikkien säilytysarvojen on oltava äärettömiä.
Jos kiinteän säilytysajan enimmäissäilytysajaksi valitaan ääretön, enimmäisrajaa ei ole.

Minim./maksimi-retentiorajoituksia sovelletaan kaikkiin C-kiinnittimiin, jotka kirjoitetaan säilöön. Jos leike siirretään jollakin SDK-pohjaisella kolmannen osapuolen työkalulla, säilytyksen pitäisi olla rajoissa, muuten heitetään virhe.


Tilanne 2:
Centerassa on määritetty säilytysluokkakäytäntöjä. Voit varmistaa tämän pyytämällä asiakasta antamaan sinulle seuraavan komennon Centeralta:

Config# show retention all

 

解决方案

Skenaario 1:
Jos sinulla on esimerkiksi CAS-leikkeitä, joiden säilytysaika on 7 vuotta, sinun on luotava säilö, jossa on seuraavat säilytysarvot:

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

Näin pidätys on min/max-rajoitusten sisällä.


Tilanne 2:
Pyydä asiakasta toimittamaan sinulle alla olevat säilytysluokkakäytännöt.

  1. Käynnistä Centeran komentoriviliittymä.

  2. Muodosta yhteys käyttäjänä vaatimustenmukaisuus- tai valvontaroolissa.

  3. Kirjoita komento: show retention all

    Tulos on samanlainen kuin:

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

Sitten sinun on lisättävä kaikki nämä säilytysluokkakäytännöt nimiavaruuden säilytyskäytäntöihin ECS-puolella. Pyydä asiakasta/PS:ää yrittämään siirtoa uudelleen, kun nimitilan säilytyskäytännöt on lisätty ECS-puolelle.

 

受影响的产品

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
从其他戴尔用户那里查找问题的答案
支持服务
检查您的设备是否在支持服务涵盖的范围内。