Data Backup and Recovery
Data Backup and Recovery
Hi Guru
IHAC upgrade his SC3.6 to SC 4.0 to do backup in vSphere environment. they use vfiler instead of directly using filer. but they found it seems SC 4.0 could not work well with vfiler.
they rebuild conf file step-by-step by wizard. but in the conf file, there is no any entry for vfiler. I paste the partial conf contents here.
CONFIG_TYPE=STANDARD
LOG_NUM=30
SNAPDRIVE=N
SNAPDRIVE_DISCOVERY=N
LOG_TRACE_ENABLE=N
USE_PROXY=N
NTAP_PWD_PROTECTION=Y
NTAP_TIMEOUT=60
META_DATA_VOLUME=
USE_GLOBAL_CONFIG=N
VOLUMES=auto:detect
FEDERATED_APPLICATIONS=
ALLOW_IP_ADDR=N
SC_TMP_DIR=
NTAP_USERS=tscbjanp01:root/324d77646f533659685a537566636c445273467555673d3d0a
MANAGEMENT_INTERFACES=
PORT=443
TRANSPORT=HTTPS
SECONDARY_INTERFACES=
For volume, it's auto:detect, So at least wizard did not provide vfiler information. when use this conf to do backup, SC complain that could not find volume entry in export file. yes. in vfiler0's export, there is no entry, but in vfiler, there is a entry for that volume. We have to insert unnecessary entry in vfiler0's export, then backup jobs could go ahead.
I am not sure if there is extra configuration steps for vfiler. (when I manually add a entry as below, but useless)
NTAP_USERS=tscbjanp01:root/324d77646f533659685a537566636c445273467555673d3d0a
VFILER=tscbjanv01@tscbjanp01:tscdbm01
MANAGEMENT_INTERFACES=
PORT=80
TRANSPORT=HTTP
SECONDARY_INTERFACES=
in fact, SC3.6 could work with vfiler. Does SC 4.0 do more configuration check (for example, checking export file) so that could not go ahead?
the related discussing is https://communities.netapp.com/thread/30496 and case# is 2004411617
Would you please advise us? Any input are appreciated.
Thanks and Best Regards!
TC
Hi TC,
In Snap Creator 4.0 we have depricated the VFILERS option in the config. It is no longer needed as ONTAP supports the APIs to do snapvault and snapmirror in the vfiler.
Your options:
1) Use vfiler in SC config. This means enter vfiler and vfiler credentials when setting up SC configs and dont use physical controller. The vfiler and vfilers should be in VOLUMES, SNAPVAULT_VOLUMES, SNAPMIRROR_VOLUMES, and of course NTAP_USERS. SC will communicate directly and only with vfilers.
2) Use physical controller which requires setting up relationships for snapvault or snapmirror in physical controller. In this case you use physical controller everywhere in SC and SC only communicates to physical controller.
In your config you just need to change following params:
NTAP_USERS=tscbjanv01:root/324d77646f533659685a537566636c445273467555673d3d0a
The VFILERS parameter basically allowed SC to go through physical filer and for just snapmirror and snapvault we would do vfiler tunneling from physical to vfiler but as I mentioned since we can now do snapvault in vfiler directly we dont need to tunnel so we depricated this.
If you still want to do vfiler tunnels then use SC 3.6 and stay with it.
Hope this helps
Regards,
Keith
Hi Keith
Thanks for help. Do you mean we should use vfiler IP/account instead of physical filer for NTAP_USERS setting? We will try.
Be honest, we still like 3.6 style but 3.6 could not display local time when check job status.
BR
TC
Hi Keith
Have you a guide how to setup a vfiler account for snapcreator access?
BR
TC
Should be same as normal account just SC server needs HTTP port 80 access to vfiler
Keith
Hi Keith
thanks for your reply. after reset root passwd from CLI "vfiler context <vfilername>" and "passwd", change HTTPS to HTTP, the SC could work with vfiler directly. Yes. SC could create snapshot for the volume inside vfiler.
Here are some question about snapvault.
1) where should we create snapvault relation? By your previous advise, we should build up snapvault relation in vfiler and set SNAPVAULT_VOLUMES = vfiler:volume.
2) could we still build-up snapvault relation in physical filer for those volumes inside vfiler? Because customer may not want to build-up backup IPs for every vfiler, he still want to use physical filer (only one backup interface) for those volumes in vfilers. is it possible?
we try to do following setting but no lucky.
VOLUMES=vfiler:volume
SNAPVAULT_VOLUMES=physicalfiler:tscdbm01
Do you think if it should work or if there is anything we missed?
It should work, except that you will still need to supply with the credential of physicalfiler to SC to execute snapvault update commands.
(In a DFM scenario, you will have the DFM credential and ask a protection manager update for the dataset).
Keith, please correct me if I am wrong.
I want to "cheat" SC to check/update snapvault relation at physical filer side. if necessary, I will ask end user to test it again.
in this scenario, I did not use DFM and dataset. but we configure DFM in SC(but I remember no PM, We just want DFM collect and record SC's notification), Do you think we should remove DFM setting in SC conf?
You can leave DFM details in. No worries.
Hi Siva
I ask customer to try again. it sounds SC 4.0 could not support
VOLUMES=vfiler:volume
SNAPVAULT_VOLUMES=physicalfiler:tscdbm01
Customer told me after SC finish backup, it will change the SNAPVAULT_VOLUMES setting to vfiler. (i guess it's related with discovery phase). Do you think if there is any way to disable discovery phase?
@Keith Any advises about this scenario? I think it's reasonable that in real world, customer may want to do snapmirror/snapvault in physical filer phase rather than in vfiler.
BR
TC
Hi Chao
I try change the configuration: 1. delete physical filer connection; 2. save 3. add vfiler connection, but failed
network connection is ok:
GUI logs as below:
2013-07-15 10:16:12,688 [772021236@qtp-511604114-3991] com.netapp.snapcreator.ui.service.SnapCreatorGUILogger ERROR - com.netapp.snapcreator.storage.executor.ZapiExecutorException: java.net.ConnectException: Connection refused: connect
at com.netapp.snapcreator.storage.executor.ZapiExecutorImpl.run(ZapiExecutorImpl.java:58)
at com.netapp.snapcreator.storage.executor.ZapiExecutorImpl.invoke(ZapiExecutorImpl.java:87)
at com.netapp.snapcreator.storage.executor.ZapiExecutorImpl.updateApiVersion(ZapiExecutorImpl.java:203)
at com.netapp.snapcreator.storage.executor.DirectZapiExecutor.<init>(DirectZapiExecutor.java:74)
at com.netapp.snapcreator.storage.executor.ZapiExecutorFactory.get(ZapiExecutorFactory.java:72)
at com.netapp.snapcreator.storage.api.StorageApiFactory.getStorage(StorageApiFactory.java:28)
at com.netapp.snapcreator.storage.StorageCoreImpl.systemGetVersion(StorageCoreImpl.java:1551)
at com.netapp.snapcreator.storage.StorageImpl.systemGetVersion(StorageImpl.java:359)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.apache.cxf.service.invoker.AbstractInvoker.performInvocation(AbstractInvoker.java:173)
at org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:89)
at org.apache.cxf.jaxws.JAXWSMethodInvoker.invoke(JAXWSMethodInvoker.java:60)
at org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:75)
at org.apache.cxf.interceptor.ServiceInvokerInterceptor$1.run(ServiceInvokerInterceptor.java:58)
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at org.apache.cxf.workqueue.SynchronousExecutor.execute(SynchronousExecutor.java:37)
at org.apache.cxf.interceptor.ServiceInvokerInterceptor.handleMessage(ServiceInvokerInterceptor.java:106)
at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:243)
at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:111)
at org.apache.cxf.transport.servlet.ServletDestination.invoke(ServletDestination.java:99)
at org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:431)
at org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:186)
at org.apache.cxf.transport.servlet.AbstractCXFServlet.invoke(AbstractCXFServlet.java:148)
at org.apache.cxf.transport.servlet.AbstractHTTPServlet.handleRequest(AbstractHTTPServlet.java:179)
at org.apache.cxf.transport.servlet.AbstractHTTPServlet.doPost(AbstractHTTPServlet.java:103)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
at org.apache.cxf.transport.servlet.AbstractHTTPServlet.service(AbstractHTTPServlet.java:159)
at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511)
at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:390)
at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)
at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765)
at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:418)
at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
at org.mortbay.jetty.Server.handle(Server.java:326)
at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542)
at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:943)
at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:756)
at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:218)
at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:410)
at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582)
Caused by: java.net.ConnectException: Connection refused: connect
at java.net.DualStackPlainSocketImpl.connect0(Native Method)
at java.net.DualStackPlainSocketImpl.socketConnect(Unknown Source)
at java.net.AbstractPlainSocketImpl.doConnect(Unknown Source)
at java.net.AbstractPlainSocketImpl.connectToAddress(Unknown Source)
at java.net.AbstractPlainSocketImpl.connect(Unknown Source)
at java.net.PlainSocketImpl.connect(Unknown Source)
at java.net.SocksSocketImpl.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at sun.security.ssl.SSLSocketImpl.connect(Unknown Source)
at sun.security.ssl.SSLSocketImpl.<init>(Unknown Source)
at sun.security.ssl.SSLSocketFactoryImpl.createSocket(Unknown Source)
at netapp.manage.http.HTTPClient.<init>(HTTPClient.java:452)
at netapp.manage.NaServer.getSession(NaServer.java:330)
at netapp.manage.NaServer.invokeHTTP(NaServer.java:836)
at netapp.manage.NaServer.invokeElemForXML(NaServer.java:692)
at netapp.manage.NaServer.invokeElem(NaServer.java:614)
at com.netapp.snapcreator.storage.executor.ZapiExecutorImpl.run(ZapiExecutorImpl.java:53)
... 47 more
2013-07-15 10:16:12,688 [772021236@qtp-511604114-3991] com.netapp.snapcreator.ui.service.SnapCreatorGUILogger ERROR - STORAGE-03033: System version details of [tscbjanv01] failed with error [java.net.ConnectException: Connection refused: connect].
2013-07-15 10:16:12,688 [772021236@qtp-511604114-3991] com.netapp.snapcreator.ui.service.SnapCreatorGUILogger ERROR - STORAGE-03033: System version details of [tscbjanv01] failed with error [java.net.ConnectException: Connection refused: connect].
Please provide us with the output (as executed from the physical filer)
tscbjanv01> vfiler run tscbjanv01 options http
Hi Siva
thanks a lot. the authentication issue has been solved. now customer face the following scenario:
1) vSphere datastore use the volumes inside vfiler
2) but snapvault relation is created in physical filer.
Here are some question about snapvault.
1) where should we create snapvault relation? By your previous advise, we should build up snapvault relation in vfiler and setSNAPVAULT_VOLUMES = vfiler:volume.
2) could we still build-up snapvault relation in physical filer for those volumes inside vfiler? Because customer may not want to build-up backup IPs for every vfiler, he still want to use physical filer (only one backup interface) for those volumes in vfilers. is it possible?
we try to do following setting but no lucky.
VOLUMES=vfiler:volume
SNAPVAULT_VOLUMES=physicalfiler:tscdbm01
Do you think if it should work or if there is anything we missed? customer said he already test it but snapshot creating is OK but snapvault update is failure. but the conf files he passed to me is incorrect. I just want to know if it's possible. if you think it's possible, I'd like to ask customer to do one more time testing.
It should be possible. Just need to make sure that the profile/config has login credential for physicalfiler