I am setting up a policy to back up Exchange 2016 with IP less DAG, using Netbackup 7.7.3.
According to this article, NBU 7.7.3 has some new features regarding this, but I can not find any info on it:
What is the best way to back up Exchange 2016 with IP less DAG, using the latest (7.7.3) version of NBU?
In the note it says to "assign" the DAG name to any node of the DAG via the use of hosts file. So if this is not required in 7.7.3 I would assume that you can just use any DAG node as the client in the policy.
Haven't configured the IP-less scenario myself but i think it would work like a Sharepoint backup, where you just use any frontend server as the entry point (client) in the policy. When bpresolver runs on that client it figures out the topography of the application and generates the streams accordingly.
If you've got an error or have actually tried to proceed with the configuration, post that info please.
It should just work. Just name your DAG as the client, and let NetBackup figure it out.
Every mailbox server keeps a Registry entry telling the DAG to which it belongs, if any. The NetBackup Discovery Framework service (a.k.a., nbdisco) that has already been running on NetBackup clients since 7.5, has been enhanced in 7.7.3 to read the Registry DAG value and push it to the NetBackup master server. I think this happens every four hours.
As a result, the NetBackup master server now has a list of all the mailbox servers in your DAG. As the previous answer suggested, the master server simply selects a mailbox server from the list on which to run bpresolver. Bpresolver continues to function as before, either to make a worklist of databases and servers on which to back them up, or to select a server for restoring a database or mailbox contents.
I've tried this with Netbackup 8.0 with no success. In the maser server properties for Distributed Application Restore Mapping I have the DAG name (IP less) listed as the application host and an entry for each mailbox listed as the Component Host. I have tried setting the client of the Exchange policy to the DAG name from above, with an error client hostname could not be found. I also tried listing one of the mailbox clients as the client for the policy and also got a failure that it was trying to back up a standalone server rather than a DAG.
In the admin guide it mentions the Virtual Exchange Name a bit but it is unclear as to what that is in an IP-less DAG situation with not Adminstrative Access Point Set.
Any advice here would be greatly appreciated.
Client hostname cannot be found in this context can mean that the master server cannot resolve the DAG name to a representative Exchange server. This probably means the Exchange DAG discovery I mentioned is not working.
Things to check:
- bprd log around the error should tell you about the failure to find a node for the DAG.
- Files with Exchange in their name on the master server at NetBackup/db/discovery. There should be an exchange.xml file and .dat file for each node of the DAG. If not, check the NetBackup Discovery Framework service on each client. The logs are in the nbdisco folder. Find all occurrences of ExchangeExplorer. If you don't find where ExchangeExplorer finds the DAG name and sends it to the master, look for a reason why it doesn't.
- Note that nbdisco should run as the NetBackup Exchange user called for in the doc. The best way to do this is to configure it in the host properties of each client.
- After setting the Exchange user in the host properties for each Exchange server, restart the NetBackup Discovery Framework service on each machine. After a few minutes, the exchange.xml and exchange.dat files should appear on the master server. The master chooses the most recent (last) client to send its discovery data to represent the DAG.
- If you do find the .xml and .dat files for at least one Exchange server in the DAG, please share them here.
- As Marianne suggested, can you ping every Exchange server from the NetBackup master?
(In this context, the "virtual name" is the DAG name.)
Thank you both for your responses.
Still not having any luck but have some more targeted digging with the steps.
Regarding Marianne's suggestions, I can ping the Exhange servers from the Master Server.
bprd log did not give many details around the time, and subsequent times manually triggering a back up. It seems the client get's set to "none" but there are no errors so to speak.
I can confirm that there are no exchange.xml files for the nodes on the master server. I tried as you suggested restarting discovery framework on the hosts after confirming the NBU exchange user was set in the client properties. Even after this and multiple successive restarts of the discovery framework it appears that they aren't being autodiscovered as Exchange Hosts.
The nbdisco logs on the client do give some details which likely point to the issue, although I haven't found much helpful at this stage. Logs entreies referring to ExchangeExplorer. Please note I have replaced the DAG name in this case with <DAGNAME>.
0,51216,158,400,57,1504497536076,2104,10864,0:,174:FS_AttachToDLE() Failed! (0xE000038D:Backup Exec could not back up the Exchange database because it could not find a healthy copy of the database.) (../ResourceChild.cpp:674),28:ResourceChildBEDS::_attach(),1
0,51216,309,400,98,1504497536076,2104,10864,0:,105:Unexpected. Unable to attach to the rai resource child. RAI error code = 17
0,51216,309,400,101,1504497536360,2104,10864,0:,121:No database found on this host for <\\<DAGNAME>\Microsoft Information Store > (../ExchangeExplorer.cpp:356),39:ExchangeExplorer::discoverStoreResource,1
0,51216,309,400,102,1504497536360,2104,10864,0:,155:Information Store not found during exchange discovery enumeration for <\\<DAGNAME>\Microsoft Information Store> (../ExchangeExplorer.cpp:287),38:ExchangeExplorer::discoverResourceList,1
0,51216,309,400,103,1504497536384,2104,10864,0:,70:Info: Registry doesn't exists. Return value: 2
From the exchange side I can confirm there are DBs on the hosts and they are healthy
So, you said " I can ping the Exhange servers from the Master Server."
You seem to have DAGNAME in the Policy Clients tab. Is that right?
If so, can you ping DAGNAME?
The way I read the TN is that one of the Exchange server names should be in the Clients tab.
The next issue I see is this:
<DAGNAME>\Microsoft Information Store
Is that what you have in Backup Selection?
For DAG backup, the Backup selection should be Microsoft Exchange Database Availability Groups:\
If you don't have the exchange.xml and exchange.dat files on the master server, your IP-less DAG operations are not going to work. Do you have any files at all in NetBackup\db\discovery? You should have files such as the following, whether or not your Exchange servers have Oracle and SQL Server on them. (My Exchange server is rockfallsvm2.)
- 3 rockfallsvm2 exchange.dat
- 3 rockfallsvm2 exchange.xml
- 3 rockfallsvm2 mssql.dat
- 3 rockfallsvm2 mssql.xml
- 3 rockfallsvm2 oracle.dat
- 3 rockfallsvm2 oracle.xml
- 3 rockfallsvm2 volume.dat
- 3 rockfallsvm2 volume.xml
Please share details about the NetBackup Exchange user that you are using. Is the user a member of Domain Admins or Organization Management? If not, can you try with a user that has one of these memberships?
As a workaround if your master server is Windows, you can put <DAGNAME> in your hosts file, using the IP address of any server in the DAG. If you do this, you will get a backup. Then whether or not the backup goes well, the bpresolver log on the Exchange server you choose will tell about the Exchange user. Please harvest the lines containing ImpersonatePlatform::logImpersonation. You can filter out memberships that are specific to your enterprise.
The fact that the DAG name appears in the log indicates that nbdisco did find it in the Registry. That's good. I think you can confirm it by searching the log for your DAG name.
>Backup Exec could not back up the Exchange database because it could not find a healthy copy of the database
This error is due to a PowerShell failure, which indicates insufficient user privileges.
(It says "Backup Exec" because the NetBackup and BE share a library called BEDS, the Backup Exec Database Server.)
>No database found on this host for <\\<DAGNAME>\Microsoft Information Store >
This error is the result of the first error.
Thanks again for the responses. I have the backups working now but for the sake of others I thought I's still answer a few of the questions.
Firstly, I can't ping the DAG from the master server. This is because the DAG doesn't have an IP Address assigned and isn't known at the host level. This DAG is what is set in the Policy clients tab.
The backup selection is also set to Microsoft Exchange Database Availability Groups :\ and Microsoft Exchange Public Folders :\
Regarding the discovery directory I did have files in there for clients. This was including an old exchange instance that is running with an IP associated DAG and this had the exchange .dat and .xml.
I also checked the NBU user and it was part of oganisation management, not a domain admin. On the local exchange hosts it had the privilege to replace a process level token.
Regarding the hosts file, I did see that this was an option, however I was hesitant to go down this path as it seemed more difficult to manage going forward.
Unfortunately I'm not exactly sure what the issue was in my case but uninstalling and reinstalling the Netbackup agent on the Exchange Hosts got rid of the errors in the nbdisco logs on the clients and created the discovery exhcnage .dat and .xml files on the master server. Backups were then able to be run successfully.
Thanks again for all your help.
I see you resolved the problem, I'm facing the same issue right now.
How do you deal with passive or active databases?
In the backup selection tab, you set a dag name, right?