Difference between revisions of "DCache Administration Console Commands"

From Public PIC Wiki
Jump to navigation Jump to search
(Created page with "= About this document = * This document shows several examples of useful commands that can be run in the dCache Administration Console. * Administration console can be accesse...")
 
 
(28 intermediate revisions by one other user not shown)
Line 2: Line 2:
 
* This document shows several examples of useful commands that can be run in the dCache Administration Console.
 
* This document shows several examples of useful commands that can be run in the dCache Administration Console.
 
* Administration console can be accessed through '''[[https://www.dcache.org/downloads/gui/ PCells GUI]]''' or through '''SSHv2''' as follows (in the example, '''dccore.pic.es''' is the physical machine running the '''admin''' cell):
 
* Administration console can be accessed through '''[[https://www.dcache.org/downloads/gui/ PCells GUI]]''' or through '''SSHv2''' as follows (in the example, '''dccore.pic.es''' is the physical machine running the '''admin''' cell):
  ssh -2 -x -o StrictHostKeyChecking=no -l admin -c blowfish -p 22224 dccore.pic.es
+
  ssh -2 -x -o StrictHostKeyChecking=no -l admin -p 22224 dccore.pic.es
 
* In this document we show what we consider the most important commands for the everyday's administration tasks, and basically the ones that may be useful for the Manager On Duty. Maybe some important commands are missing, but will be added as soon as we detect that these may be important for the MoD.
 
* In this document we show what we consider the most important commands for the everyday's administration tasks, and basically the ones that may be useful for the Manager On Duty. Maybe some important commands are missing, but will be added as soon as we detect that these may be important for the MoD.
 +
* This document is divided in two main blocks:
 +
# '''Pool commands''': shows useful commands that can be run on pools.
 +
# '''Service commands''': show useful commands that can be run on servers (this will include doors)
 +
 +
= The basics =
 +
* If you access the Administration Console through '''SSHv2''' you should access to the different cells as follows:
 +
\? [command]...  # display help for shell commands
 +
\c cell[@domain] [user]  # connect to cell
 +
\exception [trace]  # controls display of stack traces
 +
\h [command]...  # display help for cell commands
 +
\l [cell[@domain]|pool/poolgroup]...  # list cells
 +
\q # quit
 +
'''\s (cell[@domain]|pool/poolgroup)[,(cell[@domain]|pool/poolgroup)]... command...  # send command'''
 +
\sl pnfsid|path command...  # send to locations
 +
\sn command...  # send pnfsmanager command
 +
\sp command...  # send poolmanager command
 +
\timeout [seconds]  # sets the command timeout
 +
* With '''\s''' you will be able to access to any '''cell[@domain]'''s, while branches of this command such like '''\sn''' or '''\sp''' are useful to (respectively) direct access to the ''namespace'' or ''poolmanager'' cells without the need of specifying the ''cell[@domain]''.
 +
 +
= Pool commands =
 +
== Introduction ==
 +
* Any command run on a pool is a temporary change: on any pool service restart configuration will be restored back to the default value or to the value set in the '''setup''' file (locate in '''/dcpool*/vpool*/setup''').
 +
:* In example, whenever we set a pool to ''rdonly'', on restart, once the ''initialization'' process finishes, pool will switch back to ''enabled''.
 +
* If you want to make permanent changes, you should '''save''' changes. Running the '''save''' command will update the already mentioned '''setup''' file.
 +
:* In example, whenever we set a pool to ''rdonly'' '''and''' we ''save'' the configuration, on a restart, once the ''initialization'' process finishes, pool will remain ''rdonly''.
 +
 +
== Disable / enable pools ==
 +
=== Command help ===
 +
'''''[dccore01] (local) admin >''''' '''\s dc???_? help hsm'''
 +
''pool disable [options] [<errorCode> [<errorMessage>]]'' # suspend sending 'up messages'
 +
      OPTIONS :
 +
        -fetch    #  disallows fetch (transfer to client)
 +
        -stage    #  disallows staging (from HSM)
 +
        -store    #  disallows store (transfer from client)
 +
        -p2p-client
 +
        -rdonly  #  := store,stage,p2p-client
 +
        -strict  #  := disallows everything
 +
