Please enter search query.
Search <book_title>...
Veritas NetBackup™ DataStore SDK Programmer's Guide for XBSA 1.1.0
Last Published:
2021-01-01
Product(s):
NetBackup (9.0.0.1, 9.0)
- Introduction to NetBackup XBSA
- How to set up the SDK
- Using the NetBackup XBSA interface
- NetBackup XBSA data structures
- NetBackup XBSA environment
- XBSA sessions and transactions
- Creating a NetBackup XBSA application
- How to build an XBSA application
- How to run a NetBackup XBSA application
- API reference
- Function calls
- Function specifications
- Type definitions
- Process flow and troubleshooting
- How to use the sample files
- Support and updates
- Appendix A. Register authorized locations
Stream restore procedure
The stream restore procedure is as follows:
- The XBSA application initiates the XBSA interface by starting one or more sessions. Each session is started in its own process. For simplicity, we assume that there is only one stream in this diagram. In reality, each stream has each of these steps.
- The restore is initiated with the first call to BSAGetObject(). This causes the XBSA interface to make a bprd request to initiate a restore.
- bprd initiates a bpbrm process.
- bpbrm initiates a bptm/bpdm process (bptm if tape storage unit, bpdm if disk storage unit). bptm gets the resources from nbjm/nbrb and initiates the process to mount media and start reading the data.
- bpbrm writes progress information to the progress file on the client (by bpcd). This information includes sockets, status, restore attributes, and so on.
- XBSA reads the progress file to find the sockets and other information and connects to bpbrm on the name socket. It continues to read the progress file until it gets the message that it can continue the restore.
- XBSA connects to bptm/bpdm by shared memory (if applicable) or on the data socket if the client and media server are separate machines.
- At this point, BSAGetObject() returns to the XBSA application. XBSA is ready to receive data.
- The application passes buffers to BSASendData() to have the XBSA interface fill these buffers with data from bptm/bpdm by the established connection.
- bptm/bpdm continues to read this data from media or disk storage and write it to the buffers.
- When the application has received all data, it indicates this with a BSAEndData() call. XBSA verifies that all of the data from the object has been sent. XBSA sends a client status to bpbrm that terminates the server processes (bptm).
- bpbrm writes the server status to the progress log and is read by XBSA. This allows the XBSA interface to confirm that the server has successfully read all the data and terminated.
- The restore has been completed at this time. A call to BSAEndTxn() is required to close the transactions, but other than some internal cleanup, it does not provide any function for restores.