Index Index for
Section 8
Index Alphabetical
listing for B
Index Bottom of
page

bssd(8)

NAME

bssd - The remote Block Shipping Service (BSS) daemon (provided on Production Server configurations only)

SYNOPSIS

/usr/sbin/bssd [numthreads]

PARAMETER

numthreads Specifies how many bssd threads to fork. If numthreads is not specified, it defaults to 1.

DESCRIPTION

The bssd daemon is a component of the distributed raw disk (DRD) subsystem that runs on both DRD client and DRD server systems in a Production Server configuration. The purpose of this daemon is to provide a context for the receipt of Remote Procedure Call (RPC) requests. DRD issues RPC requests to maintain DRD service map entries and the DRD services themselves, as follows: · Map entries A DRD server informs other cluster nodes of the availability of a DRD device by using an RPC message to send a map entry that indicates the server node and the DRD device it is serving. Similarly, if a DRD client node does not have a map entry for a DRD service, it sends RPC requests to other cluster members to determine which one is the DRD device server. · Disk services The DRD subsystem may use RPC calls to perform remote user requests. For example, it may issue a remote user request in response to an open, close, read, write, or ioctl system call. However, the DRD subsystem does not use RPC interfaces when performing read and write system calls over the Memory Channel cluster interconnect. Instead, it uses an optimized code path, which uses the underlying Memory Channel interfaces. · Statistics gathering Performance monitoring utilities gather statistics from the DRD subsystem using RPC interfaces. An individual system may simultaneously be both a DRD client and a DRD server. This is the case when some of the disk devices are served locally, while at the same time requests are made on this system for DRD disks that are attached to a remote host. At least one bssd thread must be running for a machine to operate as either a DRD client or a DRD server. The bssd daemons are implemented as kernel threads. Therefore, if 16 bssd daemons are configured, only 1 bssd process is displayed in the output from the ps command, although 16 bssd daemon threads are available to handle DRD requests. Note Because the bssd process cannot be restarted, avoid sending it a signal (such as SIGKILL or SIGTERM) that will terminate it. If you do terminate the bssd process, you must reboot the system on which it was running to make DRD operational. All error messages issued from bssd are issued to the syslog error logger. See syslogd(8) for syslog configuration information. The number of bssd threads determines the number of concurrent RPC requests that a DRD server can accommodate. For example, if there is only one thread, only a single write or read request can be active simultaneously (which is very limiting). (Because the RPC layer is bypassed in a cluster using the Memory Channel interconnect, the number of concurrent read and write requests is not limited by the numthreads parameter in this type of configuration.) The maximum number of bssd threads is determined by examining the drd- bssd-max parameter in the /etc/sysconfigtab file (see drd(7)). For example: # sysconfig -q drd drd-bssd-max The value of the numthreads parameter cannot exceed this value. The bssd daemon is automatically started by the cluster member's startup sequence. By default, the cluster startup script uses a value of 8 for the numthreads parameter. To override this default setting, set the NUM_BSSD parameter in the /etc/rc.config file. The following example shows how to set the value of the NUM_BSSD parameter so that 32 bssd threads will run when the system is rebooted: # rcmgr set NUM_BSSD 32 Use the following command to display the current value of the NUM_BSSD parameter: # rcmgr get NUM_BSSD The rcmgr get command does not display a value for the NUM_BSSD parameter if a prior rcmgr set command did not specify a value for it. In this case, the cluster member's startup sequence uses the default value for the numthreads parameter. To determine if your cluster configuration would benefit from running additional bssd threads, use the following command to determine the percentage of time all bssd threads are concurrently processing requests: # sysconfig -q drd drd-bssd-busy drd-bssd-busy = 8 When the value of the drd-bssd-busy attribute exceeds 10%, increase the number of bssd threads by setting the NUM_BSSD parameter.

EXAMPLES

In the following example, 32 threads are run that accept requests from any DRD client or server: /usr/sbin/bssd 32

FILE

/usr/sbin/bssd Specifies the command path.

RELATED INFORMATION

bsc_biod(8), drd(7), drd_balance(8), drd_dma(8), drd_ivp(8), drd_mknod(8)

Index Index for
Section 8
Index Alphabetical
listing for B
Index Top of
page