This document presents some suggestions on how the various database and log file components can be relocated to separate file systems to reduce I/O contention and improve performance. The layouts presented in this document offer the best combinations for most environments. However it is possible that for some environments different arrangements of the various files might perform better.
By default the NetBackup binaries and database files are installed into a common path (/usr/openv on Unix and Linux and <install_path>\veritas on Windows) which is typically a single file system. While this gives acceptable performance for most customer environments it does result in a lot of I/O contention between the database and logging process and can lead to degraded performance, particularly in larger environments where I/O traffic during backup windows is significant.
Components that may be affected by I/O contention:
The following 5 components should, as far as possible, be located on different disks to minimize contention (for the purposes of this document the word ‘disk’ means a file system configured on the storage to avoid I/O contention with other file systems):
1. The unified logs
2. The catalog flat file components (in particular the image database)
3. The catalog relational database data files
4. The catalog relational database index files
5. The catalog relational database transaction logs
As a general rule the databases and log files should be located on RAID 5 or RAID 10 storage to achieve the best mix of performance and resilience.
How to arrange things based on the number of disks available:
Here are some examples of how to arrange your files depending on the number of disks you have available. These examples assume NetBackup has been installed into a single path on disk 1 and identify which components to move to which alternate disk:
· 2 disks – place the catalog flat file components, relational database index files and relational database transaction logs on disk 2, leave all other components on disk 1
· 3 disks – place the catalog flat file components, relational database index files and relational database transaction logs on disk 2, place the relational database data files on disk 3, leave all other components on disk 1
· 4 disks – place the catalog flat file components on disk 2, place the relational database data files on disk 3, place the relational database index files and relational database transaction logs on disk 4, leave all other components on disk 1
· 5 disks – place the catalog flat file components on disk 2, place the relational database data files on disk 3, place relational database index files and relational database transaction logs on disk 4, place the unified logs on disk 5, leave all other components on disk 1
· 6 disks – place the catalog flat file components on disk 2, place the relational database data files on disk 3, place the relational database index files on disk 4, place the unified logs on disk 5, place the relational database transaction logs on disk 6, leave all other components on disk 1
Relocating the flat file database:
The flat file database resides under /usr/openv/netbackup/db on Unix and Linux and <install_path>\veritas\netbackup\db on Windows.
There are no commands that allow the databases to be located but for Unix, Linux and Windows 2008 it is possible to use soft links (created using the mklink command on Windows 2008 and ln –s on Unix and Linux) to create links to a separate file system. The catalog backup will follow these links.
The largest and most I/O intensive part of the flat file database is the image database (/usr/openv/netbackup/db/images on Unix and Linux and <install_path>\veritas\netbackup\db\images on Windows) and you can also link at this level to just relocate the image database.
For Windows 2003 there is no link command but the image database can still be relocated to a separate file systems by using ALTPATH entries at the client level (i.e. each client directory, <install_path>\veritas\netbackup\db\images\<client_name> must contain a file called ALTPATH which includes the path to the corresponding client directory on the alternative disk. Details of how to move catalog image trees and use the ALTPATH feature can be found in the section headed “Moving the image catalog” in Volume 1 of the NetBackup System Administrators Guide for Windows.
Relocating relational database components:
Use the nbdb_move command to relocate the different components of the relational databases, the –data qualifier determines the location of the data files, the –index qualifier determines the location of the index files and the –tlog qualifier determines the location of the transaction logs.
/usr/openv/db/bin/nbdb_move -data /netbackupdb/data -index /netbackupdb/index –tlog /netbackupdb/db/logs
In this example there may be a single disk/mount point of /netbackupdb or separate mount points for each component.
Relocating log files:
The default location for the log files is /usr/openv/netbackup/logs on Unix and Linux and <install_path>\veritas\netbackup\logs on Windows.
If unified logging is used the log files can be relocated using the vxlogcfg command to specify the new path to the log files.
For Unix and linux the syntax is:
/usr/openv/netbackup/bin/vxlogcfg -a -p NB -o Default -s LogDirectory=new_log_path
For Windows the syntax is:
<install_path>\NetBackup\bin\vxlogcfg -a -p NB -o Default –s LogDirectory=new_log_path
If unified logging is not used the path can be soft linked to another disk.
Relocating the relational database staging area:
One final piece of the catalog that can be optional relocated is the staging area used to hold the temporary relational database files created. By default this area is /usr/openv/db/tmp on Unix and Linux machines and <install_path>\veritas\netbackupdb\staging on Windows machines. Relocating the staging area to a different disk can improve performance during backup and restore. The following command can be used to relocate the staging area.
nbdb_admin -vxdbms_nb_staging new_staging_area