To use projects with NetBackup 7.0 it is necessary to customize the environment so that the project is associated with the NetBackup process of interest any time the process is started. The following examples relate to bptm because it is started from vnetd or bpcd, depending on the connect options. Similar steps should be successful relative to other NetBackup processes.
1. Create a project for NetBackup. Technote 183702 (linked below) contains advice on appropriate sizing for NetBackup shared memory requirements. This example creates project 1000, named NetBackup.
$ /usr/sbin/projadd -U root -c "NetBackup resource project" -p 1000 NetBackup
$ /usr/sbin/projmod -a -K 'project.max-msg-ids=(privileged,256,deny)' NetBackup
$ /usr/sbin/projmod -a -K 'project.max-sem-ids=(privileged,1024,deny)' NetBackup
$ /usr/sbin/projmod -a -K 'project.max-shm-ids=(privileged,1024,deny)' NetBackup
$ /usr/sbin/projmod -a -K 'project.max-shm-memory=(privileged,8589934592,deny)' NetBackup
2. Review the project settings.
# projects -l NetBackup
NetBackup
projid : 1000
comment: "NetBackup resource project"
users : root
groups : (none)
attribs: project.max-msg-ids=(privileged,256,deny)
project.max-sem-ids=(privileged,1024,deny)
project.max-shm-ids=(privileged,1024,deny)
project.max-shm-memory=(privileged,8589934592,deny)
3) Ensure that any scripts that [re]start the NetBackup vnetd and bpcd processes are associated with the project before forking any child processes.
To ensure association at system boot time, modify the /etc/init.d/netbackup script to make this the second line in the script.
MYPID=$$; newtask -p NetBackup -c $MYPID
To ensure association during scripted [re]start of NetBackup, make the same edit to these scripts and any other scripts used to stop or restart netbackup.
/usr/openv/netbackup/bin/goodies/netbackup
/usr/openv/netbackup/bin/bp.start_all
Note: Any custom site-specific changes to a script will need to be reapplied if a future NetBackup release update or hotfix contains an updated copy of the file.
4) Ensure that any ad hoc restart of vnetd or bpcd from the command line makes a similar association. Be sure to confirm that the processes have been stopped, then create a subshell and associate it with the project before restarting the processes. That way the project settings apply only to the processes started within the subshell and not to the login shell which is resumed following the exit from the subshell.
$ ps -ef | egrep 'vnetd|bpcd'
root 13323 1 0 Aug 16 ? 0:05 /usr/openv/netbackup/bin/bpcd -standalone
root 13320 1 0 Aug 16 ? 0:14 /usr/openv/netbackup/bin/vnetd -standalone
$ /usr/openv/netbackup/bin/bpcd -terminate
$ /usr/openv/netbackup/bin/vnetd -terminate
$ ps -ef | egrep 'vnetd|bpcd'
$
$ sh
MYPID=$$ ; newtask -p NetBackup -c $MYPID
/usr/openv/netbackup/bin/vnetd -standalone
/usr/openv/netbackup/bin/bpcd -standalone
exit
5) The resource limits can be verified at any time.
$ ps -ef | egrep 'vnetd|bpcd'
root 29318 1 0 14:05:31 ? 0:00 vnetd -standalone
root 29315 1 0 14:05:26 ? 0:00 bpcd -standalone
$ /bin/prctl -n project.max-shm-memory 29318
process: 29318: vnetd -standalone
NAME PRIVILEGE VALUE FLAG ACTION RECIPIENT
project.max-shm-memory
privileged 8GB - deny -
system 16.0EB max deny -