Windows Bare Metal Restore (BMR) restore fails with status code 58: can't connect to client.

Article: 100023265
Last Published: 2022-02-17
Ratings: 0 0
Product(s): NetBackup & Alta Data Protection

Problem

Windows Bare Metal Restore (BMR) restore fails with status code 58: can't connect to client.

Error Message

Error bpbrm(pid=#) Cannot connect to client
Warning bptm(pid=#) failure logging message to client hostname in log /C/BMR/nbulog.txt: cannot connect on socket (25)

Solution

A status 58 error results from either a TCP SYN request sent to a client from the NetBackup media server performing the restore that was not acknowledged, or because the server was not resolvable so a TCP SYN request was not sent. The majority of the causes of this issue are due to the media server unable to resolve the BMR client by hostname, or the BMR client can not resolve the NetBackup media server by its IP address. Windows BMR client uses the vnetd daemon/bpinetd daemon for incoming connections, it still requires bpcd to perform the hostname compare to authenticate the NetBackup Server.

At this time the BMR client has completed the boot process, verified the backup, partitioned the Disks, formatted the volumes, and sent the bprestore command. Once the BMR client has sent this command the client should be treated as a normal NetBackup client until the restore has completed.

Troubleshooting:

When troubleshooting status 58 errors on a NetBackup client, the first thing to test is to whether  the media server performing the restore can access the client. In the case of Dissimilar System Restore (DSR) a Host file entry should be used to resolve the client hostname to the IP address used for the restore. It is also of major importance that the correct MAC address and ip-address was specified in the "Network Interfaces" section of the restore configuration.

See article289613 when doing a Dissimilar System Restore where the original client is not on the network:   https://seer.entsupport.veritas.com/docs/289613.htm
See article 319282 on further information on DSR while original system is on-line:   https://seer.entsupport.veritas.com/docs/319282.htm

The Host File can be found in:
Windows
C:\WINDOWS\system32\drivers\etc\hosts  
Unix:
/etc/hosts

To test the master/media server resolution of the client server hostname run the following command on the master/media server:
Windows:
<install_path>\Netbackup\bin\bpclntcmd-hn <client_hostname>  
Unix
<installpath>/netbackup/bin/bpclntcmd -hn<client_hostname>


Verify the ability to "ping" the client's IP address from the NetBackup master and media server. If this fails consult with local Network Administrator and client server System Administrator to resolve the layer 3 or IP network connectivity. Double check the server's NIC's IP address and netmask to ensure they are configured correctly.

If the status 58 errors still remain after ensuring the master server can connect to the client, focus on the media server used during the restore. The problem is more than likely with the client hostname lookup or gethostbyname call made to local hostfile or DNS on the media server.

The BMR client bp.conf file is set up inside the client configuration used for the restore. The server entries are generated  from the information found in the "Hosts" section of the client restore configuration.  The entries are also used to create the client's hosts' file data.  The BMR client should not have a need to use DNS to perform name resolution.

Bare MetalManagement -> Hosts -> Bare Metal Restore Clients -> {ClientHostname}  -> {Configuration Name} ->Hosts

There  must exist a valid master Server entry. Verify that there is a media server entry for the Media server performing the restore if the Master Server is not also the Media server for the restore.  To make changes to the section, choose the restore configuration, right click and choose "Change". Follow the normal change steps and save the changes.

On the client system, test the resolution of the NetBackup servers by issuing the same commands. The commands should be run against the media server responsible for restoring the client image.

1. Use the Stop button, immediately followed by the Exit button to exit from the Restore Wizard.  This will return the process to  the main menu.

2.Move the mouse to a location in the upper left hand corner of the mains screen near the gear shape icon. When the mouse pointer changes from an arrow to a hand, right click the mouse.  This will open a command line window.

3. Change directory to X:\BMR\NBU\bin .

4. Execute the commands:
 
X:\BMR\NBU\bin>bpclntcmd -pn
 
The proper response will be:
 
expectingresponse from <master server>
client_name  <client name> <client_ip_address> <port_number>
 
As an example:
 
>bpclntcmd -pn
expectingresponse from server my-server
prod_53prod_53 10.190.10.41 45043
 
If the command fails to run or returns to the command line with no output, run the command:
 
echo%ERRORLEEL%
 
This will display the NetBackup status code of the command.
 
X:\BMR\NBU\Bin>bpclntcmd -hn <NetBackup server hostname>
 
This will respond with the ip-address of the specified hostname.
 
X:\BMR\NBU\Bin>bpclntcmd -ip <NetBackup s erver IP address>
 
This will respond with the hostname of the specified ip-address.

Verify all commands for correctness.  Make changes as required to the hosts file of the NetBackup master/media Server as well as the "Hosts" section of the client restore configuration used for the restore.

To verify if the client was contacted on its incoming ports, again use the command line window, and run:
 
cdZ:\logs\bpcd
dir

This should display the bpcd log, which is created when the bpcd process initiates on contact from a server.  If the file< mmddyy>.log> does not exist, the client bpcd process either failed to initiate or the client was not contacted by the media server.  If the log file does exist, use notepad to view the contents of the file. The initial connection is done by ip-address so look to see what ip-address contacted the client. This value should be that of the media server.  The bpcd process will do a reverse lookup of the ip-address to determine what server is contacting it and if it is a valid server to respond to.

Example Client BPCD log:
11:23:55.937[1864.1868] <2> logconnections: BPCD ACCEPT FROM 10.10.10.111.1007 TO10.10.10.125.13782
11:23:55.937[1864.1868] <2> bpcd main: setup_sockopts complete
11:23:55.937[1864.1868] <2> vauth_acceptor: ..\libvlibs\vauth_comm.c.337: no methodsfor address: no authentication required
11:23:55.937[1864.1868] <2> bpcd main: no authenticationrequired
11:23:56.078[1864.1868] <2> bpcd peer_hostname: Connection from host Media_Server(10.10.10.111) port 1007
11:23:56.078[1864.1868] <2> bpcd valid_server: comparing 10.10.10.111 andMedia_Server
11:23:56.078[1864.1868] <4> bpcd valid_server: hostname comparisonsucceeded
11:23:56.125[1864.1868] <2> bpcd main: output socket port number =13782

The client will show the 'hostname comparison succeeded' and attempt to perform a call back to the media server.

If the bpcd log file does not exist, ensure the client server has the bpcd port in listening mode.

From the media server performing the restore use telnet to connect to the BMR client bpcd port:
 
telnet<BMR client hostname> 13782

This test will connect to the client from the media server and verify forward name lookup.

The media server will generate log files for this issue following the restore failure attempt.  The error seen is being reported by the bpbrm process on the media server.
Check the contents of the bpbrm log to see the host name and ip-address that it used to initiate the image restore process.

Unix:
<installpath>/netbackup/logs/bpbrm/log.mmddyy

Windows:
<installpath>\netbackup\bpbrm\mmddyy.log


In 6.x environments you can use the command bptestbpcd to verify you can connect to both the vnetd and bpcd ports on the client server from the media server.
e.g.

Unix:
<installpath>/netbackup/bin/goodies/bptestbpcd -verbose -debug -client <clienthostname>

Windows:
<installpath>\netbackup\bin\bptestbpcd -verbose -debug -client <clienthostname>

See the article 277901 for additional details on use of that command:   https://entsupport.veritas.com/docs/277901


Example output of successful bptestbpcd:
C:\ProgramFiles\Veritas\NetBackup\bin\admincmd>bptestbpcd -client BMR_client 0 12
10.10.10.111:934-> 10.10.10.125:13782
10.10.10.111:13724<- 10.10.10.125:780
10.10.10.111:13724<- 10.10.10.125:589

If any of these telnet tests fails to generate a log entry then there is something outside of NetBackup that is preventing access to the client's port. Possible errors are firewall software or a TCP wrapper was placed on the ports.

Until the client can establish this socket connection callback to the media server BMR cannot start stream the restore data back to the client and the restore job fails with status code 58 "cannot connect to client".
 

 

Was this content helpful?