''pool enable'' # start sending 'up messages' again
 +
''pool suppress hsmload on|off''
 +
 +
=== Disable / enable pool examples ===
 +
* Disallow store + stage + p2p-client (set pool in read only mode)
 +
'''''[dccore01] (local) admin >''''' '''pool disable -rdonly'''
 +
* Enable pool (set pool to RW)
 +
'''''[dccore01] (local) admin >''''' '''pool enable'''
 +
 +
== HSM configuration ==
 +
=== Command help ===
 +
'''''[dccore01] (local) admin >''''' '''\s dc???_? help hsm'''
 +
hsm create <type> [<name> [<provider>]] [-<key>=<value>] ...
 +
hsm ls [<name>] ...
 +
hsm remove <name>
 +
hsm set <name> [-<key>=<value>] ...
 +
hsm show providers # show available nearline storage providers
 +
hsm unset <name> [-<key>] ...
 +
=== HSM configuration examples ===
 +
* Create a ''enstore'' HSM with the ''real-encp.sh'' client script (this example can be found in the '''setup''' file):
 +
'''''[dccore01] (local) admin >''''' '''hsm create enstore enstore script -pnfs=/pnfs/fs/usr -command=/opt/enstore/bin/real-encp.sh -c:gets=200 -c:puts=20 -c:removes=2'''
 +
* Show ''enstore'' configuration:
 +
'''''[dccore01] (local) admin >''''' '''hsm ls enstore'''
 +
enstore(enstore):script
 +
  pnfs                /pnfs/fs/usr
 +
  command            /opt/enstore/bin/real-encp.sh
 +
  c:gets              200
 +
  c:puts              20
 +
  c:removes          2
 +
* Set maximum restores to 400:
 +
'''''[dccore01] (local) admin >''''' '''hsm set enstore -c:gets=400'''
 +
 +
== Mover management ==
 +
=== Command help ===
 +
'''''[dccore01] (local) admin >''''' '''\s dc???_? help hsm'''
 +
''mover kill <jobid>''  # terminate a file transfer connection
 +
''mover ls [-binary [jobId] ]''
 +
''mover queue ls [-l]''  # list all mover queues in this pool
 +
''mover remove [<jobid>]''  # #OBSOLETE command
 +
''mover set max active [OPTIONS] <maxactivemovers>''  # set the maximum number of active client transfers
 +
 +
=== Mover management examples ===
 +
* Show current '''ftp''' transfers:
 +
'''''[dccore01] (local) admin >''''' '''\s dc???_? mover ls -l -queue=ftp'''
 +
33743014 : RUNNING : 0000D5B91029797545859181EB738C25E93C IoMode=READ h={SU=0;SA=0;S=None} bytes=12113543168 time/sec=3893 LM=0 si={vo-cms.cms}
 +
33743019 : RUNNING : 00008862CFF7A1C74513A617D364A4162DAA IoMode=READ h={SU=0;SA=0;S=None} bytes=10561388544 time/sec=3409 LM=0 si={vo-cms.cms}
 +
33743076 : RUNNING : 0000736CFC0DAF494816BFE7CC32D3192900 IoMode=READ h={SU=0;SA=0;S=None} bytes=2034630656 time/sec=2478 LM=0 si={vo-cms.cms}
 +
33743086 : RUNNING : 0000C5F1B9D6EEC04DEEA077CA6753E30DE0 IoMode=READ h={SU=0;SA=0;S=None} bytes=488898560 time/sec=1357 LM=1 si={vo-cms.cms}
 +
33743103 : RUNNING : 0000BBE684CB4BA44AB5ACB0D13C5DD25C8C IoMode=READ h={SU=0;SA=0;S=None} bytes=135921664 time/sec=239 LM=20 si={vo-cms.cms}
 +
* Show all mover queue properties:
 +
'''''[dccore01] (local) admin >''''' '''\s dc???_? mover queue ls -l'''
 +
regular 0 0 0
 +
p2p 0 40 0
 +
ftp 11 500 0
 +
dcap 0 10 0
 +
nfs4 0 100 0
 +
xrootd 406 1500 0
 +
xrootd-wan 0 700 0
 +
webdav 0 0 0
 +
