ViPR Controller: Falha na criação de volumes no VNX
Summary: ViPR Controller: Falha na criação de volumes no VNX
Symptoms
Esse problema ocorre depois que os usuários fazem upgrade do código do VNX Operating Environment para: VNX: 05.33.009.5.217
Esse problema também foi observado na versão 05.33.009.5.231 sem o hotfix.
O usuário não consegue criar um volume no VNX.
O pedido falha intermitentemente, mas regularmente.
O problema persiste após a execução de refsys, a reinicialização do SMI-S Server e a reinicialização do ECOM.
O volume permanece no array após a falha. O reenvio do pedido usando o mesmo nome de volume apresentará falha.
Erro de IU do ViPR Controller
[ERROR] Wed Aug 29 10:58:09 UTC 2018 Error 16000: Message: The job has failed: Caught an exception while trying to update volume attributes:
The requested object cannot be found. (com.emc.cmp.osls.se.osl.Device.StorDevShow():280 C:ERROR_CLASS_SOFTWARE F:ERROR_FAMILY_NOT_FOUND R:1000052 L:2 C:ERROR_CLASS_SOFTWARE F:ERROR_FAMILY_NOT_FOUND R:1000052 No objects of the requested type were found : 2: 7: "The device name specified could not be found")
Nota:
Consulte também o seguinte artigo da base de conhecimento:
523574: ViPR Controller: O uso do Solutions Enabler 7.6.2.102/SMI-S 4.6.2.30 pelo ViPR Controller requer uma RPQ https://support.emc.com/kb/523574 (artigo de Nível 40)
Cause
Como o SMI-S não apresenta as informações de volume, a reversão do ViPR Controller não remove o volume do array.
Resolution
Resolução:
Depois de verificar o erro de IU do ViPR Controller exibido na seção Problema acima, abra um chamado com o Remote Proactive (RCM): Grupo de suporte técnico unificado
para cada VNX que receberá upgrade solicitando o HotFix do VNX ManagementServer_1.3.9.1.0306-1.upf (ref. AR 958882), incluindo uma justificativa para o motivo pelo qual o hotfix é necessário e o
modelo atual do array do VNX, o VNX Block OE, o Solutions Enabler, o SMI-S e as versões do ViPR Controller. Consulte as notas abaixo.
Additional Information
Nota: Quando a criação do volume falha, o volume de back-end permanece no lugar e precisa ser removido manualmente do array.
Logs do ViPR C
O ViPR C emite o comando para criar o volume:
Volume:<Volume Name removed> , IsThinlyProvisioned: true
vipr2 vipr2 controllersvc 2018-09-03 14:25:31,776 [1684|createVolumes|39a39976-b004-45e9-98c7-f1e463d25517c83c9b0f-fe18-485b-85c3-cdd8b25f2a8d] INFO SmisCommandHelper.java (line 201)
SMI-S Provider: <SMI-S Provider FQDN removed> -- Attempting invokeMethod CreateOrModifyElementFromStoragePool on objectPath=/root/emc:Clar_StorageConfigurationService.CreationClassName="Clar_StorageConfigurationService",Name="EMCStorageConfigurationService",SystemCreationClassName="Clar_StorageSystem",SystemName="CLARiiON+CKM<CLARiiON Serial Number removed>" with arguments:
inArg[0]=uint16 ElementType = 5;
inArg[1]=Clar_UnifiedStoragePool ref InPool = "root/emc:Clar_UnifiedStoragePool.InstanceID=\"CLARiiON+CKM<CLARiiON Serial Number removed>+<Pool Name removed>\"";
inArg[2]=uint64 Size = 10737418240;
inArg[3]=uint32 EMCNumberOfDevices = 1;
inArg[4]=string ElementName = "<Volume Name removed>";
inArg[5]=Clar_StoragePoolSetting ref Goal = "root/emc:Clar_StoragePoolSetting.InstanceID=\"CLARiiON+CKM<CLARiiON Serial Number removed>+D+T+3031128139+<Pool Name removed>\"";
Returned: 4096 with output arguments:
outArg=uint64 Size = 10737418240;
outArg=SE_ConcreteJob ref Job = "root/emc:SE_ConcreteJob.InstanceID=\"<1234567890>\"";
Execution time: 0.591798 seconds.
Logs do provedor SMI-S:
O SMI-S recebe o pedido e apresenta um ID concreto.
Mon Sep 03 16:25:31 +0200 2018 <SMI-S Provider Name removed> ECOM 26037 2013263616 StorageConfigurationService.BlockServices DEBUG EMC_StorageConfigurationService.cpp 1887 : Element size: 10737418240
Mon Sep 03 16:25:31 +0200 2018 <SMI-S Provider Name removed> ECOM 26037 2013263616 global DEBUG 163 : OslCache missing cache entry for array <Array type="CLARiiON" encoding="String" value="CKM<CLARiiON Serial Number removed>" />
Mon Sep 03 16:25:32 +0200 2018 <SMI-S Provider Name removed> ECOM 26037 2013263616 global INFO Job.cpp 459 : Job <1234567890> Submitted
Mon Sep 03 16:25:32 +0200 2018 <SMI-S Provider Name removed> ECOM 26037 2013263616 StorageConfigurationService.BlockServices DEBUG EMC_StorageConfigurationService.cpp 2705 : Submit jobId <1234567890> to run asynchronously
Mon Sep 03 16:25:32 +0200 2018 <SMI-S Provider Name removed> ECOM 26037 2013263616 JobControl INFO JobTableMonitor.cpp 61 : Job table monitor started.
Mon Sep 03 16:25:32 +0200 2018 <SMI-S Provider Name removed> ECOM 26037 -1272031488 JobControl DEBUG JobTableMonitor.cpp 88 : Job table monitor started.
Mon Sep 03 16:25:32 +0200 2018 <SMI-S Provider Name removed> ECOM 26037 2013263616 JobControl DEBUG JobTable.cpp 107 : Added to job table job id: <1234567890>
Mon Sep 03 16:25:32 +0200 2018 <SMI-S Provider Name removed> ECOM 26037 -1269930240 BlockServices.JobControlVolume DEBUG JOB_VolCreate.cpp 400 : Create Storage Volume Job Id:<1234567890>
Mon Sep 03 16:25:32 +0200 2018 <SMI-S Provider Name removed> ECOM 26037 2013263616 JobControl INFO JobControl.cpp 86 : Started job: <1234567890>
Logs do SMI-S:
O SMI-S relata que a criação do volume foi concluída:
Mon Sep 03 16:28:02 +0200 2018 <SMI-S Provider Name removed> ECOM 26037 -1269930240 BlockServices.JobControlVolume DEBUG JOB_VolCreate.cpp 1891 : Completed performImmediateSync().
Mon Sep 03 16:28:02 +0200 2018 <SMI-S Provider Name removed> ECOM 26037 -1269930240 BlockServices.JobControlVolume INFO JOB_VolCreate.cpp 1908 : Created volume: <Device name="<DeviceID replaced 12345>" />
Mon Sep 03 16:28:02 +0200 2018 <SMI-S Provider Name removed> ECOM 26037 -1269930240 global INFO Job.cpp 584 : Marked job 100% completed, Job id: <1234567890>
Logs do ViPR:
Os logs do ViPR indicam que o trabalho do SMI-S está concluído:
vipr2 vipr2 controllersvc 2018-09-03 14:28:02,413 [pool-58-thread-1] INFO SmisJob.java (line 197) Status value[0]: 17
vipr2 vipr2 controllersvc 2018-09-03 14:28:02,413 [pool-58-thread-1] INFO SmisJob.java (line 197) Status value[1]: 2
vipr2 vipr2 controllersvc 2018-09-03 14:28:02,413 [pool-58-thread-1] INFO SmisJob.java (line 200) SmisJob: <1234567890> succeeded
vipr2 vipr2 controllersvc 2018-09-03 14:28:02,413 [pool-58-thread-1] INFO SmisJob.java (line 243) SmisJob: Post processing job: id <1234567890>, provider: <SMI-S Provider FQDN removed>
Logs do SMI-S:
Depois da criação do volume com sucesso, o ViPR Controller consulta o SMI-S para atualizar o banco de dados, mas o SMI-S não consegue apresentar detalhes sobre o volume.
Logs do ViPR:
Esse erro é passado para o ViPR C a partir do SMI-S e o pedido falha. Como o volume não foi encontrado ao consultar o SMI-S, o volume não é removido do array na reversão:
WBEMException: CIM_ERR_NOT_FOUND (The requested object cannot be found. (com.emc.cmp.osls.se.osl.Device.StorDevShow():280 C:ERROR_CLASS_SOFTWARE F:ERROR_FAMILY_NOT_FOUND R:1000052 L:2 C:ERROR_CLASS_SOFTWARE F:ERROR_FAMILY_NOT_FOUND R:1000052 No objects of the requested type were found : 2: 7: "The device name specified could not be found"))
at org.sblim.cimclient.internal.wbem.CloseableIteratorSAX.hasNext(CloseableIteratorSAX.java:121)
at org.sblim.cimclient.internal.wbem.WBEMClientCIMXML.getIterator(WBEMClientCIMXML.java:2134)
at org.sblim.cimclient.internal.wbem.WBEMClientCIMXML.getInstance(WBEMClientCIMXML.java:1257)
at com.emc.storageos.volumecontroller.impl.smis.job.SmisAbstractCreateVolumeJob.commonVolumeUpdate(SmisAbstractCreateVolumeJob.java:311)
at com.emc.storageos.volumecontroller.impl.smis.job.SmisAbstractCreateVolumeJob.processVolume(SmisAbstractCreateVolumeJob.java:219)
at com.emc.storageos.volumecontroller.impl.smis.job.SmisAbstractCreateVolumeJob.updateStatus(SmisAbstractCreateVolumeJob.java:120)
at com.emc.storageos.volumecontroller.impl.smis.job.SmisJob.poll(SmisJob.java:246)
at com.emc.storageos.volumecontroller.impl.job.QueueJobTracker.run(QueueJobTracker.java:90)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
vipr2 vipr2 controllersvc 2018-09-03 14:28:03,097 [pool-58-thread-1] INFO SmisAbstractCreateVolumeJob.java (line 372) Skipping step addVolumesToConsistencyGroup: volumes [<Volume URN removed>] do not reference a consistency group.
vipr2 vipr2 controllersvc 2018-09-03 14:28:03,097 [pool-58-thread-1] INFO SmisAbstractCreateVolumeJob.java (line 158) Updating status of job 39a39976-b004-45e9-98c7-f1e463d25517c83c9b0f-fe18-485b-85c3-cdd8b25f2a8d to SUCCESS
Created volume successfully .. NativeId: <DeviceID replaced 12345>, URI: <Volume URN removed>
vipr2 vipr2 controllersvc 2018-09-03 14:28:03,101 [pool-58-thread-1] INFO VolumeTaskCompleter.java (line 106) opType: CREATE_BLOCK_VOLUME detail: VolumeCreateFailed:Volume is created.
vipr2 vipr2 controllersvc 2018-09-03 14:28:03,103 [pool-58-thread-1] INFO VolumeTaskCompleter.java (line 82) Bourne VolumeCreateFailed event recorded for Volume <Volume URN removed>
vipr2 vipr2 controllersvc 2018-09-03 14:28:03,126 [pool-58-thread-1] INFO WorkflowService.java (line 653) Updating workflow step: 39a39976-b004-45e9-98c7-f1e463d25517c83c9b0f-fe18-485b-85c3-cdd8b25f2a8d state ERROR : The job has failed: Caught an exception while trying to update volume attributes: The requested object cannot be found. (com.emc.cmp.osls.se.osl.Device.StorDevShow():280 C:ERROR_CLASS_SOFTWARE F:ERROR_FAMILY_NOT_FOUND R:1000052 L:2 C:ERROR_CLASS_SOFTWARE F:ERROR_FAMILY_NOT_FOUND R:1000052 No objects of the requested type were found : 2: 7: "The device name specified could not be found")