* Jean-Louis Martineau <[email protected]> [20161216 09:29]:
> Jean-Francois,
>
> amtoc was not fixed for the new log file format in 3.4
> Try the attached patch.
Thanks Jean-Louis.
I have applied the patch and amtoc now generates toc of tapes but I
wonder at what they show: there is a mismatch between the amtoc output
actual physical content of the tape:
~# cat $logdir/NEO-T48-B00022.toc
# Server:/partition date lev size[Kb]
0 NEO-T48-B00022: 20161214095300 - -
1 tutor172:/raid/ipl_scratch15/Mahsa/Catr 20161213113021 0 *0
1 tutor172:/raid/ipl_scratch15/Mahsa/ADNI 20161213113021 0 *0
2 tutor172:/raid/ipl_scratch15/Mahsa/Catr 20161213113021 0 *0
2 tutor172:/raid/ipl_scratch15/Mahsa/ADNI 20161213113021 0 *0
3 tutor172:/raid/ipl_scratch15/Mahsa/Catr 20161213113021 0 *0
4 tutor172:/raid/ipl_scratch15/Mahsa/Catr 20161213113021 0 *0
3 tutor172:/raid/ipl_scratch15/Mahsa/ADNI 20161213113021 0 *0
5 tutor172:/raid/ipl_scratch15/Mahsa/Catr 20161213113021 0 *0
4 tutor172:/raid/ipl_scratch15/Mahsa/ADNI 20161213113021 0 *0
6 tutor172:/raid/ipl_scratch15/Mahsa/Catr 20161213113021 0 *0
7 tutor172:/raid/ipl_scratch15/Mahsa/Catr 20161213113021 0 *0
5 tutor172:/raid/ipl_scratch15/Mahsa/ADNI 20161213113021 0 *0
8 tutor172:/raid/ipl_scratch15/Mahsa/Catr 20161213113021 0 *0
6 tutor172:/raid/ipl_scratch15/Mahsa/ADNI 20161213113021 0 *0
9 tutor172:/raid/ipl_scratch15/Mahsa/Catr 20161213113021 0 *0
10 tutor172:/raid/ipl_scratch15/Mahsa/Catr 20161213113021 0 *0
7 tutor172:/raid/ipl_scratch15/Mahsa/ADNI 20161213113021 0 *0
11 tutor172:/raid/ipl_scratch15/Mahsa/Catr 20161213113021 0 *0
tutor172:/raid/ipl_scratch15/Mahsa/Catr 20161213113021 0 0
8 tutor172:/raid/ipl_scratch15/Mahsa/ADNI 20161213113021 0 *0
9 tutor172:/raid/ipl_scratch15/Mahsa/ADNI 20161213113021 0 *0
10 tutor172:/raid/ipl_scratch15/Mahsa/ADNI 20161213113021 0 *0
11 tutor172:/raid/ipl_scratch15/Mahsa/ADNI 20161213113021 0 *0
12 total:on_tape - - 230686720
However moving through the tape with mt and extracting the headers of
tape files with dd shows:
~# ~malin/bin/lstape /dev/nst0
AMANDA: SPLIT_FILE 20161213113021 tutor172 /raid/ipl_scratch15/Mahsa/Catriona
part 1/-1 lev 0 comp N program APPLICATION
AMANDA: SPLIT_FILE 20161213113021 tutor172 /raid/ipl_scratch15/Mahsa/Catriona
part 2/-1 lev 0 comp N program APPLICATION
AMANDA: SPLIT_FILE 20161213113021 tutor172 /raid/ipl_scratch15/Mahsa/Catriona
part 3/-1 lev 0 comp N program APPLICATION
AMANDA: SPLIT_FILE 20161213113021 tutor172 /raid/ipl_scratch15/Mahsa/Catriona
part 4/-1 lev 0 comp N program APPLICATION
AMANDA: SPLIT_FILE 20161213113021 tutor172 /raid/ipl_scratch15/Mahsa/Catriona
part 5/-1 lev 0 comp N program APPLICATION
AMANDA: SPLIT_FILE 20161213113021 tutor172 /raid/ipl_scratch15/Mahsa/Catriona
part 6/-1 lev 0 comp N program APPLICATION
AMANDA: SPLIT_FILE 20161213113021 tutor172 /raid/ipl_scratch15/Mahsa/Catriona
part 7/-1 lev 0 comp N program APPLICATION
AMANDA: SPLIT_FILE 20161213113021 tutor172 /raid/ipl_scratch15/Mahsa/Catriona
part 8/-1 lev 0 comp N program APPLICATION
AMANDA: SPLIT_FILE 20161213113021 tutor172 /raid/ipl_scratch15/Mahsa/Catriona
part 9/-1 lev 0 comp N program APPLICATION
AMANDA: SPLIT_FILE 20161213113021 tutor172 /raid/ipl_scratch15/Mahsa/Catriona
part 10/-1 lev 0 comp N program APPLICATION
AMANDA: SPLIT_FILE 20161213113021 tutor172 /raid/ipl_scratch15/Mahsa/Catriona
part 11/-1 lev 0 comp N program APPLICATION
AMANDA: SPLIT_FILE 20161214095300 tutor172 /raid/ipl_scratch15/Mahsa/Catriona
part 1/-1 lev 0 comp N program APPLICATION
AMANDA: SPLIT_FILE 20161214095300 tutor172 /raid/ipl_scratch15/Mahsa/Catriona
part 2/-1 lev 0 comp N program APPLICATION
AMANDA: SPLIT_FILE 20161214095300 tutor172 /raid/ipl_scratch15/Mahsa/Catriona
part 3/-1 lev 0 comp N program APPLICATION
AMANDA: SPLIT_FILE 20161214095300 tutor172 /raid/ipl_scratch15/Mahsa/Catriona
part 4/-1 lev 0 comp N program APPLICATION
AMANDA: SPLIT_FILE 20161214095300 tutor172 /raid/ipl_scratch15/Mahsa/Catriona
part 5/-1 lev 0 comp N program APPLICATION
AMANDA: SPLIT_FILE 20161214095300 tutor172 /raid/ipl_scratch15/Mahsa/Catriona
part 6/-1 lev 0 comp N program APPLICATION
AMANDA: SPLIT_FILE 20161214095300 tutor172 /raid/ipl_scratch15/Mahsa/Catriona
part 7/-1 lev 0 comp N program APPLICATION
AMANDA: SPLIT_FILE 20161214095300 tutor172 /raid/ipl_scratch15/Mahsa/Catriona
part 8/-1 lev 0 comp N program APPLICATION
This config has 'taper-parallel-write' set to 2 and during the amdump
run both tape drives were in use at the same time at some point. Could
this explain the discrepancy between both outputs?
thanks,
jf
>
> Jean-Louis
>
> On 15/12/16 02:46 PM, Jean-Francois Malouin wrote:
> >Hi,
> >
> >Still getting acquainted with amanda-3.4.1 new feature but for the
> >moment I'm having problems correctly generating table-of-content of
> >tapes using the recipe at the end of 'man amtoc':
> >
> >
> >~# logdir=`~amanda/sbin/amgetconf top logdir` ; log=`ls -1t
> >$logdir/log.*.[0-9] | head -1`
> >
> >~# echo $logdir
> >/opt/amanda/usr/adm/amanda/top/log
> >
> >~# echo $log
> >/opt/amanda/usr/adm/amanda/top/log/log.20161214095300.0
> >
> >~# su amanda -c "~amanda/sbin/amtoc -t -a $log"
> >Argument ""POOL:tapepool-bic-neo-t48"" isn't numeric in numeric ne (!=) at
> >/opt/amanda/sbin/amtoc line 173, <IF> line 29.
> >Argument ""POOL:tapepool-bic-neo-t48"" isn't numeric in numeric ne (!=) at
> >/opt/amanda/sbin/amtoc line 173, <IF> line 30.
> >...
> >Argument ""POOL:tapepool-bic-neo-t48"" isn't numeric in numeric ne (!=) at
> >/opt/amanda/sbin/amtoc line 173, <IF> line 131.
> >
> >The generated toc file name in $log is strange:
> >
> >"POOL:tapepool-bic-neo-t48".toc
> >
> >(with the quotes on) and here is its content:
> >
> > # Server:/partition date lev
> > # size[Kb]
> > 0 "POOL:tapepool-bic-neo-t48": 20161214095300 -
> >-
> >"PO NEO-T48-B00025:1 tutor172 201 *0
> >"PO NEO-T48-B00025:2 tutor172 201 *0
> >"PO NEO-T48-B00025:3 tutor172 201 *0
> >"PO NEO-T48-B00025:4 tutor172 201 *0
> >"PO NEO-T48-B00025:5 tutor172 201 *0
> >"PO NEO-T48-B00025:6 tutor172 201 *0
> >"PO NEO-T48-B00025:7 tutor172 201 *0
> >"PO NEO-T48-B00025:8 tutor172 201 *0
> >"PO NEO-T48-B00025:9 tutor172 201 *0
> >"PO NEO-T48-B00025:10 tutor172 201 *0
> >"PO NEO-T48-B00025:11 tutor172 201 *0
> > "ST:bic-storage":"POOL:tapepool-bic-neo tutor172 201 0
> > 11 total:on_tape - - 218033632
> > - total:origin - - 799002302
> >
> >$log is attached.
> >I guess this is related to the new storage and pool stuff.
> >
> >cheers,
> >jf
>
>
> diff --git a/server-src/amtoc.pl b/server-src/amtoc.pl
> index f62dcef..3f16f6b 100644
> --- a/server-src/amtoc.pl
> +++ b/server-src/amtoc.pl
> @@ -160,31 +160,67 @@ while ( <$IF> ) {
> $flash_mode = 1;
> next;
> }
> - if ( ! /^([A-Z]+) taper (\S+) (\S+) (\S+) (\S+) (\S+)/) { next;}
> + if ( ! /^([A-Z]+) taper \S+ \S+ (\S+) (\S+) (\S+) (\S+) (\S+)/) { next;}
> # $_ = $1;
> if (/PART taper/) {
> - /^([A-Z]+) taper (\S+) (\S+) (\S+) (\S+) (\S+) (\S+) (\S+)/;
> - $filenum = $3;
> - $host = $4;
> - $disk = $5;
> - $date = $6;
> - $chunk = $7;
> - $level = $8;
> + if (/^([A-Z]+) taper ("ST:\S+") ("POOL:\S+") (\S+) (\S+) (\S+) (\S+)
> (\S+) (\S+) (\S+)/) {
> + $storage = $2;
> + $pool = $3;
> + $label = $4;
> + $filenum = $5;
> + $host = $6;
> + $disk = $7;
> + $date = $8;
> + $chunk = $9;
> + $level = $10;
> + } else {
> + /^([A-Z]+) taper (\S+) (\S+) (\S+) (\S+) (\S+) (\S+) (\S+)/;
> + $label = $2;
> + $filenum = $3;
> + $host = $4;
> + $disk = $5;
> + $date = $6;
> + $chunk = $7;
> + $level = $8;
> + }
> if ($filenum != $filenumber) {
> # This should not be possible */
> $filenumber = $filenum;
> }
> + } elsif (/START taper/) {
> + if (/^([A-Z]+) taper (\S+) (\S+) ("ST:\S+") ("POOL:\S+") (\S+) (\S+)
> (\S+)/) {
> + $date = $3;
> + $storage = $4;
> + $pool = $5;
> + $label = $7;
> + $level = $7;
> + } else {
> + /^([A-Z]+) taper (\S+) (\S+) (\S+) (\S+) (\S+)/;
> + $date = $3;
> + $label = $4;
> + $level = $5;
> + }
> } else {
> - /^([A-Z]+) taper (\S+) (\S+) (\S+) (\S+) (\S+)/;
> - $host = $2;
> - $disk = $3;
> - $date = $4;
> - $chunk = $5;
> - $level = $6;
> + if (/^([A-Z]+) taper ("ST:\S+") ("POOL:\S+") (\S+) (\S+) (\S+) (\S+)
> (\S+)/) {
> + $storage = $2;
> + $pool = $3;
> + $host = $4;
> + $disk = $5;
> + $date = $6;
> + $chunk = $7;
> + $level = $8;
> + } else {
> + /^([A-Z]+) taper (\S+) (\S+) (\S+) (\S+) (\S+)/;
> + $host = $2;
> + $disk = $3;
> + $date = $4;
> + $chunk = $5;
> + $level = $6;
> + }
> }
> switch: {
> /START taper/ && do {
> - $tocfilename=&tfn($chunk) if ($#subs >= 0);
> + $tocfilename=&tfn($label) if ($#subs >= 0);
> if (!$tocfilename || ($tocfilename eq '-')) {$OF=STDOUT;}
> else {
> die ("Cannot open tocfile $tocfilename") unless
> open(OF,">$tocfilename");
> @@ -204,7 +240,7 @@ while ( <$IF> ) {
>
> $filenumber=0;
> &pr("#","Server","/partition","date", "level","size[Kb]","part");
> - &pr("$filenumber","$chunk","","$disk","-","-","-");
> + &pr("$filenumber","$label","","$date","-","-","-");
> last switch; };
> /^(?:SUCCESS|CHUNK|PART|DONE) taper/ && do {
> if(/SUCCESS/){
> @@ -255,13 +291,17 @@ while ( <$IF> ) {
> }
> $filenumber += 1;
> }
> -if (defined($flash_mode)) {
> - &pr("-","total","origin","-","not","available","-");
> +if (defined $OF) {
> + if (defined($flash_mode)) {
> + &pr("-","total","origin","-","not","available","-");
> + } else {
> + &pr("-","total","origin","-","-","$tot_or_size","-");
> + }
> + close OF;
> } else {
> - &pr("-","total","origin","-","-","$tot_or_size","-");
> + print "no dump on that run\n";
> }
> close $IF;
> -close OF;
>
>
> format OF =
--
Jean-Francois Malouin | IT Operations and Infrastructure
McConnell Brain Imaging Centre | MNI | McGill University