* Set to 400 the maximum active client transfers for the '''ftp''' queue:
 +
'''''[dccore01] (local) admin >''''' '''\s dc???_? mover set max active -queue=ftp 400'''
 +
Max Active Io Movers set to 400
 +
 +
== File / replica management ==
 +
=== Command help ===
 +
'''''[dccore01] (local) admin >''''' '''\s dc???_? help hsm'''
 +
''rep ls [-l[=s,l,u,nc,p]] [-s[=kmgt]] [-storage=<glob>] | <pnfsId>...''
 +
  Format I  : <pnfsId>...
 +
  Format II : [-l[=<selectionOptions>]] [-storage=<glob>] [-s]
 +
                Options :
 +
                -l[=splunc]  # selected list
 +
                  s  : sticky files
 +
                  p  : precious files
 +
                  l  : locked files
 +
                  u  : files in use
 +
                  nc : files which are not cached
 +
                  e  : files which error condition
 +
                -storage=<glob>  # select only replicas
 +
                                    of files with storage-
 +
                                    info that matches <glob>
 +
                -s[=kmgt] [-sum]      # statistics
 +
                  k  : data amount in KBytes
 +
                  m  : data amount in MBytes
 +
                  g  : data amount in GBytes
 +
                  t  : data amount in TBytes
 +
  Output is a list of repository entries, one per line
 +
  each line has the followin syntax:
 +
      <pnfsid> <state> <size> <storageinfo>
 +
  state is a sequence of state bits inclosed in angular "<>" brackets
 +
  bit 1 is "C" if entry is cached or "-" if not
 +
  bit 2 is "P" if entry is precious or "-" if not
 +
  bit 3 is "C" if entry is being transfered "from client" or "-" if not
 +
  bit 4 is "S" if entry is being transfered "from store" or "-" if not
 +
  bit 5 is "c" if entry is being transfered "to client" or "-" if not
 +
  bit 6 is "s" if entry is being transfered "to store" or "-" if not
 +
  bit 7 is "R" if entry is removed or "-" if not
 +
  bit 8 is is always "-"
 +
  bit 9 is "X" if entry is sticky or "-" if not
 +
  bit 10 is "E" if entry is in error state or "-" if not
 +
  bit 11 is "L(x)(y)" if entry is in locked or "-" if not
 +
          x is epoch until which the entry is locked, 0 for non expiring lock
 +
          y is the link count
 +
''rep rm <pnfsid> [-force]'' # removes the pnfsfile from the cache
 +
''rep rmclass <storageClass>'' # removes the from the cache
 +
''rep set broken <pnfsid>''
 +
''rep set cached <pnfsId>'' # DON'T USE, Potentially dangerous
 +
''rep set precious <pnfsId>''
 +
''rep set sticky [OPTIONS] [<pnfsid>] on|off''  # change sticky flags
 +
''rep sticky ls'' <pnfsid>
 +
=== File / replica management examples ===
 +
* Show all ''precious'' replicas:
 +
'''''[dccore01] (local) admin >''''' '''\s dc???_? rep ls -l=p'''
 +
00000F754EACA5F343A593669020CA14B742 <-P---------L(0)[1]> 2964602212 si={vo-cms.t1d0_Tau_data_raw}
 +
000094BC5C56FD6A4299A80A9A2D17972F0A <-P---------L(0)[0]> 4008986357 si={vo-cms.t1d0_Tau_data_raw}
 +
...
 +
* Delete replica ('''DO NOT delete non-cached-only files''')
 +
'''''[dccore01] (local) admin >''''' '''\s dc???_? rep rm <pnfsid>'''

Latest revision as of 15:14, 13 June 2022

About this document

  • This document shows several examples of useful commands that can be run in the dCache Administration Console.
  • Administration console can be accessed through [PCells GUI] or through SSHv2 as follows (in the example, dccore.pic.es is the physical machine running the admin cell):
ssh -2 -x -o StrictHostKeyChecking=no -l admin -p 22224 dccore.pic.es
  • In this document we show what we consider the most important commands for the everyday's administration tasks, and basically the ones that may be useful for the Manager On Duty. Maybe some important commands are missing, but will be added as soon as we detect that these may be important for the MoD.
  • This document is divided in two main blocks:
  1. Pool commands: shows useful commands that can be run on pools.
  2. Service commands: show useful commands that can be run on servers (this will include doors)

