Difference between revisions of "DCache Administration Console Commands"
Jump to navigation
Jump to search
(20 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 | + | 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: | * This document is divided in two main blocks: | ||
# '''Pool commands''': shows useful commands that can be run on pools. | # '''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) | # '''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: | * If you access the Administration Console through '''SSHv2''' you should access to the different cells as follows: | ||
\? [command]... # display help for shell commands | \? [command]... # display help for shell commands | ||
Line 20: | Line 21: | ||
\sp command... # send poolmanager command | \sp command... # send poolmanager command | ||
\timeout [seconds] # sets the command timeout | \timeout [seconds] # sets the command timeout | ||
− | * With '''\s''' you will be able to access to | + | * 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'''). | * 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''. | :* In example, whenever we set a pool to ''rdonly'', on restart, once the ''initialization'' process finishes, pool will switch back to ''enabled''. | ||
Line 28: | Line 30: | ||
:* 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''. | :* 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 === | |
− | pool disable [options] [<errorCode> [<errorMessage>]] # suspend sending 'up messages' | + | '''''[dccore01] (local) admin >''''' '''\s dc???_? help hsm''' |
+ | ''pool disable [options] [<errorCode> [<errorMessage>]]'' # suspend sending 'up messages' | ||
OPTIONS : | OPTIONS : | ||
-fetch # disallows fetch (transfer to client) | -fetch # disallows fetch (transfer to client) | ||
Line 38: | Line 41: | ||
-rdonly # := store,stage,p2p-client | -rdonly # := store,stage,p2p-client | ||
-strict # := disallows everything | -strict # := disallows everything | ||
− | pool enable # start sending 'up messages' again | + | ''pool enable'' # start sending 'up messages' again |
− | pool suppress hsmload on|off | + | ''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''' | '''''[dccore01] (local) admin >''''' '''pool disable -rdonly''' | ||
− | + | * Enable pool (set pool to RW) | |
'''''[dccore01] (local) admin >''''' '''pool enable''' | '''''[dccore01] (local) admin >''''' '''pool enable''' | ||
− | + | == HSM configuration == | |
− | + | === Command help === | |
+ | '''''[dccore01] (local) admin >''''' '''\s dc???_? help hsm''' | ||
hsm create <type> [<name> [<provider>]] [-<key>=<value>] ... | hsm create <type> [<name> [<provider>]] [-<key>=<value>] ... | ||
hsm ls [<name>] ... | hsm ls [<name>] ... | ||
Line 54: | Line 59: | ||
hsm show providers # show available nearline storage providers | hsm show providers # show available nearline storage providers | ||
hsm unset <name> [-<key>] ... | 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''' | '''''[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''' | '''''[dccore01] (local) admin >''''' '''hsm ls enstore''' | ||
enstore(enstore):script | enstore(enstore):script | ||
Line 65: | Line 70: | ||
c:puts 20 | c:puts 20 | ||
c:removes 2 | c:removes 2 | ||
− | + | * Set maximum restores to 400: | |
'''''[dccore01] (local) admin >''''' '''hsm set enstore -c:gets=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:
- 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>