JBVERIFY(8)JBVERIFY(8)NAMEjbverify - check jukebox/device configurations in NetWorker.
SYNOPSISjbverify [ -a ] [ -d { -i|-u } ] [ -D devicename ]...
[ -f filename ] [ -F ] [ -h ] [ -H hostname ]...
[ -I Invoker ] [ -j ] [ -J JB name ]... [ -l ] [ -M ] [ -n ]
[ -N ] [ -P port ] [ -q ] [ -Q ] [ -r no. of retries ]
[ -R ] [ -S slot ] [ -s server ] [ -t ] [ -v ]... [ -Z ]
DESCRIPTIONjbverify verifies the devices defined in the NetWorker database, making
sure that each one of them is configured properly by checking them for
accessibility and usability. To do this, jbverify makes use of Net‐
Worker processes and requires that the NetWorker server (nsrd) be run‐
ning on the server machine, and the NetWorker client (nsrexecd) be run‐
ning on the client machines.
By default, jbverify checks all devices in the NetWorker database, but
can be instructed to check only jukeboxes, only stand-alone drives or
only local devices using the -j, -d and -l options respectively. Indi‐
vidual jukeboxes and drives can also be checked for by using the -J and
-D options. Devices belonging to specific hosts can be checked using
the -H option.
For jukeboxes, jbverify ensures proper configuration by loading a tape
into each drive and unloading them, without performing any write opera‐
tions on the tape. The only exception to this is if the -t option is
used, explained below. A slot to be used for the test can be specified
by using the -S option. If no slot is specified, jbverify goes through
all the slots defined as available to NetWorker and loads the first one
available.
Apart from checking for accessibility and usability, jbverify can run a
series of tests on tapes loaded into the drives being tested by calling
on NetWorker's tapeexer program (see tapeexercise (1m)), when used with
the -t option.
Running tapeexercise involves writing to the tape to determine the tape
drive's usability, so when -t is specified, any volume which has a Net‐
Worker label on it is immediately rejected as unusable and the next
slot is tried. If there are no non-NetWorker tapes in any of the slots,
jbverify exits without doing any tests.
jbverify can be run on any storage node, and can be used to test any
device on that storage node provided the device has been configured in
NetWorker. When run on the NetWorker server, it can be used to test
any device on the network which has been configured in NetWorker. For a
storage node which is not a NetWorker server to be able to test devices
other than its own, the nsrexecd on the target machine will have to be
started with the -s option with the invoking storage node as the argu‐
ment, or have the invoking storage node listed in the target machine's
'servers' file.
For example, if the NetWorker server is node NS, and there are two
storage nodes Sto1 and Sto2: for Sto1 to test devices on Sto2, the
nsrexecd on Sto2 should be started as "nsrexecd -s NS -s Sto1." Or the
servers/rservers file on Sto2 should have Sto1 listed as one of the
valid servers.
SmartMedia devices are not tested by jbverify.
jbverify has extensive verbose messages built into it. In case of error
in operation or inexplicable behaviour, it is always helpful to use the
-v options to diagnose the behaviour.
OPTIONS-a Tells jbverify to check all devices, even if they are disabled.
By default, disabled devices are not tested. This option is not
supported at present.
-d This option tells jbverify to check only stand-alone drives. No
jukebox devices are tested.
-D This option is used to test a specific drive. The drive name
should exactly match the name specified in the NetWorker drive
resource. Multiple drives can be specified by using the -D
option multiple times. If a jukebox drive is specified using
this option, it is treated as a stand-alone drive.
-f Used to redirect jbverify's output to a file. The argument is
the file name to which the output is to be redirected.
-F Reserved. This option is used internally by jbverify to indicate
that this is a remotely forked jbverify.
-h Show the help options.
-H Tests the devices on the hostname mentioned. Use this option
multiple times to test multiple hosts. Any other option speci‐
fied on the command-line along with -H will be propagated to the
remote host being tested, except for the -D and -J options. When
-H is used, only devices belonging to that host are tested and
hence only those -D and -J options which specify devices belong‐
ing to that host are propagated forward.
-i Go into interactive mode. Used with -d for stand-alone devices.
This option is useful when testing stand-alone devices on the
local machine. If a particular stand-alone device does not have
a tape loaded, the -i option prompts the user to load a tape or
cancel the operation so that it can skip to the next drive. The
-l option has to be specified with the -i option. Cannot be used
with jukeboxes.
-I Reserved. Used internally by jbverify to specify the name of the
invoking host machine to a remote jbverify.
-j Check jukebox devices only. jbverify checks only jukebox
devices defined in the NetWorker database. All other devices are
ignored.
-J This option is used to test a specific jukebox. The jukebox name
should exactly match the name specified in the NetWorker jukebox
resource. Multiple jukeboxes can be specified by using the -J
option multiple times.
-l Check local devices only.
-M Reserved. Used internally by jbverify to indicate that it is
being invoked by a NetWorker process. Messages are sent to the
NetWorker server instead of being echoed to the stdout.
-n Perform tests in the no-op mode. Jbverify runs through the
motions of testing the devices after duly processing all given
options but does not actually do the tests.
-N For a remote jbverify, put nsrexec into the same verbose mode as
the jbverify. Usually redundant, but may be useful for
debugging.
-P Reserved. Used internally by the jbverify process to indicate to
a remote jbverify the port number on which the server is listen‐
ing.
-q Run both the local and the remote jbverify in the quiet mode.
-Q Run only the remote jbverify in the quiet mode. The results of
the remote jbverify operation can still be seen in the final
status report printed out by the local jbverify. If -v is used
on the command-line with -Q, the local jbverify will run in the
verbose mode while the remote jbverify runs quietly. -q and -v
are mutually exclusive. Specifying both will result in jbverify
running in level 1 verbose mode.
-r Number of retries on error. Chiefly used on load and unload
errors. jbverify will retry the number of times specified if
there is an error in operation.
-S Slot to be used for jukebox devices. The given slot will be used
for loading tapes into jukebox devices during the test. If mul‐
tiple jukeboxes are to be tested, make sure that the same slot
in each of those jukeboxes has a valid tape. If -t is specified,
the tape in the slot has to be a non-NetWorker tape, else jbver‐
ify exits with an error.
-s Name of NetWorker server being tested.
-t Perform tapeexercise on tapes. see tapepexercise (1m) for
details on tapeexercise. If -t is specified, there has to be a
non-NetWorker tape in one of the slots for the exercise to pro‐
ceed. If -S is specified, the specified slot has to contain a
non-NetWorker tape.
-u Run in unattended mode. Similar to the -i option and used for
stand-alone devices only. If any device is not loaded with a
tape, the -u option skips the device and goes on to the next one
in the list. Either -u or -i has to be specified with the -d
option.
-v Run in verbose mode. Multiple -v options can be specified to
increase the level of verbosity. Higher the level, more verbose
the output. Currently has a maximum of 5.
-Z Reserved.
EXIT STATUS
The following are the error numbers with which jbverify could exit:
ENWTAPE (51) : Found NetWorker tape when trying to run
tapeexercise.
ELOADDETECT (52) : Unable to detect loaded state of a
device.
EMEMORY (53) : Out of memory.
ESRCEMPTY (54) : The source slot was empty.
EDSTFULL (55) : The destination drive was full.
EUNLOAD (56) : Error in unload.
EUNKNOWN (57) : Unexpected error.
ERDLABEL (58) : Error in read label operation.
ESPAWN (59) : Error in spawn operation.
EREAP (60) : Error in reaping tapeexercise
program.
ELOADED (61) : Drive already loaded.
ECONNECT (62) : Error in connect operation.
ETAPE(40) : Error in tape device in tapeexercise.
EBASICTEST(41) : Error in basic test in tapeexercise.
EEOTTEST(42) : Error in EOT test in tapeexercise.
EFSFTEST(43) : Error in FSF test in tapeexercise.
EXAMPLES
Testing all devices without tapeexercise:
To test all stand-alone and jukebox devices, just run jbverify
without any options:
jbverify
To test all devices with verbose messages, use the -v option the
required number of times:
jbverify-v -v -v
Testing only stand-alone devices, in interactive
mode:
To test only stand-alone devices, use the -d option. -i sets
the interactive mode:
jbverify-d -i -l
The -l option has to be specified when using the -i option since
interactive mode is not supported for remote devices.
Testing only jukebox devices:
To test only jukebox devices, use the -j option:
jbverify-j -v -v
Redirecting output to a file:
To redirect the output of jbverify to a file, use the -f option:
jbverify-j -f output.jbv -v -v -v
Testing remote hosts
To test all the jukebox devices on hosts A and B, use the -H
option:
jbverify-H A -H B -j -f outputfile
This tests only the jukebox devices on both hosts A and B and
redirects the output to outputfile.
Running in quiet mode
To run jbverify in the quiet mode, use the -q option:
jbverify-q
This will result in only the final status report being printed.
To run the local jbverify in the verbose mode, but all remote
operations quietly, use the -Q option:
jbverify-v -v -v -Q
This will result in verbose output for all local operations but
none for the remote ones. The status of the remote operations
can be seen in the final status report.
Specifying no. of retries on load/unload operations:
To specify a certain no. of retries on errors, use the -r
option:
jbverify-j -r 10 -S 12 -v
The above command makes jbverify use slot 12 of the jukebox for
load and unload operations and makes it retry 10 times on
errors.
Running tapeexercise on tapes:
To run tapeexercise on tapes loaded into devices, use the -t
option:
jbverify-j -S 12 -t -v
FILES
/nsr/res/nsr.res The NetWorker resource database.
SEE ALSOjbconfig(8), jbexercise(8), nsrjb(8), nsr_device(8), nsr_jukebox(5),
nsr_storage_node(5), tapeexercise(8)DIAGNOSTICS
The following are the error messages that jbverify might produce along
with their implications and possible solutions.
Bad resource database file!
jbverify was unable to get the resource information about
devices from the NetWorker RAP database. Check if the NetWorker
Server is up and running and if it is reachable from the current
host.
Basic Test in tape exercise failed!
The Basic Test in tapeexercise failed on the loaded tape. See
tapeexercise (1m) for more details.
Can't specify both -i and -u at the same time!
The -i and the -u options are mutually exclusive. Choose one of
them and retry operation.
Cannot use slot for stand-alone devices! Ignoring...
The -S option is useful only for jukeboxes. This is just a warn‐
ing that the option is being ignored.
Cannot run in interactive mode for remote devices
-- use -l!
The -i option is currently supported only for local devices.
Specify -l to test only the local devices.
Could not connect to server! Quitting...
The remote jbverify could not connect to the main jbverify for
some reason. Examine other error messages to establish cause.
Could not establish server socket! Quitting...
jbverify could not open a socket to receive requests from remote
jbverifys. Examine previous error messages for exact cause of
problem.
Could not extract control port info.
jbverify was unable to parse the jukebox resource information it
obtained about a jukebox from the RAP database. This might indi‐
cate a corruption of the RAP database in NetWorker. Check if you
can see the contents of the jukebox resource from NetWorker Man‐
agement Console. Retry operation.
Couldn't find control port in JB definition!
jbverify was unable to parse the jukebox resource information it
obtained about a jukebox from the RAP database. This might indi‐
cate a corruption of the RAP database in NetWorker. Check if you
can see the contents of the jukebox resource from NetWorker Man‐
agement Console. Retry operation.
Could not find enabled drive <name> in database!
A device was specified to be tested and jbverify could not find
this device in the resource database of NetWorker. The most com‐
mon reason would be incorrectly specifying a device name. The
device name has to exactly match the name given in the NetWorker
device resource, including the "rd=..." prefix, if any.
Could not find jukebox <name> in database!
A jukebox was specified to be tested and jbverify could not find
this jukebox in the resource database of NetWorker. The most
common reason would be incorrectly specifying a jukebox name.
The name has to exactly match the name given in the NetWorker
jukebox resource, including the "rd=..." prefix, if any.
Could not get block size for this tape!
jbverify could not find the defined blocksize for this tape. A
default of 32k is usually assumed.
EOT Test in tape exercise failed!
The EOT Test in tapeexercise failed on the loaded tape. See
tapeexercise (1m) for more details.
Error in checkmedia operation on host <name>!
The remote jbverify reported an error in checking the status of
the device. See earlier error messages for more information.
Error! Directory <name> doesn't exist!
This message is printed when processing a disk file drive and
the said directory does not exist.
Error in eject tape from drive <name>! Skipping...
There was a problem in ejecting the tape in the said drive.
jbverify will skip testing this device and continue on with the
next in line.
Error in read label operation! Cannot proceed with test!
There was a problem while trying to read data off the loaded
tape. Check previous error messages to find the cause.
Error in resdb_query in getting device info.
jbverify was unable to get the resource information about
devices from the NetWorker RAP database. Check if the NetWorker
Server is up and running and if it is reachable from the current
host.
Error in resdb_query in getting JB info.
jbverify was unable to get the resource information about juke‐
boxes from the NetWorker RAP database. Check if the NetWorker
Server is up and running and if it is reachable from the current
host.
Error in unload. Drive <num> (<name>), slot <num>
There was an error in the unload operation of the said drive.
Check previous error messages for possible cause and error no.
Try operation again in a higher verbose mode.
Error in unloading jukebox drives: <name>
There was an error while trying to unload the said drive. Check
other error messages for cause.
Error reported in eject tape from drive <name>! Device is
offline.
There was an error reported by the NetWorker process during the
eject operation, but the tape seems to have been ejected; jbver‐
ify will continue to unload the tape to its slot.
FSF Test in tape exercise failed!
The FSF Test in tapeexercise failed on the loaded tape. See
tapeexercise (1m) for more details.
Failed to create xdr stream!
This usually denotes lack of enough physical memory in the sys‐
tem. Check earlier error messages for more information.
Failed to detect loaded volume on drive <name> even
after <num> tries. Giving up...
jbverify failed to detect a loaded tape drive after putting a
tape into the drive. Sometimes this might happen if the drive is
slow and the delay is too little. Try the operation again with a
high number as the argument to the -r option or increase the
load sleep attribute in the jukebox resource.
Failed to get connection from remote jbverify!
errno: <num>
jbverify started a remote jbverify and is waiting for it to con‐
nect to it but has timed out without getting a connection
request. Examine other error messages to find the cause. One
common cause is that the machine you are running jbverify on
does not have the permission to request execution on the remote
machine. To obtain permission, the nsrexecd on the remote
machine has to be started with "-s <local machine name>." See
example in the main section of this man page for more informa‐
tion.
Failed to get response for check media from remote
host <name>
jbverify failed to get response from the remote jbverify on a
request for checking the status of a device. This could be
because the remote jbverify was killed or terminated abnormally,
the remote machine went down, or just network problems. Check if
you can ping the machine and retry operation.
Failed to get stat packet!
jbverify failed to receive an expected status packet from the
remote jbverify. This could be because the remote jbverify was
killed or terminated abnormally, the remote machine went down,
or just network problems. Check if you can ping the machine and
retry operation.
Failed to read request packet from server!
A remote jbverify failed to receive a request packet from the
main jbverify. This could be because the main jbverify was
killed or terminated abnormally, the machine went down, or just
network problems. Check if you can ping the machine and retry
operation.
Failed to redirect output to <name>. Errno <num>
A system call failed. Run in verbose mode and contact support
with error numbers and messages.
Failed to send FMEDIA on sock <num>! Errno <num>
jbverify failed to send a request to check device status to the
remote jbverify. This could be because the remote jbverify was
killed or terminated abnormally, the remote machine went down,
or just network problems. Check if you can ping the machine and
retry operation.
Failed to spawn tapeexer!
Failed to exec the NetWorker binary tapeexer. Check if the
binary exists and if it has the adequate permissions. Check
other error messages for causes.
Failed to start nsrexec! errno: <num>
jbverify failed to start the nsrexec process on the local
machine. Examine previous error messages for exact cause. Some
of the causes could be missing nsrexec binary, missing execute
permissions, corrupt file etc.
Failed to start remote jbverify on <host>! errno <num>
jbverify was unable to start jbverify on a remote machine. Check
earlier messages for more information. Some of the causes could
be that nsrexecd is not running on the remote machine, nsrexecd
is of a version prior to 6.1, you are running jbverify on a
machine which is not the server and which is not allowed to
request execution on the remote machine. The last can be recti‐
fied by running the remote nsrexecd with "-s <server> -s
<machine>" option where <server> is the NetWorker Server machine
and <machine> is the machine on which you are running jbverify.
See explanation and example in the main section of this man-page
for more details.
Have to specify -i or -u with -d option.
The -d option has to be specified with either the interactive
(-i) or the unattended mode (-u). Choose one of them and retry
operation.
Invalid option specified: <option>.
An invalid option was specified. Use the -h option to get a list
of valid options.
Malloc error
System is out of physical memory. jbverify failed to allocate
the required memory for an operation. Exit some applications and
retry the operation or increase the amount of memory on the
machine.
NetWorker tape (<label>) in the drive. Cannot proceed
with test!
The drive has a tape with the said NetWorker label on it. If
jbverify is run with -t, it needs a tape without a NetWorker
label on it to successfully run the tapeexercise program on it.
If there is no non-NetWorker tape in any of the slots, place one
into one of the slots and retry the operation.
No block size found for this device: <name>!
jbverify could not find a blocksize defined for this device in
the NetWorker database. This usually means that a default of 32k
is assumed for this device.
No enabled stand alone devices found.
The current configuration has no stand-alone device defined.
This is just an informational message.
No enabled jukeboxes found in database.
The current configuration has no jukeboxes defined. This is just
an informational message.
No tape in slot <num>. Quitting...
If -S was specified and there is no tape in the specified slot,
jbverify posts this message and quits. Put a tape in the slot or
specify another slot with a tape in it and retry operation.
Query resdb failed, err: <errmsg>.
A RAP query to the NetWorker database failed. Check if the Net‐
Worker Server is up and running and if it is reachable from the
current host.
Ran out of slots to choose from! Quitting...
While trying to find a slot to use to load a tape into a jukebox
device, jbverify has run out of slots to try. If run with -t,
jbverify needs to find a slot which has a tape without a Net‐
Worker label on it as it will not overwrite NetWorker tapes even
if they are no longer in the media database.
Received invalid request from server:type: %d
jbverify received an unexpected request from the main jbverify.
This could happen if the two machines involved are running dif‐
ferent versions of jbverify. Check and make sure that this is
not so. This could also mean memory corruption. Retry operation
at verbose level 5 and if error persists, send log to customer
support at EMC.
Received unknown packet from remote host <name>!
jbverify received an unexpected packet from the remote jbverify.
This could mean memory corruption. Retry operation at verbose
level 5 and if error persists, send log to customer support at
EMC.
SCO postion Test in tape exercise failed!
The SCO position Test in tapeexercise failed on the loaded tape.
See tapeexercise (1m) for more details.
Skipping disabled drive <name>
jbverify, at present, does not test drives disabled in Net‐
Worker. In the future, the -a option may be enabled to do so.
Skipping to next drive in list...
After a load/unload error, jbverify is stopping the test of a
drive and moving on to the next one in its list.
Slot <slot num> has Networker tape.
The -t option was used and the slot from which the drive was
loaded contained a NetWorker tape. If the -S option was used,
this is a fatal error. If not, jbverify will try other slots to
see if it can find a non-NetWorker tape.
Slot needs to be a valid number!
The slot specified with the -S option has to be a real number.
Source slot empty! <slot num>
The -S option was used but the specified slot did not contain a
tape. Specify a slot which has a tape in it. If the -t option is
also being used, specify a slot with a non-NetWorker tape in it.
Tapeexer executable not found!
The tapeexer executable was not found. Check if it exists.
Tapeexer exited on signal <num>
The tapeexer process was killed by the given signal.
Tapeexer exited abnormally with exit code <num>
The tapeexer process exited abnormally with the given exit code.
Tapexercise on <name> exited without an exit status!
jbverify was unable to get the exit status of the tapeexer
process. This is a very rare case and might never happen unless
the OS has a bug.
Unable to authenticate remote process!
jbverify was unable to authenticate a connection request from
the remote process.
Unable to get JB name! Skipping to next...
jbverify was unable to find any name specified for the jukebox
in the jukebox resource. Check the jukebox resource for any cor‐
ruption and restore the NetWorker resource directory if needed.
Unable to find any devices in jukebox!
jbverify was unable to find any devices configured for the juke‐
box. This is an error condition since it is not usually possible
to have an enabled jukebox in NetWorker with no defined devices.
Check NetWorker configuration and run jbverify again.
Unable to get device info for <name>
jbverify could not find any info for this device in the Net‐
Worker database. Check that the name of the device matches
exactly with the name defined in the NetWorker resource, includ‐
ing the "rd=..." prefix if it is a remote device/jukebox.
Unable to get JB name! Skipping to next...
jbverify was unable to parse the jukebox resource information it
obtained about a jukebox from the RAP database. This might indi‐
cate a corruption of the RAP database in NetWorker. Check if you
can see the contents of the jukebox resource from NetWorker Man‐
agement Console. Retry operation.
Unable to load tape into drive <num> (<name>) as it seems
to be loaded!
The said drive contains a tape even though jbverify must have
unloaded it before trying the load. This might happen if the
drives are not configured in the right order in the jukebox.
Check if the order of the drives is correctly configured in Net‐
Worker.
Unable to to malloc for connlst! errno: <num>
System is out of physical memory. jbverify failed to allocate
the required memory for an operation. Exit some applications and
retry the operation or increase the anount of memory on the
machine.
Unable to open <name>. Errno: <num>
jbverify was unable to open the filename specified with the -f
option. Check if you have permissions.
Unable to proceed to test drive <no>(<name>) in JB
<name> as device is still loaded!
jbverify found the said drive to be loaded inspite of unloading
it before accessing it. Check if any other application is using
this jukebox. Also check if the previous unload operation by
jbverify failed by looking at the error messages or by running
in higher verbose mode.
Unable to unload drive <num> (<name>)! May not
be configured right!
jbverify was unable to unload the said drive. This might happen
if the drives are not configured in the right order in the juke‐
box. Check if the order of the drives is correctly configured in
NetWorker.
Unknown state. Quitting...
jbverify cannot determine the status of a load. This might hap‐
pen with corrupted memory. Try operation again and contact sup‐
port in case of failure.
NetWorker 7.3.2 Aug 23, 06 JBVERIFY(8)