NVP vProxy: Помилка відновлення SQL VM "HTTP 409 (Conflict)"
Summary: Рішення NetWorker VMware Protection (NVP) налаштоване на резервне копіювання віртуальних машин Microsoft SQL (VM) за допомогою MSVMAPPAGENT. Під час операції відновлення операція монтування SQL зазнає невдачі з HTTP 409 (Conflict) ...
Symptoms
Відновлення віртуальної машини SQL виконується з клієнта відновлення захисту даних (DPRC).
Процес монтування зазнає невдачі, повідомляючи про HTTP 409 (Conflict):
flr-server.log сервера NetWorker повідомляє про ту саму помилку HTTP:
Лінкс: /nsr/authc/logs/flr-server.log
Windows (за замовчуванням): C:\Program Files\EMC NetWorker\nsr\authc-server\tomcat\logs\flr-server.log
YYYY-MM-DD HH:mm:SS [https-jsse-nio-9090-exec-5] INFO c.e.n.c.v.i.VProxyRestClient.getVProxyUrl 104 - Call vProxy: POST https://NETWORKER-SERVER-ADDRESS:9090/api/v1/FlrBrowseSessions YYYY-MM-DD HH:mm:SS [https-jsse-nio-9090-exec-5] INFO c.e.n.c.v.i.VProxyRestClient.createVProxyHttpRequest 126 - Using already cached NW routable IP: NETWORKER-SERVER-ADDRESS/NETWORKER-SERVER-IP YYYY-MM-DD HH:mm:SS [https-jsse-nio-9090-exec-5] INFO c.e.n.c.v.i.VProxyRestClient._vProxyPOST 265 - Payload = {"Config":{"AcceptedLanguage":"en","acceptedLanguage":"en","SessionId":null,"LogTag":"FLR_Browse_FLR-SESSION-ID","IdleTimeout":0,"LogLevel":"DEBUG","FlrMountSessionId":"FLR-SESSION-ID","CacheRetentionSeconds":60,"CurrentWorkingDirectory":"","BrowseDestination":false,"ParentPath":null,"ApplicationData":null,"AppName":null,"Vcenter":null,"VmGuestLogin":null}} YYYY-MM-DD HH:mm:SS [https-jsse-nio-9090-exec-5] INFO c.e.n.c.v.i.VProxyRestClient._vProxyPOST 270 - Requesting vProxyPOST for https://NETWORKER-SERVER-ADDRESS:9090/api/v1/FlrBrowseSessions, FlrBrowseSessions... YYYY-MM-DD HH:mm:SS [https-jsse-nio-9090-exec-5] INFO c.e.n.c.v.i.VProxyRestClient._vProxyPOST 272 - Got vProxyPOST response. YYYY-MM-DD HH:mm:SS [https-jsse-nio-9090-exec-5] INFO c.e.n.c.v.i.VProxyRestClient.checkResponse 390 - Response Status Code = 409 YYYY-MM-DD HH:mm:SS [https-jsse-nio-9090-exec-5] INFO c.e.n.c.v.i.VProxyRestClient.checkResponse 391 - Response Reason Phrase = Conflict YYYY-MM-DD HH:mm:SS [https-jsse-nio-9090-exec-5] ERROR c.e.n.c.v.i.VProxyRestClient.checkResponse 396 - Could not connect to vproxy. Http Response status code: 409 Conflict YYYY-MM-DD HH:mm:SS [https-jsse-nio-9090-exec-5] ERROR c.e.n.c.v.i.VProxyMount.postBrowseSession 378 - Error browsing com.emc.nw.common.exception.BrowseException: Could not connect to vproxy. Http Response status code: 409 Conflict at com.emc.nw.common.vproxyapi.impl.VProxyRestClient.checkResponse(VProxyRestClient.java:399) at com.emc.nw.common.vproxyapi.impl.VProxyRestClient._vProxyPOST(VProxyRestClient.java:275) at com.emc.nw.common.vproxyapi.impl.VProxyRestClient.vProxyPOST(VProxyRestClient.java:238) at com.emc.nw.common.vproxyapi.impl.VProxyMount.postBrowseSession(VProxyMount.java:363) at com.emc.flr.services.impl.FsObjectServiceImpl.createVProxyBrowse(FsObjectServiceImpl.java:808) at com.emc.flr.services.impl.FsObjectServiceImpl.mountBackupOnTarget(FsObjectServiceImpl.java:1068) at com.emc.flr.services.impl.FsObjectServiceImpl.getFSObjects(FsObjectServiceImpl.java:135) at com.emc.flr.rest.FsObjectsRest.getFSObjects(FsObjectsRest.java:60) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at com.sun.jersey.spi.container.JavaMethodInvokerFactory$1.invoke(JavaMethodInvokerFactory.java:60) at com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$TypeOutInvoker._dispatch(AbstractResourceMethodDispatchProvider.java:185) at com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:75) at com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:302) at com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accept(ResourceClassRule.java:108) at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147) at com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:84) at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1542) at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1473) at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1419) at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1409) at com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:409) at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:558) at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:733) at javax.servlet.http.HttpServlet.service(HttpServlet.java:623) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:209) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153) at org.apache.catalina.filters.HttpHeaderSecurityFilter.doFilter(HttpHeaderSecurityFilter.java:129) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153) at com.emc.flr.filters.AuthenticationFilter.doFilter(AuthenticationFilter.java:86) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:168) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:596) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:130) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:670) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342) at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:390) at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:928) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1794) at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.lang.Thread.run(Thread.java:750) YYYY-MM-DD HH:mm:SS [https-jsse-nio-9090-exec-5] ERROR c.e.f.s.i.FsObjectServiceImpl.createVProxyBrowse 812 - Browse backup sessions were not created correctly - possibly a bad mount for sessionid: FLR-SESSION-ID YYYY-MM-DD HH:mm:SS [https-jsse-nio-9090-exec-5] ERROR c.e.f.s.i.FsObjectServiceImpl.createVProxyBrowse 813 - mount session error message reads: Mount job failure message: Create vProxy browse requests failed.
Cause
КНДР не чекає достатньо довго, поки операція з монтування завершиться. DPRC надсилає виклик інтерфейсу прикладного програмування (API) для закриття сеансу монтування, поки vProxy все ще монтує диски, що спричиняє конфлікт HTTP 409.
Це питання було піднято перед інженерами NetWorker.
Resolution
Очікується виправлення коду в NetWorker 19.13.0.1 (орієнтовно 27 серпня 2025 року)
Additional Information
Ця проблема спостерігалася в середовищі, де одна віртуальна машина SQL містила 10 дисків (VMDK) і безліч баз даних. Усі операції монтування MSVMAPPAGENT зазнавали невдачі з цим симптомом, тоді як інші менші SQL-сервери монтувалися без проблем.