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.