The basics

  • If you access the Administration Console through SSHv2 you should access to the different cells as follows:
\? [command]...  # display help for shell commands
\c cell[@domain] [user]  # connect to cell
\exception [trace]  # controls display of stack traces
\h [command]...  # display help for cell commands
\l [cell[@domain]|pool/poolgroup]...  # list cells
\q # quit
\s (cell[@domain]|pool/poolgroup)[,(cell[@domain]|pool/poolgroup)]... command...  # send command
\sl pnfsid|path command...  # send to locations
\sn command...  # send pnfsmanager command
\sp command...  # send poolmanager command
\timeout [seconds]  # sets the command timeout
  • With \s you will be able to access to any cell[@domain]s, while branches of this command such like \sn or \sp are useful to (respectively) direct access to the namespace or poolmanager cells without the need of specifying the cell[@domain].

Pool commands

Introduction

  • Any command run on a pool is a temporary change: on any pool service restart configuration will be restored back to the default value or to the value set in the setup file (locate in /dcpool*/vpool*/setup).
  • In example, whenever we set a pool to rdonly, on restart, once the initialization process finishes, pool will switch back to enabled.
  • If you want to make permanent changes, you should save changes. Running the save command will update the already mentioned setup file.
  • In example, whenever we set a pool to rdonly and we save the configuration, on a restart, once the initialization process finishes, pool will remain rdonly.

Disable / enable pools

Command help

[dccore01] (local) admin > \s dc???_? help hsm
pool disable [options] [<errorCode> [<errorMessage>]] # suspend sending 'up messages'
     OPTIONS :
       -fetch    #  disallows fetch (transfer to client)
       -stage    #  disallows staging (from HSM)
       -store    #  disallows store (transfer from client)
       -p2p-client
       -rdonly   #  := store,stage,p2p-client
       -strict   #  := disallows everything
pool enable # start sending 'up messages' again
pool suppress hsmload on|off

Disable / enable pool examples

  • Disallow store + stage + p2p-client (set pool in read only mode)
[dccore01] (local) admin > pool disable -rdonly
  • Enable pool (set pool to RW)
[dccore01] (local) admin > pool enable

HSM configuration

Command help

[dccore01] (local) admin > \s dc???_? help hsm
hsm create <type> [<name> [<provider>]] [-<key>=<value>] ...
hsm ls [<name>] ...
hsm remove <name>
hsm set <name> [-<key>=<value>] ...
hsm show providers # show available nearline storage providers
hsm unset <name> [-<key>] ...

HSM configuration examples

  • Create a enstore HSM with the real-encp.sh client script (this example can be found in the setup file):
[dccore01] (local) admin > hsm create enstore enstore script -pnfs=/pnfs/fs/usr -command=/opt/enstore/bin/real-encp.sh -c:gets=200 -c:puts=20 -c:removes=2
  • Show enstore configuration:
[dccore01] (local) admin > hsm ls enstore
enstore(enstore):script
  pnfs                /pnfs/fs/usr
  command             /opt/enstore/bin/real-encp.sh
  c:gets              200
  c:puts              20
  c:removes           2
  • Set maximum restores to 400:
[dccore01] (local) admin > hsm set enstore -c:gets=400

Mover management

Command help

[dccore01] (local) admin > \s dc???_? help hsm
mover kill <jobid>  # terminate a file transfer connection
mover ls [-binary [jobId] ]
mover queue ls [-l]  # list all mover queues in this pool
mover remove [<jobid>]  # #OBSOLETE command
mover set max active [OPTIONS] <maxactivemovers>  # set the maximum number of active client transfers

Mover management examples

  • Show current ftp transfers:
