DOCUMENTATION: Tuning Solaris 10 shared memory for NetBackup Media Server processes (bptm / bpdm)

Article:TECH62633  |  Created: 2010-01-02  |  Updated: 2013-06-21  |  Article URL http://www.symantec.com/docs/TECH62633
Article Type
Technical Solution


Environment

Issue



DOCUMENTATION: Tuning Solaris 10 shared memory for NetBackup 6.x media server processes (bptm / bpdm)

See TECH138168 in the Related Articles for Tuning Solaris 10 shared memory for NetBackup 7.x media server processes.


Error



EXIT STATUS 89: problems encountered during setup of shared memory


Solution



Introduction

Prior to Solaris 10, shared memory tuning was performed by adding or changing entries in the /etc/system file and rebooting the server. See Knowledge Base Document TECH56434 (linked below) for advice on tuning Solaris 9 and earlier.

With the introduction of Solaris 10, Sun have deprecated the use of /etc/system settings and introduced the Resource Controls Facility. This allows projects to be created for applications and the resources tuned dynamically on a per-project basis.

As part of this change, Sun set the default amount of shared memory to be 25% of the total system memory. For most NetBackup media server configurations this default will be sufficient. If not then NetBackup jobs may fail with the error:

EXIT STATUS 89: problems encountered during setup of shared memory

If this happens, the instructions in this Knowledge Base document should be used.

This document is divided into two sections:

  • First Time Setup
  • Modifying the Tuning

To check if the first time setup has already been performed, use the projects command.  If first time setup has not been performed, a message similar to the following will be displayed:

# /bin/projects -l NetBackup
projects: project "NetBackup" does not exist

 
 

First Time Setup

Here are the steps to create a project for NetBackup 6.5 and have the Solaris 10 Service Management Facility (SMF) launch NetBackup daemon processes in that project. This results in the bptm process being launched with the values tuned in the NetBackup project. 

Note: Steps 3 & 4 are not appropriate for NetBackup 7.x.  See Related Article TECH138168.

1. First create a NetBackup project (id = 1000) and "tune" it. The following example sets the maximum amount of shared memory to 8GB:

(The commands below have had line breaks inserted for readability, but each should be entered on a single command line.)

# /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

Note: See TECH1724, in the Related Articles, for advice on appropriate sizing for NetBackup shared memory. 

2. The project may be checked with the projects command: 

# 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. Now check whether vnetd and bpcd have the entries in SMF 

# svcs -a | egrep 'bpcd|vnetd'

online 08:30:10 svc:/network/bpcd/tcp:default
online 08:30:10 svc:/network/vnetd/tcp:default

If the above output is not displayed, then make these entries in the /etc/inetd.conf, 

bpcd    stream  tcp     nowait  root    /usr/openv/netbackup/bin/bpcd bpcd
vnetd   stream  tcp     nowait  root    /usr/openv/netbackup/bin/vnetd vnetd

Next, run the below command to import the changes into SMF.

#  inetconv -f
100235/1 -> /var/svc/manifest/network/rpc/100235_1-rpc_ticotsord.xml
Importing 100235_1-rpc_ticotsord.xml ...Done
bpcd -> /var/svc/manifest/network/bpcd-tcp.xml
Importing bpcd-tcp.xml ...Done
vnetd -> /var/svc/manifest/network/vnetd-tcp.xml
Importing vnetd-tcp.xml ...Done 

  4. Now arrange for SMF to launch the NetBackup daemon processes in the NetBackup project just created. This should be performed for both the vnetd and bpcd daemons.

Find the NetBackup vnetd service name:

# /usr/sbin/svccfg list | grep vnetd
network/vnetd/tcp
 

Check the current setting for project, 'default' is the default:

# svccfg -s network/vnetd/tcp listprop | grep project
inetd_start/project            astring  default

  

Change the service to run in the NetBackup project:

# svccfg -s network/vnetd/tcp setprop inetd_start/project=NetBackup

  

Verify the change is applied:

# svccfg -s network/vnetd/tcp listprop | grep project
inetd_start/project            astring  NetBackup

  

Follow the same steps for the bpcd daemon:

# svccfg list | grep bpcd
network/bpcd/tcp
# svccfg -s network/bpcd/tcp listprop | grep project
inetd_start/project            astring  default
# svccfg -s network/bpcd/tcp setprop inetd_start/project=NetBackup
# svccfg -s network/bpcd/tcp listprop | grep project
inetd_start/project            astring  NetBackup

  

5. Check the effects of the tuning on a running process with the prctl command. In this example, the bpps command on the media server shows the process id of bptm to be 3428 and the output of the prctl command shows the shared memory setting to be 8GB:

# /usr/openv/netbackup/bin/bpps | grep bptm
  root  3428     1   0 12:05:39 ?           0:00 bptm
# /bin/prctl -n project.max-shm-memory 3428
process: 3428: bptm
NAME    PRIVILEGE       VALUE    FLAG   ACTION       RECIPIENT
project.max-shm-memory
      privileged      8.00GB      -   deny                 -
      system          16.0EB    max   deny                 -


Modifying the Tuning

Once first time setup has been performed, it is necessary to use different command options to modify the settings; repeating the first time settings can lead to unpredictable results. 

1. Ensure the NetBackup daemons are being launched by SMF in the NetBackup project:

# svccfg -s network/vnetd/tcp listprop | grep project
inetd_start/project            astring  NetBackup
# svccfg -s network/bpcd/tcp listprop | grep project
inetd_start/project            astring  NetBackup

  

2. Confirm the current NetBackup 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. To modify a project attribute, use the projmod command with the -s switch.

For example, to increase the maximum shared memory setting to 10GB (10737418240)  and the shared memory identifiers to 2048, use the commands:

# /usr/sbin/projmod -s -K 'project.max-shm-memory=(privileged,10737418240,deny)' NetBackup
# /usr/sbin/projmod -s -K 'project.max-shm-ids=(privileged,2048,deny)' NetBackup 

4. Confirm the change was successful and that the project contains just one entry for the tunable attribute that you specified:

# projects -l NetBackup | grep max-shm
    project.max-shm-memory=(privileged,10737418240,deny)
    project.max-shm-ids=(privileged,2048,deny)
 

 


Supplemental Materials

SourceError Code
Value89
Description

problems encountered during setup of shared memory



Legacy ID



307610


Article URL http://www.symantec.com/docs/TECH62633


Terms of use for this information are found in Legal Notices