Problem
Prior to NetBackup 7.5 there was not a granular method to test a backup by sending data to a "null" Storage Unit (a virtual Storage Unit that doesn't actually store data).
For example, to rule out a performance issue on a backup where the Storage Unit (Tape or Disk) may be the cause of degraded performance, it would be useful to send the data to a Null Storage Unit where there are no i/o restrictions.
With the introduction of Null Storage Units in NetBackup 7.5, it is now possible to rule out (or prove) performance issues on destination Storage Units.
Note: An OST (OpenStorage Technology) license is required to create a null storage unit.
Combining this with "bpbkar -nocont" or using GEN_DATA (to allow bpbkar to generate the data sent), you can remove the potential performance impact from both client side reads of target backup information, and storage unit destination writes when troubleshooting a performance related issue.
Using the Null storage unit also allows the testing of data read speed from a client using a NetBackup policy and a regular backup initiated from the Master. This can be helpful since running "bpbkar -nocont" requires root access to the client, which is sometimes difficult to obtain.
More information: https://www.veritas.com/docs/000013839
GEN_DATA article: https://www.veritas.com/docs/000091135
Note:
It is strongly recommended when using a Null Storage Unit, to copy the policy you wish to test to a new policy before making any changes to the storage unit. This prevents accidentally sending crucial backup data to the Null Storage Unit, where recovery would be impossible. It is also recommended to delete any schedule windows for this test policy to keep scheduled backups from being submitted, unless running the backup on a schedule is needed.
Note:
The Null Storage Unit is only intended to be used for debug and once the first backup is submitted, backups can only be submitted to the Null Storage Unit for 18 hours. When the first backup to this storage unit is submitted, a touch file called TF_NULL_DISK is created in /usr/openv/lib/ost-plugins or %install_path%\veritas\netbackup\bin\ost-plugins\ on Windows. Any backup submitted more than 18 hours after this first backup will fail with a Status 84. This is to assure that the Null Storage Unit is only used for debug purposes. If further debug is needed after the 18 hour window expires, just delete the touch file and the next backup submitted to the Null Storage Unit will start a new 18 hour window where further backups can be submitted. Any active backup that was submitted within the 18 hour window and is still running when the window closes, will run to completion.
Note:
Catalog backups will fail with ' Status 11 ' when using a Null Storage Unit (below is from the BPDBM log).
Note:
Null Storage Units can not be used as a duplication destination storage unit in Storage Lifecycle Policies. The duplication will fail with a 191 and the detailed status will report
10/28/2011 09:25:59 - Critical bptm (pid=20271) image open failed: error 2060038: no such device
10/28/2011 09:25:59 - Error bpduplicate (pid=19361) write host kmsuse1.uklab.veritas.com: media write error (84)
10/28/2011 09:26:00 - Error bpduplicate (pid=19361) Duplicate of backupid kmsuse1_1319790102 failed, media write error (84).
10/28/2011 09:26:00 - Info bptm (pid=20271) EXITING with status 84 <----------
10/28/2011 09:26:00 - Error bpduplicate (pid=19361) Status = no images were successfully processed.
Note:
Adding the NOExpire touch file does not stop the Null Storage Unit from launching the image cleanup to cleanup its images.
NOExpire article: https://www.veritas.com/docs/000008058
Note:
The Null Storage Unit is a storage unit on a media server. The client backed up by the test policy may or may not be on the same system. If this is a network backup of a client on the network, the speeds reported will be both the time required to read the data from the disk on the client AND to send that data over the network to the media server.
Solution
Steps to create the Null Storage Unit, disk pool, and storage server by command line:
1. Copy the required plugin files on the media server
Unix: Copy these two files indicated below to /usr/openv/lib/ost-plugins/ on the media server.
/usr/openv/netbackup/bin/support/libstspinulldiskMT.so
/usr/openv/netbackup/bin/support/libstspinulldisk.so
Windows: Copy the one dll file indicated below to [Install Drive]:\Program Files\Veritas\NetBackup\bin\ost-plugins\ on the media server.
[Install Drive]:\Program Files\Veritas\NetBackup\bin\support\libstspinulldisk.dll
2. Ensure the NullDisk Plugin is available with the following command:
Unix:
/usr/openv/netbackup/bin/admincmd/bpstsinfo -pi
Windows:
[Install Drive]:\Program Files\Veritas\NetBackup\bin\admincmd\bpstsinfo -pi
Sample output:
Plugin Name: libstspinulldisk.dll
Prefix: nulldisk
Label: NullDisk Plugin
Build Version: 10
Build Version Minor: 1
Operating Version: 10
Vendor Version: See https://tinyurl.com/nulldisk
3. Restart the NetBackup Remote Manager and Monitor Service on the media server:
Unix:
/usr/openv/netbackup/bin/nbrmms -terminate
/usr/openv/netbackup/bin/nbrmms
Windows:
Start > Run > Services.msc.
Right-click the NetBackup Remote Manager and Monitor Service, Select Restart.
4. Configure the storage server:
Note:
For this example, the Storage Server will be entered as "nullstsv", however, the Storage Server name can be any unique string. Whatever is used for the Storage Server name must then also be used in all future commands when specifying the Storage Server.
Also, the Media Server name must match the Media Server name in EMM.
Unix:
/usr/openv/netbackup/bin/admincmd/nbdevconfig -creatests -storage_server nullstsv -stype nulldisk -st 9 -media_server media_server_name
Windows:
[Install Drive]:\Program Files\Veritas\NetBackup\bin\admincmd\nbdevconfig -creatests -storage_server nullstsv -stype nulldisk -st 9 -media_server media_server_name
Note: If you get the following error:
Failed to create storage server [server_name], cannot connect on socket.
Try restarting Netbackup services
5. Add the storage server credentials:
Unix:
/usr/openv/volmgr/bin/tpconfig -add -storage_server nullstsv -stype nulldisk -sts_user_id <username> -password <password>
Windows:
[Install Drive]:\ Program Files\Veritas\Volmgr\bin\tpconfig -add -storage_server nullstsv -stype nulldisk -sts_user_id <username> -password <password>
Note: The username and password may be an arbitrary user and password for the creation of the nulldisk Storage Server credentials.
6. Preview the disk volumes, and add the disk volumes to temporary file called “list”:
Unix:
/usr/openv/netbackup/bin/admincmd/nbdevconfig -previewdv -stype nulldisk -storage_server nullstsv > list
Windows:
[Install Drive]:\Program Files\Veritas\NetBackup\bin\admincmd\nbdevconfig -previewdv -stype nulldisk -storage_server nullstsv > list
7. Create an OpenStorage diskpool using the temporary file for the disk volumes:
Note:
For this example, the Disk Pool Name will be entered as "nullpool", however, the Disk Pool Name can be any unique string. Whatever is used for the Disk Pool Name must then also be used in all future commands when specifying the Disk Pool.
Unix:
/usr/openv/netbackup/bin/admincmd/nbdevconfig -createdp -dp nullpool -stype nulldisk -storage_server nullstsv -dvlist list
Windows:
[Install Drive]:\Program Files\Veritas\NetBackup\bin\admincmd\nbdevconfig -createdp -dp nullpool -stype nulldisk -storage_server nullstsv -dvlist list
8. Add a storage unit:
Note:
For this example, the Storage Unit Label will be entered as "nullstu", however, the Storage Unit Label can be any unique string. Whatever is used for the Storage Unit Label must then also be used in all future commands when specifying the Storage Unit.
Unix:
/usr/openv/netbackup/bin/admincmd/bpstuadd -label nullstu -dp nullpool -odo 1
Windows:
[Install Drive]:\Program Files\Veritas\NetBackup\bin\admincmd\bpstuadd -label nullstu -dp nullpool -odo 1
Steps to delete the null storage unit, disk pool and storage server by command line:
1. Delete the storage unit:
Unix:
/usr/openv/netbackup/bin/admincmd/bpstudel -label nullstu
Windows:
[Install Drive]:\Program Files\Veritas\NetBackup\bin\admincmd\bpstudel -label nullstu
2. Delete the disk pool:
Unix:
/usr/openv/netbackup/bin/admincmd/nbdevconfig -deletedp -stype nulldisk -dp nullpool
Windows:
[Install Drive]:\Program Files\Veritas\NetBackup\bin\admincmd\nbdevconfig -deletedp -stype nulldisk -dp nullpool
3. Delete the OpenStorage credentials:
Unix:
/usr/openv/volmgr/bin/tpconfig -delete -storage_server nullstsv -stype nulldisk -sts_user_id root
Windows:
[Install Drive]:\ Program Files\Veritas\Volmgr\bin\tpconfig -delete -storage_server nullstsv -stype nulldisk -sts_user_id root
4. Delete the Storage Server:
Unix:
/usr/openv/netbackup/bin/admincmd/nbdevconfig -deletests -storage_server nullstsv -stype nulldisk
Windows:
[Install Drive]:\Program Files\Veritas\NetBackup\bin\admincmd\nbdevconfig -delete -storage_server nullstsv -stype nulldisk -sts_user_id root
Note: It is also good practice to remove the libraries libstspinulldiskMT.so & libstspinulldisk.so from /usr/openv/lib/ost-plugins/, or libstspinulldisk.dll from [Install Drive]:\Program Files\Veritas\NetBackup\bin\ost-plugins\ to avoid accidentally creating a Null storage unit when it's not needed.
Configuration via GUI
Note:
References to environmental names in this example are the same as those used in the command line example. Any of them can also be changed as desired, but must be used consistently.
Click on Configure Disk Storage Servers
Click Next
Select OpenStorage then click Next
Add the Storage server name "nullstsv" and Storage Server Type "nulldisk". The Storage Server Type "nulldisk" must be typed into the box as it will NOT show up in the pull down box.
Select the Media server and enter credentials, then click Next
Review settings then click Next
Once credentials are successfully added click Next
We now come to the Disk Pool Configuration Wizard. Click Next
Click Next
Click Next
Select OpenStorage (nulldisk) then click Next
Select nullstsv then click Next
Tick null-lsu. Note the 2GB referenced is never reached because data is sent to a "black hole" - null. Click Next
Add the diskpool name as nullpool then click Next
Check summary then click Next
Click Next
Tick Create a storage unit that uses the disk pool and then click Next
Add the storage unit name, in this instance we have called it nullstu.
Optionally, select the media server you require to test on, or select "Use any available media server"
Then click Next
Click Next
Your Null storage unit is now ready to use. When testing against a policy it is always recommended to copy the policy to a temporary new policy then change the storage unit to the nullstu for testing.
Deleting the NULL STU, Disk Pool and Storage Server from the GUI
Expand NetBackup Management and then expand Storage then select Storage Units.
Highlight the nullstu storage unit, right click then select Delete.
Confirmation box will ask you if you are sure. Select OK
Next expand Media and Device Management, expand Devices and click on Disk Pools.
Select the nullpool, right click and select Delete.
When the confirmation box appears select OK
Finally expand Media and Device Management then expand Credentials.
Click on Storage Servers and select the nullstsv.
Right click and select Delete Storage Servers.
Select OK when the confirmation box asks.