 |
Index for Section 8 |
|
 |
Alphabetical listing for B |
|
 |
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 for Section 8 |
|
 |
Alphabetical listing for B |
|
 |
Top of page |
|