Because of the good comments, I decided to give amanda community version a try instead of custom tape archiving scripts.

When I did a test with virtual tapes, all went well but now I try to apply it to a real taperobot scenario.

The problem is that I cannot label any tapes: (here I loaded tape from slot 23)

[[email protected] ~]$ amlabel set01 set01-23
Reading label...
Found an empty tape.
Writing label 'set01-23'...
Checking label...
Checking the tape label failed: Error reading Amanda header: Error reading 1048576 bytes from /dev/nst0: Device or resource busy

This error, I receive with any tape in the robot.

I can read and write with tar to the tapes without issues.

tape writer is /dev/nst0
tape robot is /dev/sg1

[[email protected] ~]$ mt -f /dev/nst0 status
SCSI 2 tape drive:
File number=0, block number=0, partition=0.
Tape block size 0 bytes. Density code 0x46 (LTO-4).
Soft error count since last status=0
General status bits on (41010000):

It seems that the next tape was loaded automatically after trying the amlabel on slot 23:

[[email protected] ~]$ mtx -f /dev/sg1 status
Storage Changer /dev/sg1:1 Drives, 24 Slots ( 0 Import/Export )
Data Transfer Element 0:Full (Storage Element 24 Loaded)
Storage Element 1:Full
Storage Element 2:Full
Storage Element 3:Full
Storage Element 4:Full
Storage Element 5:Full
Storage Element 6:Full
Storage Element 7:Full
Storage Element 8:Full
Storage Element 9:Full
Storage Element 10:Full
Storage Element 11:Full
Storage Element 12:Full
Storage Element 13:Full
Storage Element 14:Full
Storage Element 15:Full
Storage Element 16:Full
Storage Element 17:Full
Storage Element 18:Full
Storage Element 19:Full
Storage Element 20:Full
Storage Element 21:Full
Storage Element 22:Full
Storage Element 23:Full
Storage Element 24:Empty

In case it can be helpfull, this is my tape type as provided by the amtape command:

define tapetype LTO4 {
comment "SUN LTO4 (HP G3) Created by amtapetype; compression disabled"
length 794402368 kbytes
filemark 1416 kbytes
speed 77479 kps
#blocksize 64 kbytes
readblocksize 1m

Any advice to get the labeling correct? It seems that without labeling I cannot continue with the dumps and amcheck will always fail on the issue of the labeling.