Scroll to navigation

DPNSDAEMON(8) DPNS Administrator Commands DPNSDAEMON(8)

NAME

dpnsdaemon - start the name server

SYNOPSIS

dpnsdaemon [ -c config_file ] [ -l log_file ] [ -m map_file ] [ -n ] [ -r ] [ -s 0|1 ] [ -t nbthreads ] [ -4 | -6 ]

DESCRIPTION

The dpnsdaemon command starts the name server. This command is usually executed at system startup time (/etc/rc.local). This will read the name server configuration file, create the "/" entry in the database if it does not exist yet, create a pool of threads and look for requests. Each of them is processed in a thread which opens a connection to the database server if necessary. When a request has been completed, the thread becomes idle until it is allocated to another request. The connection to the database server is kept open between 2 requests. If the name server is being shutdown or not active, the requests are automatically retried by the client API.

All error messages and statistical information are kept in a log.

The name server listen port number can be defined on client hosts and on the name server itself in either of the following ways:

setting an environment variable DPNS_PORT

setenv DPNS_PORT 5010

an entry in /etc/shift.conf like:

DPNS PORT 5010

If none of these methods is used, the default port number is taken from the definition of DPNS_PORT in Cns_constants.h.

The name server host name can be defined on client hosts in either of the following ways:

setting an environment variable DPNS_HOST, for example:

setenv DPNS_HOST lxb1925

an entry in /etc/shift.conf for example:

DPNS HOST lxb1925

If none of these methods is used, the default host is taken from the definition of NsHost in site.def.

The name server database keeps the metadata information: filename, file size, access time, permissions and migration status.

The name server configuration file contains password information for the database and must be readable/writable only by root. It contains a single line in the format:

username/password@server
or
username/password@server/dbname

where 'username' and 'password' are the credentials to login to the database instance identified by 'server'. If 'dbname' is not specified, "cns_db" is used.

In the log each entry has a timestamp. All entries corresponding to one request have the same request id. For each user command there is one message NS092 giving information about the requestor (hostname, uid, gid) and one message NS098 giving the command itself. The completion code of the command is also logged.

OPTIONS

-c config_file
Specifies a different path for the Name Server configuration file.
-l log_file
Specifies a different path for the Name Server log file. The special value syslog will send the log messages to the system logger syslogd.
-m map_file
Specifies a different path for the Name Server mapping file.
-n
disables automatic creation of virtual ids.
-r
read-only mode. Only query operations are allowed.
-s 0|1
replica restrict mode. If the argument is 1 then commands which change replicas will only be accepted from trusted connections. The dpnsaemon will default to this mode, other instances of the name server service do not.
-t nbthreads
specifies the number of threads. The value must be lower than DPNS_MAXNBTHREADS (currently 100). Default is 20.
-4
only try to listen on IPv4 addresses
-6
only try to listen on IPv6 addresses

FILES

/etc/DPNSCONFIG
configuration file
/var/log/dpns/log

EXAMPLES

Here is a small log:
09/13 14:36:35  6089 Cns_serv: started
09/13 14:36:36  6089 Cns_serv: creating /
09/13 14:37:02  6089 Cns_srv_mkdir: NS092 - mkdir request by 0,0 from lxb1925.cern.ch
09/13 14:37:02  6089 Cns_srv_mkdir: NS098 - mkdir /dpm 777 22
09/13 14:37:02  6089 Cns_srv_mkdir: returns 0
09/13 14:37:18  6089 Cns_srv_stat: NS092 - stat request by 0,0 from lxb1925.cern.ch
09/13 14:37:18  6089 Cns_srv_stat: NS098 - stat /dpm
09/13 14:37:18  6089 Cns_srv_stat: returns 0
    

SEE ALSO

Clogit(3), dpns-shutdown(1)

AUTHOR

LCG Grid Deployment Team
$Date: 2013-09-11 15:25:28 +0200 (Wed, 11 Sep 2013) $ DPNS