THINGS TO TRY
=============
Check the build:
% ndmjob -help
% ndmjob -v
The Query tests are about like the Connectathon
NDMPvX-COMMON tests.
Query your DATA agent:
% ndmjob -q -Dmyhost,logon,passwd
Query your DATA agent, force NDMPv2
% ndmjob -q -Dmyhost/2,logon,passwd
Query your DATA agent, force NDMPv3
% ndmjob -q -Dmyhost/3,logon,passwd
Query resident DATA agent. Force NDMPv2 and NDMPv3.
% ndmjob -q -D./2
% ndmjob -q -D./3
Query your TAPE agent:
% ndmjob -q -Tmyhost,logon,passwd
Query your ROBOT (see -help for DEV,CTRL,SID,LUN)
% ndmjob -q -Rmyhost,logon,passwd -r DEV,CTRL,SID,LUN
Query your DATA agent, produce a log file
% ndmjob -q -Dmyhost,logon,passwd -L log-file
Query your DATA agent, produce a detailed log file
% ndmjob -q -Dmyhost,logon,passwd -L log-file -d5
Query your DATA agent, produce a very detailed log file,
verbose to stdout
% ndmjob -q -Dmyhost,logon,passwd -L log-file -d6 -v
From here down, combinations of forcing NDMPv2/v3 on
each the DATA and TAPE agent are possible. These
tests correspond to the Connectathon NDMPvX-TAPE
and NDMPvX-DATA tests.
Run a test series on your TAPE agent. If things get
dicey, produce a log and check it
% ndmjob -o test-tape -T myhost,logon,passwd -f /dev/whatever
% ndmjob -o test-mover -T myhost,logon,passwd -f /dev/whatever
Resident TAPE agent test
% rm -f FakeTape
% touch FakeTape
% ndmjob -o test-tape -T./2 -f FakeTape
% ndmjob -o test-mover -T./2 -f FakeTape
% ndmjob -o test-tape -T./3 -f FakeTape
% ndmjob -o test-mover -T./3 -f FakeTape
Create a small directory system, like /tmp/test-data.
About 100 files amounting to about 5mb should be good.
A couple of big files in there would be good.
cd /tmp
tar xzvf tough.tgz.bin
Create a backup to your TAPE agent. Create an index
in file c-index.
% ndmjob -c \
-D. -C /tmp -F tough -I c-index \
-Tmyhost,logon,passwd -f /dev/whatever
Recover the file index. Your DATA agent might not implement
NDMPx_DATA_START_RECOVER_FILEHIST, but that doesn't matter.
This is using the NDMJOB resident DATA agent, and it does.
This first test will read the entire tape.
% ndmjob -t \
-D. -I t-seq-index \
-Tmyhost,logon,passwd -f /dev/whatever
% diff c-index t-seq-index
Now, do the same thing, but enable direct access. The
NDMJOB DATA agent will issue DATA_READ requests and
pick through the image stream to get to just the tar
headers.
% ndmjob -t \
-D. -I t-dir-index -E RECOVER_DIRECT=yes \
-Tmyhost,logon,passwd -f /dev/whatever
% diff c-index t-dir-index
Same series using only resident agents
% ndmjob -cvv \
-D. -C /tmp -F tough -I c-index \
-f FakeTape
% ndmjob -tvv \
-D. -I t-seq-index -E RECOVER_DIRECT=no \
-f FakeTape
% diff c-index t-seq-index
% ndmjob -tvv \
-D. -I t-dir-index -E RECOVER_DIRECT=yes \
-f FakeTape
% diff c-index t-dir-index
Same series using only resident DATA and TAPE on local host
% ndmjob -o daemon &
% ndmjob -cvv \
-D. -C /tmp -F tough -I c-index \
-Tlocalhost,ndmp,ndmp -f FakeTape
% ndmjob -tvv \
-D. -I t-seq-index -E RECOVER_DIRECT=no \
-Tlocalhost,ndmp,ndmp -f FakeTape
% diff c-index t-seq-index
% ndmjob -tvv \
-D. -I t-dir-index -E RECOVER_DIRECT=yes \
-Tlocalhost,ndmp,ndmp -f FakeTape
% diff c-index t-dir-index
Same series using DATA and TAPE on local host. This is
like the Connectathon NDMPvX-LOCAL tests:
% ndmjob -o daemon &
% ndmjob -cvv \
-Dlocalhost,, -C /tmp -F tough -I c-index \
-f FakeTape
% ndmjob -tvv \
-Dlocalhost,, -I t-seq-index -E RECOVER_DIRECT=no \
-f FakeTape
% diff c-index t-seq-index
% ndmjob -tvv \
-Dlocalhost,, -I t-dir-index -E RECOVER_DIRECT=yes \
-Tlocalhost,, -f FakeTape
% diff c-index t-dir-index
If you have a tape robot, you MUST specify -m MEDIA options.
The next set of tests verifies NDMP_MOVER window handling
and discovery.
Create a backup that crosses two tapes. This assumes
a tape in each address 100 and 101. Your addresses
will probably be different. The -m@100/2m says to put
at most 2mb on the first tape. This is a NDMP_MOVER_SET_WINDOW
during create, which is convention but not part of the spec.
% ndmjob -c \
-D. -C /tmp -F test-data -I c-index \
-Tmyhost,logon,passwd -f /dev/whatever \
-r DEV,CTRL,SID,LUN \
-m@100/2m -m@101
Now, read it back. If your NDMP_MOVER is returning the
proper error codes, this will automatically discover
the window sizes as it proceeds. Notice that the -m
options do not give window size.
% ndmjob -t \
-D. -I t-index \
-Tmyhost,logon,passwd -f /dev/whatever \
-r DEV,CTRL,SID,LUN \
-m@100 -m@101
That'll get you started.