Re: Couple of questions regarding dar

Nils Privat <[email protected]>
Newsgroups gmane.comp.sysutils.backup.dar.support
Message-ID <CAOnv=5UzQEzUHs58D1zhpYk90BFKVUVrmrmfGQZZqLetV=_T2A@mail.gmail.com>
Am Do., 14. Mai 2020 um 13:58 Uhr schrieb Denis Corbin <[email protected]>:

> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA256
>
> On 12/05/2020 21:26, Nils Privat wrote:
> > Hello,
>
> Hello Nils,
>
> >
> > first of all i want to thank you for your time and help.
>
> and thank you for the tests your did:
> >
> > i upgraded to v.2.6.9 and run the same script and got same results,
> > so the "old" dar version was not the problem.
>
> OK, good to know
>
> > I also tried the script with putting in "mf -f $TAPE eof" between
> > the dar creations, but that doesnt help too. Instead i got an
> > "empty" file between the dar full backup and diff-backup (full
> > backup start at file number=0, and diff backup at file number=2
> > because i manually forced an eof in between). So it seems like
> > dar/dar_split/the tape itself is writing an eof after a successful
> > backup....
>
> Strange to me. But OK, I assume the operating system adds such EOF
> mark when closing the filedscriptor used to write data to tape.
>
> >
> > Second i run the all the commands you suggested (copy back the dar
> > backup from tape to file) and got no errors - listing was fine and
> > testing too (see commands and output here:
> > https://pastebin.com/raw/UUNqjWtB). It even showed the "[---
> > REMOVED ENTRY ----]" correctly.
>
> OK that's indicates the archive is properly written do tape, good.
>
>
Thats the most important point! So i guess i can use dar (maybe without
dar_split) to write my data to tape and can restore it without problems.
Thanks.


> >
> > Yes, for all the tests i use the sametape (no
> > ejecting/reloading/swichting the tape). I just used dar_split
> > because for future backups i want to use multiple tapes. I though
> > it was not a problem to use dar_split even for a single tape. For
> > identifying the issue i skip the use of dar_split. See
> > output/testing without using dar_split here:
> > https://pastebin.com/3xZ6VTxa
>
> the error message you get from dar "FATAL error, aborting operation:
> Error while reading from pipe: Cannot allocate memory" is reported due
> to a failed read() system call, and the operating system justifies the
> error by "Cannot allocate memory" (!)
> I'm confused, the system is provided with a memory allocated place to
> copy data to... so it has not to allocate any memory to provide the
> requested bytes for reading. The only possible explanation I have is
> that the mount of data requested at once is too large for the
> underlying driver (?)
>
>
Maybe i can get rid of the error with the new '-b' option in dar_split
(specify blocksize), will test it.


>
> > So without using dar_split it seems everything is working
> > correctly, altought directly redirect the tape to dar (dar -l -
> > --sequential-read < /dev/nst0) was not working for me, but that
> > could be an blocksize specific thing. But as you can see without
> > dar_split i got the correct output from dar --test and also the
> > restore from diff-backup deletes files (which was both not the case
> > in my testing with dar_split in my previous mail). So what to do
> > next?
>
> I will see how to adapt/enhance dar_split to let you specify more
> parameters there like a block size per system read/write call. The
> work done by mbuffer is perturbed by dar_split except the rate (-R
> option) at which data is sent.
>
>
Awesome, thanks. What exactly do you mean with "perturbed"? I though
mbuffer between dar and dar_split does not hurt?! The reason i use mbuffer
is because '-P 80 -m 8G', so that the mbuffer can fill up a big buffer so
that dar_split gets an continuous stream to write ( i am using dar's
encryption and compression, which is sometimes slower than write speed to
tape, so with mbuffer i can buffer it). Do you dont recommend using it?


