Enstore provides commands that allow you to communicate with various components of the system. The basic syntax of all Enstore commands is
% enstore <command> [--option [argument] ...]
All options start with a double dash (--). The return codes are 0 (zero) for success, non-zero for failure (currently all failures return number 1).
As of encp v3_2, the command enstore info supersedes enstore file and enstore volume. The developers may decide to remove these latter two commands in future versions of encp.
This command communicates with the File Clerk (see section 8.1 File Clerk) and the Volume Clerk (see section 8.2 Volume Clerk). It returns information about specified file(s) or volume(s).
Syntax:
% enstore info [--option [argument] ... ]
Options:
-h, --help Prints the options (i.e., prints this message). Example: $ enstore info --help Usage: info [ -h --bfid= --help --list= --ls-active= --usage ] --file <PATH|PNFSID|BFID|VOL:LOC> get info on a file --bfid <BFID> get info of a file --gvol <VOLUME_NAME> get info of a volume in human readable time format -h, --help print this message --just <VOLUME_NAME> used with --pvols to list problem --list <VOLUME_NAME> list the files in a volume --ls-active <VOLUME_NAME> list active files in a volume --ls-sg-count list all sg counts --pvols list all problem volumes --show-bad list all bad files --usage print short help message --vol <VOLUME_NAME> get info of a volume --vols list all volumes
|
|
Returns information (metadata) about the file corresponding to the specified bfid. You can get the bfid of a file from the enstore pnfs --bfid <FILE_NAME> command (section 9.4 enstore pnfs); get the filename from searching PNFS namespace. Example: $ enstore info --bfid CDMS105770745000000 {'bfid': 'CDMS105770745000000', 'complete_crc': 1191066979L, 'deleted': 'no', 'drive': 'stkenmvr7a:/dev/rmt/tps0d1n:4560000022', 'external_label': 'VO3222', 'location_cookie': '0000_000000000_0005661', 'pnfs_mapname': '', 'pnfs_name0': '/pnfs/fs/usr/test/xyz/srmtest/ar017983.0001phys_10', 'pnfsid': '000500000000000000190EA8', 'pnfsvid': '', 'sanity_cookie': (65536L, 3203712884L), 'size': 197354833L} |
This option may be used in any of four ways to return the same information, depending on what information you initially know about the file. --file <PATH> --file <BFID> (equivalent to enstore info --bfid <BFID>) --file <PNFSID> --file <VOLUME:LOCATION> Returns information on the specified file. This example uses the path: $ enstore info --file /pnfs/test/NULL/1KB_251 {'bfid': 'WAMS111453908000000', 'complete_crc': 0L, 'deleted': 'no', 'drive': 'rain:/dev/null:0', 'external_label': 'NULL01', 'gid': 6209, 'location_cookie': '0000_000000000_0000609', 'pnfs_name0': '/pnfs/test/NULL/1KB_251', 'pnfsid': '000100000000000000056258', 'sanity_cookie': (1024L, 0L), 'size': 1024L, 'uid': 5744} The file could also be specified as one of the following (BFID, PNFSID or VOLUME:LOCATION (external_label:location_cookie): $ enstore info --file WAMS111453908000000 $ enstore info --file 000100000000000000056258 $ enstore info --file NULL01:0000_000000000_0000609 |
|
This is just like enstore info --vol <VOLUME_NAME>, except that this one prints human-readable time fields (e.g., “declared”, “first_access” and “last_access” fields). Example: $ enstore info --gvol VO3332 {'blocksize': 131072, 'capacity_bytes': 64424509440L, 'declared': 'Wed Jan 16 16:13:57 2002', 'eod_cookie': '0000_000000000_0000044', 'external_label': 'VO3332', 'first_access': 'Fri May 10 12:59:35 2002', 'last_access': 'Mon Oct 27 22:35:45 2003', 'library': '9940', 'media_type': '9940', 'non_del_files': 43, 'remaining_bytes': 1785262080L, 'sum_mounts': 234, 'sum_rd_access': 213, 'sum_rd_err': 0, 'sum_wr_access': 43, 'sum_wr_err': 0, 'system_inhibit': ['none', 'full'], 'user_inhibit': ['none', 'none'], 'volume_family': 'cms.objy_data_files.cpio_odc', 'wrapper': 'cpio_odc'} |
--just Used with --pvols to list problem. See enstore info --pvols. |
|
Lists the files in the specified volume with their volume name, bfid, size, location (file number) on volume, delete flag, and the original filename in pnfs. You can get the volume name from the enstore pnfs command, using either --xref or --layer (section 9.4 enstore pnfs), or from the “external_label” field of the enstore info --bfid <BFID> command (shown above). This replaces both enstore file --list <VOLUME_NAME> and enstore volume --list <VOLUME_NAME>. Example: $ enstore info --list VO3222 label bfid size location_cookie delflag original_name
VO3222 CDMS106503213600000 983803 0000_000000000_0011536 deleted /pnfs/fs/usr/eagle/dcache-tests/274.dcache_page_p_27750 (This shows one of many lines appearing in the real output, and is reformatted to two lines for readability.) |
|
Lists active files in a volume. You can get the volume name from the enstore pnfs command, using either --xref or --layer (section 9.4 enstore pnfs), or from the “external_label” field of the enstore info --bfid <BFID> command (shown above). Example: $ enstore info --ls-active VO3222 /pnfs/fs/usr/eagle/dcache-tests/101.dcache_page_a_24401 /pnfs/fs/usr/eagle/dcache-tests/101.dcache_page_24401 /pnfs/fs/usr/test/stress-test/myfile1 /pnfs/fs/usr/test/stress-test/myfile3 /pnfs/fs/usr/test/stress-test/file128m-11 ... |
|
Lists allocated tape counts by library and by storage group. If “storage group” has value “none”, the negative number under “allocated” gives the number of tapes that are available in the robot, but not yet assigned to a storage group. Example: $ enstore info --ls-sg-count VO3332 library storage group allocated ======================================== ... 9940 ktev 189 9940 lqcd 150 9940 miniboone 132 9940 minos 109 9940 none -13 9940 patriot 20 9940 sdss 608 9940 test 28 9940 theory 70 CD-9940B cms 129 ... |
--pvols [--just <VOLUME_1> <VOLUME_2> ...] Without --just, this lists all problem volumes. With --just followed by a space-separated list of volume names, it lists only the problem volumes among the given list. The columns returned are: volume name, primary status, primary status time, secondary status, secondary status time. (The time fields are relatively new; not all volumes will display them.) Example: $ enstore info --pvols ==== readonly LEGL10 none * readonly 0913-1540 LEGL98 none * readonly 0819-2329 ... ==== full ... VO4845 none * full * VO4846 none 1023-1032 full * VO4847 none * full * VO4848 none * full * VO4849 none * full * VO4850 none * full 1016-2315 VO4851 none * full 1017-0409 ... $ enstore volume --pvols --just VO3332 (no sample output available) |
|
Lists all files that are currently unavailable due to media problems. When a tape problem is discovered, the tape is sent to the vendor for file recovery. In the interim, a cloned tape is made available to users, with the bad files marked. This command option lets you list the bad files. The output lists the tape number, BFID, file size in bites, and pnfs path of file. Example: $ enstore info --show-bad ... VO0053 CDMS105770745000000 95530315 /pnfs/fs/usr/xyz/my_data/2004-4/.bad.F000xyz43_0000.mdaq.root ... We show only one output line, and it is displayed on two lines for readability. Notice the “.bad.” at the front of the filename; this is how the bad files are marked. |
--usage Prints short help message. Example: $ enstore info --usage Usage: info [ -h --bfid= --help --list= --ls-active= --usage ] |
|
Returns detailed information about specified volume Example: $ enstore info --vol VO3332 {'blocksize': 131072, 'capacity_bytes': 64424509440L, 'declared': 1011219237.849051, 'eod_cookie': '0000_000000000_0000044', 'external_label': 'VO3332', 'first_access': 1021053575.259737, 'last_access': 1067315745.238969, 'library': '9940', 'media_type': '9940', 'non_del_files': 43, 'remaining_bytes': 1785262080L, 'sum_mounts': 234, 'sum_rd_access': 213, 'sum_rd_err': 0, 'sum_wr_access': 43, 'sum_wr_err': 0, 'system_inhibit': ['none', 'full'], 'user_inhibit': ['none', 'none'], 'volume_family': 'cms.objy_data_files.cpio_odc', 'wrapper': 'cpio_odc'} |
|
or --vols <VOLUME_STATUS> or --vols <KEY> <VALUE> Lists all volumes with their available space, the system inhibits, the library, the volume family (period-separated concatenation of storage group, file family and file family wrapper) and any comments. The VOLUME_STATUS argument is optional. If left off, all volumes are listed. Possible values for this argument include: NOACCESS, NOTALLOWED, full, read_only, migrated. The KEY option accepts: storage_group, library and media_type Example: $ enstore info --vols label avail. system_inhibit library vol_family comment ... VO0053 1.19GB (none full ) eagle cms.objy_data_files.cpio_odc VO0054 0.51GB (none full ) eagle cms.objy_data_files.cpio_odc VO0055 0.17GB (none full ) eagle theory.theory-canopy-C.cpio_odc VO0056 0.65GB (none full ) eagle theory.theory-canopy-D.cpio_odc ... |
This command communicates with the Library Manager (see section 8.3 Library Manager). You can use it to get information pertaining to a particular Library Manager. Use the online monitoring pages (see Chapter 10: Monitoring Enstore on the Web) to find the library manager of interest.
Syntax:
% enstore library [--option [argument] ... ] <library>
The <library> argument is required except when using the --help option; the “.library_manager” portion of the library name is optional.
Options:
-h, --help Prints this message (i.e., prints the options). Example: $ enstore library --help Usage: library [OPTIONS]... library
--get-asserts <library> print sorted lists of pending volume asserts --get-queue <HOST_NAME> print queue submitted from the specified host. If empty string specified, print the whole queue --get-suspect-vols print suspect volume list --get-work-sorted print sorted lists of pending and active requests -h, --help prints this messge --usage prints short help message |
|
Prints sorted lists of pending volume asserts for specified library. Example: $ enstore library --get-asserts 9940.library_manager Pending assert requests: 0 Active assert requests: 0 {'status': ('ok', None)} |
--get-queue <HOST_NAME> <LIBRARY> Prints queue submitted from the specified encp client host. Both arguments are required. If quoted empty string is specified for host name, it prints the whole queue (for all hosts). Examples: $ enstore library --get-queue stkensrv3 9940.library_manager Pending write requests Active requests Pending read requests: 0 Pending write requests: 2 Active read requests: 0 Active write requests: 0 {'status': ('ok', None)} The top two lines tell us that there are no pending or active transfers involving stkensrv3 for the 9940 library manager. The 4th line tells us there are 2 pending write requests for this library manager from hosts other than stkensrv3. If all hosts are specified (the next example), the command returns the fields: host name, library manager, username (of encp request), input filename, and output filename for each pending and/or active request (3 shown here), and ends with a summary: $ enstore library --get-queue "" 9940.library_manager Active requests fnsimu2 9940.library_manager lixn /pnfs/btev/geant2003/xiaonan/dstar_xiaonan_1.evt.gz /scr/bphys6/lixn/dstar_xiaonan_1.evt.gz M 9944 fsgi01 9940.library_manager rschultz /usr/bdms/rschultz/fl_066_uplsr7/fl_ed_066_uplsr7.ldhi /pnfs/BDMS/lens/fl_066_uplsr7/fl_ed_0663 fnsfh 9940.library_manager minfarm /export/stage02_minos/C00040259_0000.tdaq.root /pnfs/minos/caldet_reco/tdaq_data/2002-09/C0004027 Pending read requests: 0 Pending write requests: 0 Active read requests: 1 Active write requests: 2 {'status': ('ok', None)} |
|
Prints suspect volume list for specified library manager. See 10.6.1 Suspect Volumes. Example: $ enstore library --get-suspect-vols 9940.library_manager [{'movers': ['994071.mover'], 'external_label': 'VO4523', 'time': 1067290586.907726}, {'movers': ['994051.mover', '994061.mover', '] |
|
Prints sorted lists of pending and active requests. It sorts by queue. Example: $ enstore library --get-work-sorted 9940.library_manager {'write_queue': [], 'read_queue': [], 'admin_queue': []} [{'status': ('ok', None), 'vc': {'status': ('ok', None), 'declared': 1011741604.130481, 'si_time': [1041612783.99499, 0], 'blocksiz] |
This command communicates with the Monitor Server (see Chapter 10: Monitoring Enstore on the Web) to get network speed information.
On machines with an enstore.conf file (see Appendix A: Network Control), the enstore monitor command uses the routing already established there. If enstore monitor set up its own, it would interfere with the routes currently in use.
Syntax:
% enstore monitor [--option [argument] ...]
-h, --help Prints this message (i.e., prints the options). Example: $ enstore monitor -h Usage: monitor [ -h --help --host= --usage --verbose= ]
-h, --help prints this messge --host <HOSTIP> selects a single host --port <PORT> selects a port --usage prints short help message --verbose <VERBOSE> print out information. |
--host [HOST_NAME or IP_ADDRESS] Returns network rate for the specified host (Enstore node). If you don’t specify host, it runs the command for all hosts. Example below shows results for a single host. Example: $ enstore monitor --host stkensrv3 Trying stkensrv3.fnal.gov Network rate measured at 11.33 MB/S recieving and 11.1 MB/S sending. |
--port <PORT> Selects the specified port. If you don’t specify port, it runs the command for the default port. |
--verbose <INTEGER_VALUE> This command is used to help find and fix network problems. It prints detailed information about actions taken. The higher the number you give as an argument, the more info displayed. Example: $ enstore monitor --host stkensrv3 --verbose 20 6 Tue Oct 28 10:48:13 2003 msc called with args: ['monitor', '--host', 'stkensrv3', '--verbose=20'] 13 Tue Oct 28 10:48:13 2003 Get monitor_server config info from server Trying stkensrv0.fnal.gov 13 Tue Oct 28 10:48:13 2003 Get None config info from server 13 Tue Oct 28 10:48:13 2003 Get None config info from server 13 Tue Oct 28 10:48:13 2003 Get log_server config info from server 13 Tue Oct 28 10:48:13 2003 Get log_server config info from server 13 Tue Oct 28 10:48:13 2003 Get None config info from server 13 Tue Oct 28 10:48:13 2003 Get alarm_server config info from server ... 10 Tue Oct 28 10:48:14 2003 Connecting to monitor server. 10 Tue Oct 28 10:48:14 2003 Obtaining error status for data socket. 10 Tue Oct 28 10:48:15 2003 Get the final dialog rate information. Network rate measured at 11.34 MB/S recieving and 11.23 MB/S sending. |
Enstore has a pnfs command that allows you to retrieve a variety of information, as listed in the option table below. Off-site users cannot mount /pnfs, and therefore cannot run this command.
Using this command to perform PNFS manipulations and/or change PNFS tags is restricted to Enstore administrators and/or their designated gurus, and is covered in Appendix B: Changing PNFS Tags.
Syntax:
% enstore pnfs [--option [argument] ... ]
This command has been deprecated for users as of encp v3_2, and (along with enstore volume) replaced with enstore info (see section 9.1 enstore info).
This command communicates with the File Clerk (see section 8.1 File Clerk). It returns information about a specified file or files on a specified volume.
Syntax:
% enstore file [--option [argument] ... ]
Options:
-h, --help Prints the options (i.e., prints this message). Example: $ enstore file --help Usage: file [ -h --bfid= --help --list= --ls-active= --usage ]
--bfid <BFID> get info of a file -h, --help print this message --list <VOLUME_NAME> list the files in a volume --ls-active <VOLUME_NAME> list active files in a volume --show-bad lists all bad files --usage print short help message |
|
Returns information (metadata) about the file corresponding to the specified bfid. You can get the bfid of a file from the enstore pnfs --bfid <FILE_NAME> command (section 9.4 enstore pnfs); get the filename from searching PNFS namespace. Example: $ enstore file --bfid CDMS105770745000000 {'bfid': 'CDMS105770745000000', 'complete_crc': 1191066979L, 'deleted': 'no', 'drive': 'stkenmvr7a:/dev/rmt/tps0d1n:4560000022', 'external_label': 'VO3222', 'location_cookie': '0000_000000000_0005661', 'pnfs_mapname': '', 'pnfs_name0': '/pnfs/fs/usr/test/xyz/srmtest/ar017983.0001phys_10', 'pnfsid': '000500000000000000190EA8', 'pnfsvid': '', 'sanity_cookie': (65536L, 3203712884L), 'size': 197354833L} |
|
Lists the files in the specified volume with their volume name, bfid, size, location (file number) on volume, delete flag, and the original filename in pnfs. You can get the volume name from the enstore pnfs command, using either --xref or --layer (section 9.4 enstore pnfs), or from the “external_label” field of the enstore file --bfid <BFID> command (shown above). The enstore info --list <VOLUME_NAME> is an alias for this command. Example: $ enstore file --list VO3222 label bfid size location_cookie delflag original_name
VO3222 CDMS106503213600000 983803 0000_000000000_0011536 deleted /pnfs/fs/usr/eagle/dcache-tests/274.dcache_page_p_27750 (This shows one of many lines appearing in the real output, and is reformatted to two lines for readability.) |
|
Lists active files in a volume. You can get the volume name from the enstore pnfs command, using either --xref or --layer (section 9.4 enstore pnfs), or from the “external_label” field of the enstore file --bfid <BFID> command (shown above). Example: $ enstore file --ls-active VO3222 /pnfs/fs/usr/eagle/dcache-tests/101.dcache_page_a_24401 /pnfs/fs/usr/eagle/dcache-tests/101.dcache_page_24401 /pnfs/fs/usr/test/stress-test/myfile1 /pnfs/fs/usr/test/stress-test/myfile3 /pnfs/fs/usr/test/stress-test/file128m-11 ... |
|
Lists all files that are currently unavailable due to media problems. When a tape problem is discovered, the tape is sent to the vendor for file recovery. In the interim, a cloned tape is made available to users, with the bad files marked. This command option lets you list the bad files. The output lists the tape number, BFID, file size in bites, and pnfs path of file. Example: $ enstore info --show-bad ... VO0053 CDMS105770745000000 95530315 /pnfs/fs/usr/xyz/my_data/2004-4/.bad.F000xyz43_0000.mdaq.root ... We show only one output line, and it is displayed on two lines for readability. Notice the “.bad.” at the front of the filename; this is how the bad files are marked. Replaced by: enstore info --show-bad. |
--usage Prints short help message. Example: $ enstore file --usage Usage: file [ -h --bfid= --help --list= --ls-active= --usage ] |
9.6 enstore volume (deprecated)
This command has been deprecated for users as of encp v3_2, and replaced (along with enstore file) with enstore info (see section 9.1 enstore info).
This command communicates with the Volume Clerk (see section 8.2 Volume Clerk) to return information on data volumes.
Syntax:
% enstore volume [--option [argument] ... ]
-h, --help Prints this message (i.e., prints the options). Example: $ enstore volume --help Usage: volume [OPTIONS]...
--gvol <VOLUME_NAME> get info of a volume in human readable time format -h, --help prints this messge --just <VOLUME_NAME> used with --pvols to list problem --list <VOLUME_NAME> list the files in a volume --ls-active <VOLUME_NAME> list active files in a volume --ls-sg-count list all sg counts --pvols list all problem volumes --usage prints short help message --vol <VOLUME_NAME> get info of a volume --vols list all volumes |
|
This is just like enstore volume --vol <VOLUME_NAME>, except that this one prints human-readable time fields (e.g., “declared”, “first_access” and “last_access” fields). Example: $ enstore volume --gvol VO3332 {'blocksize': 131072, 'capacity_bytes': 64424509440L, 'declared': 'Wed Jan 16 16:13:57 2002', 'eod_cookie': '0000_000000000_0000044', 'external_label': 'VO3332', 'first_access': 'Fri May 10 12:59:35 2002', 'last_access': 'Mon Oct 27 22:35:45 2003', 'library': '9940', 'media_type': '9940', 'non_del_files': 43, 'remaining_bytes': 1785262080L, 'sum_mounts': 234, 'sum_rd_access': 213, 'sum_rd_err': 0, 'sum_wr_access': 43, 'sum_wr_err': 0, 'system_inhibit': ['none', 'full'], 'user_inhibit': ['none', 'none'], 'volume_family': 'cms.objy_data_files.cpio_odc', 'wrapper': 'cpio_odc'} |
--just Used with --pvols to list problem. See enstore volume --pvols. |
|
This is an alias for the enstore info --list <VOLUME_NAME> command. See section 9.1 enstore info. |
|
Lists original file names of active files in a volume. Example: $ enstore volume --ls-active VO3332 /pnfs/cms/UserFederation/data/jetmet_production/data/Collections/jm_Hit601_g125_UCSD/jm02_qqh120_ll/EVD0.jet0102.DB /pnfs/cms/UserFederation/data/jetmet_production/data/TAssoc/jm_2x1033PUjm602_TkMu_g125_UCSD/jm02_hlt15-20/EVD11.jet0102.DB /pnfs/cms/UserFederation/data/jetmet_production/data/Digis/jm_2x1033PUjm602_TkMu_g125_UCSD/jm02-hlt0-15/EVD12.jet0102.DB /pnfs/cms/UserFederation/data/jetmet_production/data/Hits/jm_Hit601_g125_UCSD/jm02_hlt230-300/EVD12.jet0102.DB ... |
|
Lists allocated tape counts by library and by storage group. If “storage group” has value “none”, the negative number under “allocated” gives the number of tapes that are available in the robot, but not yet assigned to a storage group. Example: $ enstore volume --ls-sg-count VO3332 library storage group allocated ======================================== ... 9940 ktev 189 9940 lqcd 150 9940 miniboone 132 9940 minos 109 9940 none -13 9940 patriot 20 9940 sdss 608 9940 test 28 9940 theory 70 CD-9940B cms 129 ... |
--pvols [--just <VOLUME_1> <VOLUME_2> ...] Without --just, this lists all problem volumes. With --just followed by a space-separated list of volume names, it lists only the problem volumes among the given list. The columns returned are: volume name, primary status, primary status time, secondary status, secondary status time. (The time fields are relatively new; not all volumes will display them.) Example: $ enstore volume --pvols ==== readonly LEGL10 none * readonly 0913-1540 LEGL98 none * readonly 0819-2329 ... ==== full ... VO4845 none * full * VO4846 none 1023-1032 full * VO4847 none * full * VO4848 none * full * VO4849 none * full * VO4850 none * full 1016-2315 VO4851 none * full 1017-0409 ... $ enstore volume --pvols --just VO3332 (no sample output available) |
|
Returns detailed information about specified volume Example: $ enstore volume --vol VO3332 {'blocksize': 131072, 'capacity_bytes': 64424509440L, 'declared': 1011219237.849051, 'eod_cookie': '0000_000000000_0000044', 'external_label': 'VO3332', 'first_access': 1021053575.259737, 'last_access': 1067315745.238969, 'library': '9940', 'media_type': '9940', 'non_del_files': 43, 'remaining_bytes': 1785262080L, 'sum_mounts': 234, 'sum_rd_access': 213, 'sum_rd_err': 0, 'sum_wr_access': 43, 'sum_wr_err': 0, 'system_inhibit': ['none', 'full'], 'user_inhibit': ['none', 'none'], 'volume_family': 'cms.objy_data_files.cpio_odc', 'wrapper': 'cpio_odc'} |
|
Lists all volumes with their available space, the system inhibits, the library, the volume family (period-separated concatenation of storage group, file family and file family wrapper) and any comments. Example: $ enstore volume --vols label avail. system_inhibit library vol_family comment ... VO0053 1.19GB (none full ) eagle cms.objy_data_files.cpio_odc VO0054 0.51GB (none full ) eagle cms.objy_data_files.cpio_odc VO0055 0.17GB (none full ) eagle theory.theory-canopy-C.cpio_odc VO0056 0.65GB (none full ) eagle theory.theory-canopy-D.cpio_odc ... |