[dccore01] (local) admin > \s dc???_? mover ls -l -queue=ftp
33743014 : RUNNING : 0000D5B91029797545859181EB738C25E93C IoMode=READ h={SU=0;SA=0;S=None} bytes=12113543168 time/sec=3893 LM=0 si={vo-cms.cms}
33743019 : RUNNING : 00008862CFF7A1C74513A617D364A4162DAA IoMode=READ h={SU=0;SA=0;S=None} bytes=10561388544 time/sec=3409 LM=0 si={vo-cms.cms}
33743076 : RUNNING : 0000736CFC0DAF494816BFE7CC32D3192900 IoMode=READ h={SU=0;SA=0;S=None} bytes=2034630656 time/sec=2478 LM=0 si={vo-cms.cms}
33743086 : RUNNING : 0000C5F1B9D6EEC04DEEA077CA6753E30DE0 IoMode=READ h={SU=0;SA=0;S=None} bytes=488898560 time/sec=1357 LM=1 si={vo-cms.cms}
33743103 : RUNNING : 0000BBE684CB4BA44AB5ACB0D13C5DD25C8C IoMode=READ h={SU=0;SA=0;S=None} bytes=135921664 time/sec=239 LM=20 si={vo-cms.cms}
  • Show all mover queue properties:
[dccore01] (local) admin > \s dc???_? mover queue ls -l
regular 0 0 0
p2p 0 40 0
ftp 11 500 0
dcap 0 10 0
nfs4 0 100 0
xrootd 406 1500 0
xrootd-wan 0 700 0
webdav 0 0 0
  • Set to 400 the maximum active client transfers for the ftp queue:
[dccore01] (local) admin > \s dc???_? mover set max active -queue=ftp 400
Max Active Io Movers set to 400

File / replica management

Command help

[dccore01] (local) admin > \s dc???_? help hsm
rep ls [-l[=s,l,u,nc,p]] [-s[=kmgt]] [-storage=<glob>] | <pnfsId>...
  Format I  : <pnfsId>...
  Format II : [-l[=<selectionOptions>]] [-storage=<glob>] [-s]
               Options :
               -l[=splunc]  # selected list
                  s  : sticky files
                  p  : precious files
                  l  : locked files
                  u  : files in use
                  nc : files which are not cached
                  e  : files which error condition
               -storage=<glob>   # select only replicas
                                   of files with storage-
                                   info that matches <glob>
               -s[=kmgt] [-sum]       # statistics
                  k  : data amount in KBytes
                  m  : data amount in MBytes
                  g  : data amount in GBytes
                  t  : data amount in TBytes
  Output is a list of repository entries, one per line
  each line has the followin syntax:
     <pnfsid> <state> <size> <storageinfo>
  state is a sequence of state bits inclosed in angular "<>" brackets 
  bit 1 is "C" if entry is cached or "-" if not 
  bit 2 is "P" if entry is precious or "-" if not 
  bit 3 is "C" if entry is being transfered "from client" or "-" if not 
  bit 4 is "S" if entry is being transfered "from store" or "-" if not 
  bit 5 is "c" if entry is being transfered "to client" or "-" if not 
  bit 6 is "s" if entry is being transfered "to store" or "-" if not 
  bit 7 is "R" if entry is removed or "-" if not 
  bit 8 is is always "-" 
  bit 9 is "X" if entry is sticky or "-" if not 
  bit 10 is "E" if entry is in error state or "-" if not 
  bit 11 is "L(x)(y)" if entry is in locked or "-" if not 
         x is epoch until which the entry is locked, 0 for non expiring lock 
         y is the link count
rep rm <pnfsid> [-force] # removes the pnfsfile from the cache
rep rmclass <storageClass> # removes the from the cache
rep set broken <pnfsid>
rep set cached <pnfsId> # DON'T USE, Potentially dangerous
rep set precious <pnfsId>
rep set sticky [OPTIONS] [<pnfsid>] on|off  # change sticky flags
rep sticky ls <pnfsid>

File / replica management examples

  • Show all precious replicas:
[dccore01] (local) admin > \s dc???_? rep ls -l=p
00000F754EACA5F343A593669020CA14B742 <-P---------L(0)[1]> 2964602212 si={vo-cms.t1d0_Tau_data_raw}
000094BC5C56FD6A4299A80A9A2D17972F0A <-P---------L(0)[0]> 4008986357 si={vo-cms.t1d0_Tau_data_raw}
...
  • Delete replica (DO NOT delete non-cached-only files)
[dccore01] (local) admin > \s dc???_? rep rm <pnfsid>