Content-type: text/html
The lfcdaemon 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 LFC_PORT
an entry in /etc/shift.conf like:
If none of these methods is used, the default port number is taken from the definition of LFC_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 LFC_HOST, for example:
an entry in /etc/shift.conf for example:
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:
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.
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 /grid 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 /grid 09/13 14:37:18 6089 Cns_srv_stat: returns 0