posted in Netbackup on 12th Jun, 2012, 786 visits.
This post provides a process flow for performing a backup. The steps correspond to the information shown in Figure 1 (below). Please refer to Figure 1 while reviewing the steps outlined.
Upon startup, nbpem obtains all of the Backup Policy information via
nbproxy process from
bpdbm. The currently configured Backup Policy information is used to create the job worklist for all scheduled jobs. The build_worklist function runs only once when nbpem starts up. Once this information is obtained, the nbpem worklist will be retained in memory. nbpem calculates when each job in the worklist is due to run and a timer is set to the due time for each job that needs be run. nbpem sets this timer for each job to track when the job is out of window. When the job is due, the timer expires and
nbpem issues a request to nbjm via pbx to schedule the backup using a job function of “job start”. The nbpem service is a job scheduler.
nbjm initiates a backup job by communicating with bpjobd and the job is added to the job list in the jobs database. The job will now be visible in the Activity Monitor. The job will initially be in a queued state, waiting for resources to be allocated. bpjobd receives both data and status for any internal job started by
nbjm while external or foreign jobs handle their own communication with bpjobd. The nbjm service assigns, runs, executes, and starts jobs. If the job remains queued and the “out of window” timer expires, nbpem notifies nbjm to cancel the job. Normally, nbpem will wait for notification from nbjm that the job has either completed, or been cancelled. In either case, nbpem sets a timer in order to keep track of when the job is due next. Now that the job has been submitted to the job manager, nbjm, the checks for resources are made. This involves the Netbackup Resource Broker. nbjm makes a request for resources to nbrb, the Netbackup resource broker, on the Enterprise Media Manager Server. The Netbackup Resource Broker (nbrb) is another component of the Intelligent Resource Manager that runs continuously on an Enterprise Media Manager Server. nbrb uses the PBX process to communicate with other IRM and EMM services.
The resource broker uses its associated nbproxy service to access resource consumption constraints from bpdbm on the Master Server.
This information includes configured policies and other attribute information such as max jobs per policy, max jobs per client, and max jobs this client. For a normal backup,
nbrb secures the physical resources from nbemm which can include storage units, tape drives, and media ids.
Those resources are then marked as reserved in the EMM database. PBX is again used for this communication.
nbrb will also request that EMM suspend avrd drive scanning on the assigned scan host.
Once the requested resources are acquired, nbrb notifies nbjm that resources have been allocated. The job will remain in a queued state until all of the resources are allocated for the job by nbrb. Once the resources necessary for the job have been acquired from the Resource Broker, nbrb, the job can go active. nbjm will send a message to bpjobd, activating the job in the Activity Monitor.
When the job goes active, nbjm on the Master Server communicates with the Media Server via vnetd to start bpbrm and pass the start job arguments to that process.
bpbrm starts the actual backup by using the client daemon, vnetd, to start the backup and archive program, bpbkar, on the remote Client.
On the Media Server, the backup and restore manager, bpbrm, starts the appropriate media manager process, bptm for tape and bpdm for disk. The bptm process on the selected Media Server will SCSI reserve the drive(s) and then
issue a mount request to ltid.
ltid will forward the robotic mount request to tXXd. The tXXd process spawns a child, which issues a drive unload and sends the mount request to tXXcd. The tXXcd process spawns a child to issue the robotic move medium command. The tXXd child polls the drive, waiting for it to become ready and returns to ltid, which updates the mount statistics in the EMM database and then returns to bptm. The bptm process opens the drive path, positions and starts waiting for write data. nbjm will communicate the job status information to bpjobd as necessary and also accept job requests from bpjobd such as; cancel, restart, and resume.
The bpbkar program sends information about files within the image to the
backup and restore manager, which then communicates with
bpdbm in order to create image records in image database.
bpbkar transmits the backup image through vnetd to bptm or bpdm as directed.
The bptm or bpdm process forks a child process for this non-localized backup, which receives the image and stores it block by block into a shared memory segment.
The original bptm process then takes the image from shared memory and directs it to the allocated storage media. After all Client data has been written,
bpbrm sends job completion information to nbjm via vnetd.
nbjm will send a message to bpjobd so that the Activity Monitor shows the job is now “Done”.
nbjm also triggers the release of resources for completed jobs, notifying nbrb by writing in the job progress log.
nbjm will report the job exit status to nbpem who will then recalculate the next due time of the job.