> >
> > Maybe my explanation regarding the 4) point in the previous mail
> > was a bit unclear (english is not my mother language): I understand
> > that dar_split is printing "No more data available from source,
> > please do something!" and its waiting for manual input of the user
> > on what to do next (for e.g. switching tapes).
>
> correct
>
> > Pressing ctrl-c does not always exists gracefully (see
> > script/output in previous mail) and pressing return/enter results
> > in dar_split reading further from tape (which is correct in case of
> > a tape switching).
>
> OK, you have dar and dar_split both sending characters to terminal.
> Dar_split reads from tapes and stick them toghether to its stdout, it
> does not interpret its content. Upon reading an End of File, it shows
> this message "... please do something!", which should maybe be changed
> to something clearer... English is neither my mother tong ;^)
> dar_split cannot this know whether this is the last tape or not and
> asks until there is no more reader on of its standard output.
> In particular, in sequential-read mode dar will read up to the EOF. So
> until dar_split exit and thus expects your CTRL-C to be received.
>
> but this CTRL-C can also be sent to dar espetially if both dar and
> dar_split use the same terminal. So this makes dar interrupt the
> operation and sending you this message: "Received signal: Interrupt /
> Archive delayed termination engaged".
>
> To cope with that, you could do the following using two different xterm:
>
> term1:
>         mkfifo dar_spit_to_dar
>         dar_split split_input $TAPE > dar_split_to_dar
>
> term2:
>         dar -l - --sequential-read < dar_split_to_dar
>
> eventually adding mbuffer somewhere in the middle if you need.
>
> this way, hitting CTRL-C in term1 once all tape have been read will
> avoid the terminal sending the INT signal to dar as well as dar_split.
> So you will see in term2 the exact dar output without mixed messaged
> from dar_split
>
>
I didnt know mkfifo yet, but thanks for the tip to not mixing messaged from
dar and dar_split.


> > In my specific case, without tape switching and appended other
> > backups/data on the same tape, it results in dar_split reading the
> > next file on the same tape and prints messages like:
> >
> > # ERR <ROOT>/1.rar : Skipping backward is not possible on a pipe #
> > A problem occurred while reading this archive contents: Skipping
> > backward is not possible on a pipe # Final memory cleanup... # Some
> > files are corrupted in the archive and it will not be possible to
> > restore them
>
> this message comes from dar, which expectes to read a single sliced
> archive and get in fact a new archive concatenated to the archive he
> was reading. This flow of structured data is not expected by dar and
> leads to this error which may leads to different error (elastic buffer
> relative error below is at encryption layer), and the previous takes
> place at the overall archive structure.
>

It seems reasonable that dar prints errors when manually forcing dar to
reading further reading after an EOF / end of tape and following data no
longer belongs to the first stream. So with the mkfifo tip i can just
abroad (CTRL-C) dar_split without canceling dar gracefully.


> >
> > or
> >
> > # Final memory cleanup... # Error while listing archive contents:
> > elastic buffer incoherent structure
> >
> >
> > Thanks
> >
> >
> >
>
> Regards,
> Denis
> -----BEGIN PGP SIGNATURE-----
>
> iQIzBAEBCAAdFiEEOzEprx3d76WjfYGPCDGwvQPYsYIFAl69MiYACgkQCDGwvQPY
> sYLrRw//dchxP4WmhEqjgGj2DmLyMj2CL3nWyqIbs0lKN7i6IUS5f6DFALm8xYq2
> eCIVmgRcFqemEoo4KSzm6VrCPWG1RAgQuEb6C6isOajZ0NdvK4r5p7lbyZWkrapj
> jif0XIuHI0p55qnwuob9qN7ZClTL4EidimvAMFLC2SGFvjwmazxTsyk9XK6jZbjS
> PgZwWtFlPrRLBTD6E84+l4laYLOUf8cAYToM5fRzZ2PwdBQWTJv3s5JAqbFFowAh
> fo/pMgxRDnd7kl7b/TYyYV0FeP11lYWQ0ocLvN3qQipDkqNUPMt1xdcutrLEA8Ap
> W1TNU7/OuCsGqcnA4icdGJpZ+RaXG288auxmN1I7eFUgV0i8HsXHpbFT7Xx66j3i
> 6W/uAbRbjs4oO6f9BnNzGXyPlycsfiP5Udz3yu8WQEJ4QJVFOA706aGmavyED4iV
> qtBpxwxR/NuTQqzbMeldqwL5Tmtd8MzsX48K1Zv9Z1fZCPHzV6z1+aQ98QUfOQbK
> 6eI6Ce8Hdc3L3KpQe3jHAJ4RJ+HrDmTvoncQwPGN3R8HCrOImBT50N4nzBIZ+5jI
> ZqBrJ1kZVj3XgckyWb3geXd0NGyM7fudkYXLFoSKGRLCbMZ0U6K4eB1AkWHsy4/q
> 7BSqnhLlHDc11eUYAzwCDfGPyerzdBpFtb4FPhbFAomE5QNC63U=
> =YtfU
> -----END PGP SIGNATURE-----
>
>
> _______________________________________________
> Dar-support mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/dar-support
>

_______________________________________________
Dar-support mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/dar-support
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.