How "Maximum Fragment Size" for a Storage Unit affects backups and restores
When a Storage Unit is defined, one of the parameters that can be configured is the Maximum Fragment Size. If the Maximum Fragment Size is set to 0, VERITAS NetBackup will write the entire backup to the tape as a single tar file. If the backup reaches the end of the tape (EOT), then the backup will continue on to the next tape by default.
If fragment size is set, NetBackup will write a tape mark every "fragment size" and then start a new tar file for the next fragment. It will also still go to a new tape if the backup reaches the EOT. This takes no perceptible amount of time or tape for the backup process. Typically, if set, the fragment size is set to 2048, which is 2048MB or 2GB.
On older tape drives and/or drivers that do not support the SCSI LOCATE command (SCSI Command 0x2B), Fragment Size has a great effect on a restore. This command must be supported by both the SCSI tape drive and by the SCSI driver in the OS being used. The SCSI "LOCATE" command is supported in almost all tape drives in common usage today, including but not limited to: DLT7000 and newer, 9840 and newer, AIT2 and newer, and LTO. It is also supported by at least Solaris, HP-UX, and Windows 4.0/Win2K (with VERITAS Tape Drivers).
If the SCSI LOCATE command is not supported by either the tape drive or the OS SCSI driver, the restore time can be significantly lengthened if Maximum Fragment Size is set to 0. Here is a restore scenario that describes what would happen if the Maximum Fragment Size is set to 0 under this condition. Assume that the backup started on an empty tape and the entire backup was 70GB long, just about filling a DLT tape, and you needed to do a single file restore of a 100KB file. Let us also assume that the file you wanted to restore is 69GB into the backup image. If you are doing a restore when the fragment size was not set (i.e. set to 0, which is the default value), NetBackup will position to the first file on the tape and start reading at normal tape read speed until it skips over the first 69GB of data to get to the 100KB file of interest. This could take a very long time.
However, if the Maximum Fragment Size was set, let us say to 2048 (2048MB = 2GB), then file marks would have been placed on the tape every 2GB. NetBackup can then use the SCSI SPACE command (SCSI Command 0x11) to skip to the fragment that contains the data to be restored. Most tape drives now provide the ability to skip forward, looking for these file marks at about the same speed used to rewind a tape, counting off the tape marks until it has skipped into a point 34 tape marks (34 2GB fragments = 68GB) into the backup. Then NetBackup will start reading at normal tape read speed in this one 2GB fragment of the backup until it locates the 100KB file of interest only 1GB into this last fragment, thus decreasing the amount of time required for this restore by several hours.
Fragment size also affects Disk Storage Units as well. With Disk Storage Units, the fragment size will define the size of each tar file that will be stored as a part of the backup. This could be a concern if there is an OS limitation on file size, so make sure that Max Fragment Size is set to less than the size of the largest file supported by an operating system and file system.
A side effect of setting the Maximum Fragment Size is that every time it starts a new fragment, it puts an entry in the Job Activity Log that is accessible from the Activity Monitor as to when the new fragment starts. This gives you a 2GB speedometer and you can determine how fast each 2GB is being backed up, to tape or to disk. This can be helpful in monitoring the performance of a large backup over time. They have even been plotted using Excel to show the performance of a backup throughout the backup window.
Multiplexing has no effect on how Maximum Fragment Size operates. All of the data streams in a multiplexed backup go to the same fragment. NetBackup keeps track of the data packets in a multiplexed backup with embedded data markers and does not use tape marks to perform this function. One caveat if trying to check the backup speed of a multiplexed backup is that you can not determine how much of the 2GB came from any single data stream in the multiplexed backup. The 2GB speedometer is ticking off how fast the combined data streams of all backups in the multiplexed data stream are being written to tape.
If the Maximum Fragment Size is changed, it will affect any future backups made by that Storage Unit. It will not affect the ability to restore any images that currently exist. Thus, a backup made while the Maximum Fragment Size was set to 0 (or any other value) will still be able to be restored if the Maximum Fragment Size is currently set to 2048 (or any other value).
The Maximum fragment size is set for each Storage Unit in the Storage Unit Management GUI.
To modify the Maximum fragment size:
From NetBackup Administration click on "Storage Unit Management"
Double-Click on the Storage Unit in question.
A Pop-Up with the title bar "Change Storage Unit - <storage_unit_name>" will appear.
Select the tab "Storage Unit Type Properties"