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 (126.96.36.199, 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
- Initiating a session
- Backup - creating an object
- Query - finding an object descriptor
- Restore - retrieving an object's data
- Delete - deleting an object or image
- Media IDs - obtaining media IDs
- How to build an XBSA application
- How to run a NetBackup XBSA application
- About 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 backup procedure
The stream backup procedure is as follows:
- nbpem determines that a backup is scheduled to run and it initiates a backup job by nbjm.
- nbjm starts bpbrm, which makes a request by bpcd.
- bpbrm makes a request by the bpcd daemon to start bphdb on the client.
- bphdb executes the backup script (which is contained in the Backup Selections list of the backup policy). Bphdb waits for an exit status from this script so that it can pass a status back to the server.
- The backup script initiates the backup utility of the XBSA application.
(If it is not a scheduled backup operation, but is initiated on the client by the XBSA application, then the backup process starts here.)
- The application initiates the XBSA interface by starting one or more sessions. Each session should be started in its own process. In this diagram, we assume that there is only one stream. In reality, each stream follows each of these steps.
- The backup is initiated with the first call to BSACreateObject(). This causes the XBSA interface to make a bprd request to initiate a backup.
- bprd submits a backup request to nbpem, which submits a job for nbjm. If this was a scheduled backup, there are now two backup jobs. nbjm initiates a bpbrm and a bpdbm process.
- bpbrm initiates a bptm/bpdm process (bptm if tape storage unit, bpdm if disk storage unit). bptm initiates the process to mount media.
- bpbrm writes progress information to the progress file on the client (by bpcd). This information includes sockets, status, backup 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 backup.
- XBSA connects to bptm/bpdm through shared memory (if applicable) or on the data socket if the client and media server are separate machines.
- XBSA sends the XBSA object entry to bpbrm, which sends it on to bpdbm to be catalogued.
- At this point, BSACreateObject() returns to the XBSA application. XBSA is ready to receive data.
- The application fills buffers and calls BSASendData() to have the XBSA interface send these buffers to bptm/bpdm through the established connection.
- bptm/bpdm writes this data to media or disk storage.
- When the application has sent all of the data, it indicates this with a BSAEndData() call. XBSA recognizes that the object is complete.
- The XBSA application can then call BSACreateObject() again to create more objects. The subsequent CreateObject calls do not cause new jobs or connections, but continue with the existing processes.
- When the XBSA application has completed creating objects, a call to BSAEndTxn() causes XBSA to initiate the termination process. 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 image has been successfully catalogued and all of the data was written to media.
- XBSA then passes this status back to the application through the return status from BSAEndTxn(). This status is passed back to bphdb, that passes it back to the original scheduled job to complete the backup. This status displays in the Activity Monitor for the originally scheduled job.