ViPR 控制器: 在 VNX 上建立磁碟區失敗
Summary: ViPR 控制器: 在 VNX 上建立磁碟區失敗
Symptoms
在使用者將 VNX 作業環境程式碼升級至下列版本後,會發生此問題:VNX:05.33.009.5.217
在沒有修補程式的情況下,在 05.33.009.5.231 也發現此問題。
使用者無法在 VNX 上建立磁碟區。
指令會以間歇但定期的頻率失敗。
在執行 refsys、重新啟動 SMI-S 伺服器,並重新啟動 ECOM 後,問題仍然存在。
發生故障後,磁碟區仍保留在陣列上。 使用相同的磁碟區名稱重新提交指令將會失敗。
ViPR 控制器 UI 錯誤
[錯誤] Wed Aug 29 10:58:09 UTC 2018 錯誤 16000: 訊息:工作已失敗:嘗試更新磁碟區屬性時抓到例外狀況:
找不到要求的物件。(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 找不到要求類型的物件:2:7:「找不到指定的裝置名稱」)
注意:
此外,亦請參閱下列 KB 文章:
523574:ViPR 控制器:ViPR 控制器使用 Solutions Enabler 7.6.2.102 / SMI-S 4.6.2.30 時需要 RPQ https://support.emc.com/kb/523574 (層級 40 文章)
Cause
由於磁碟區資訊並非由 SMI-S 提供,ViPR 控制器的復原不會從陣列中移除磁碟區。
Resolution
解決方案:
在確認上述「問題」區段中顯示的 ViPR 控制器 UI 錯誤後,請針對每台需要升級
的 VNX 向遠端主動式 (RCM):統一技術支援小組開立服務要求,要求內容應包括:要求提供 VNX HotFix ManagementServer_1.3.9.1.0306-1.upf 修補程式 (參考編號 AR 958882),其中包括為何需要此修補程式的理由,並提供
目前 VNX 陣列型號、VNX Block OE、Solutions Enabler、SMI-S 及 ViPR Controller 版本。請參閱下方的「注意」。
Additional Information
注意: 當磁碟區建立失敗時,後端磁碟區會保留在原位,將需要從陣列中手動移除。
ViPR C 記錄
ViPR C 會發出命令來建立磁碟區:
磁碟區:<磁碟區名稱已移除> , 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 (第 201 行)
SMI-S 供應商:<SMI-S 供應商 FQDN 已移除> -- Attempting invokeMethod CreateOrModifyElementFromStoragePool on objectPath=/root/emc:Clar_StorageConfigurationService.CreationClassName="Clar_StorageConfigurationService",Name="EMCStorageConfigurationService",SystemCreationClassName="Clar_StorageSystem",SystemName="CLARiiON+CKM<CLARiiON 序號已移除>" 其引數:
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>\"";
已傳回:4096 及輸出引數:
outArg=uint64 大小 = 10737418240;
outArg=SE_ConcreteJob 參考工作 = "root/emc:SE_ConcreteJob.InstanceID=\"<1234567890>\"";
執行時間:0.591798 秒。
SMI-S 供應商記錄:
SMI-S 收到指令並提供具體 id。
Mon Sep 03 16:25:31 +0200 2018 <SMI-S 供應商已移除> ECOM 26037 2013263616 StorageConfigurationService.BlockServices DEBUG EMC_StorageConfigurationService.cpp 1887 : 元素大小:10737418240
Mon Sep 03 16:25:31 +0200 2018 <SMI-S 供應商名稱已移除> ECOM 26037 2013263616 global DEBUG 163 : OslCache 遺失陣列的快取項目 <陣列類型="CLARiiON" 編碼="String" 值="CKM<CLARiiON 序號已移除>" />
Mon Sep 03 16:25:32 +0200 2018 <SMI-S 供應商名稱已移除> ECOM 26037 2013263616 global INFO Job.cpp 459 : Job <1234567890> 已提交
Mon Sep 03 16:25:32 +0200 2018 <SMI-S 供應商名稱已移除> ECOM 26037 2013263616 StorageConfigurationService.BlockServices DEBUG EMC_StorageConfigurationService.cpp 2705 : 提交 jobId <1234567890> 以非同步執行
Mon Sep 03 16:25:32 +0200 2018 <SMI-S 供應商名稱已移除> ECOM 26037 2013263616 JobControl INFO JobTableMonitor.cpp 61 : 工作表格監視器已啟動。
Mon Sep 03 16:25:32 +0200 2018 <SMI-S 供應商名稱已移除> ECOM 26037 -1272031488 JobControl DEBUG JobTableMonitor.cpp 88 : 工作表格監視器已啟動。
Mon Sep 03 16:25:32 +0200 2018 <SMI-S 供應商名稱已移除> ECOM 26037 2013263616 JobControl DEBUG JobTable.cpp 107 : 已新增至工作表格工作 id:<1234567890>
Mon Sep 03 16:25:32 +0200 2018 <SMI-S 供應商名稱已移除> ECOM 26037 -1269930240 BlockServices.JobControlVolume DEBUG JOB_VolCreate.cpp 400 : 建立儲存磁碟區工作 Id:<1234567890>
Mon Sep 03 16:25:32 +0200 2018 <SMI-S 供應商名稱已移除> ECOM 26037 2013263616 JobControl INFO JobControl.cpp 86 : 已開始工作: <1234567890>
SMI-S 記錄:
SMI-S 報告磁碟區建立完成:
Mon Sep 03 16:28:02 +0200 2018 <SMI-S 供應商名稱已移除> ECOM 26037 -1269930240 BlockServices.JobControlVolume DEBUG JOB_VolCreate.cpp 1891 : 已完成 performImmediateSync().
Mon Sep 03 16:28:02 +0200 2018 <SMI-S 供應商名稱已移除> ECOM 26037 -1269930240 BlockServices.JobControlVolume INFO JOB_VolCreate.cpp 1908 : 已建立磁碟區:<裝置名稱="<DeviceID 已取代 12345>" />
Mon Sep 03 16:28:02 +0200 2018 <SMI-S 供應商名稱已移除> ECOM 26037 -1269930240 global INFO Job.cpp 584 : 已標記工作 100% 完成,工作 id:<1234567890>
ViPR 記錄:
ViPR 記錄指示 SMI-S 工作已完成:
vipr2 vipr2 controllersvc 2018-09-03 14:28:02,413 [pool-58-thread-1] INFO SmisJob.java (第 197 行) 狀態值[0]:17
vipr2 vipr2 controllersvc 2018-09-03 14:28:02,413 [pool-58-thread-1] INFO SmisJob.java (第 197 行) 狀態值[1]:2
vipr2 vipr2 controllersvc 2018-09-03 14:28:02,413 [pool-58-thread-1] INFO SmisJob.java (第 200 行) SmisJob:<1234567890> 成功
vipr2 vipr2 controllersvc 2018-09-03 14:28:02,413 [pool-58-thread-1] INFO SmisJob.java (第 243 行) SmisJob:後處理工作:id <1234567890>, 供應商:<SMI-S 供應商 FQDN 已移除>
SMI-S 記錄:
成功建立磁碟區後,ViPR 控制器會查詢 SMI-S 以更新資料庫,但 SMI-S 無法提供有關磁碟區的詳細資料。
ViPR 記錄:
此錯誤會從 SMI-S 傳遞到 ViPR C,且順序會失敗。 由於查詢 SMI-S 時找不到磁碟區,因此在復原時並未從陣列中移除磁碟區:
WBEMException: CIM_ERR_NOT_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 找不到要求類型的物件:2:7:「找不到指定的裝置名稱」))
在 org.sblim.cimclient.internal.wbem.CloseableIteratorSAX.hasNext(CloseableIteratorSAX.java:121)
在 org.sblim.cimclient.internal.wbem.WBEMClientCIMXML.getIterator(WBEMClientCIMXML.java:2134)
在 org.sblim.cimclient.internal.wbem.WBEMClientCIMXML.getInstance(WBEMClientCIMXML.java:1257)
在 com.emc.storageos.volumecontroller.impl.smis.job.SmisAbstractCreateVolumeJob.commonVolumeUpdate(SmisAbstractCreateVolumeJob.java:311)
在 com.emc.storageos.volumecontroller.impl.smis.job.SmisAbstractCreateVolumeJob.processVolume(SmisAbstractCreateVolumeJob.java:219)
在 com.emc.storageos.volumecontroller.impl.smis.job.SmisAbstractCreateVolumeJob.updateStatus(SmisAbstractCreateVolumeJob.java:120)
在 com.emc.storageos.volumecontroller.impl.smis.job.SmisJob.poll(SmisJob.java:246)
at com.emc.storageos.volumecontroller.impl.job.QueueJobTracker.run(QueueJobTracker.java:90)
在 java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
在 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 (第 372 行) 正在跳過步驟 addVolumesToConsistencyGroup: volumes [<磁碟區 URN 已移除>] 不要參考一致性群組。
vipr2 vipr2 controllersvc 2018-09-03 14:28:03,097 [pool-58-thread-1] INFO SmisAbstractCreateVolumeJob.java (第 158 行) 正在將工作 39a39976-b004-45e9-98c7-f1e463d25517c83c9b0f-fe18-485b-85c3-cdd8b25f2a8d 的狀態更新為成功
已成功建立磁碟區 .. NativeId: <DeviceID 已取代 12345>, URI: <磁碟區 URN 已移除>
vipr2 vipr2 controllersvc 2018-09-03 14:28:03,101 [pool-58-thread-1] INFO VolumeTaskCompleter.java (第 106 行) opType: CREATE_BLOCK_VOLUME 詳細資料:VolumeCreateFailed:磁碟區已建立。
vipr2 vipr2 controllersvc 2018-09-03 14:28:03,103 [pool-58-thread-1] INFO VolumeTaskCompleter.java (第 82 行) 已記錄磁碟區的 Bourne VolumeCreateFailed 事件 <磁碟區 URN 已移除>
vipr2 vipr2 controllersvc 2018-09-03 14:28:03,126 [pool-58-thread-1] INFO WorkflowService.java (第 653 行) 正在更新工作流程步驟:39a39976-b004-45e9-98c7-f1e463d25517c83c9b0f-fe18-485b-85c3-cdd8b25f2a8d 狀態錯誤:工作已失敗:嘗試更新磁碟區屬性時抓到例外狀況:找不到要求的物件。(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 找不到要求類型的物件:2:7:「找不到指定的裝置名稱」)