Bacula-users

Re: [Bacula-users] Fatal error: Unable to write EOF

2011-11-17 08:36:03
Subject: Re: [Bacula-users] Fatal error: Unable to write EOF
From: Ghislain Escorne <Ghislain.Escorne AT ujf-grenoble DOT fr>
To: Dan Langille <dan AT langille DOT org>
Date: Thu, 17 Nov 2011 14:34:05 +0100
Le 17/11/2011 13:44, Dan Langille a écrit :
On Nov 17, 2011, at 4:46 AM, Ghislain Escorne wrote:

Hello !

I have bacula  Version: 5.2.1.
I want to backup datas on a autoloader quantum i80 with 2 drives.

What OS are you using?  That can affect the configuration.
root@backup1:~# uname -a
Linux backup1.obs.ujf-grenoble.fr 2.6.32-5-amd64 #1 SMP Mon Oct 3 03:59:20 UTC 2011 x86_64 GNU/Linux
root@backup1:~# more /etc/issue
Debian GNU/Linux 6.0 \n \l



The bacula test works correctly:
root@backup1:~# btape -c bacula-sd.conf /dev/nst0                                                                                            .
btape: btape.c:476 open device "Drive-i80-1" (/dev/nst0): OK
*test
...
We should be in file 5. I am at file 5. This is correct!
Do you wish to continue with the Autochanger test? (y/n): y
=== Autochanger test ===
The test autochanger worked!!

But when I run a job I have this mess :

15-Nov 23:33 backup1-sd JobId 3: Writing spooled data to Volume. Despooling 107,374,192,579 bytes …
I do this test :

root@backup1:~# btape -c bacula-sd.conf /dev/nst0
Tape block granularity is 1024 bytes.
btape: butil.c:290 Using device: "/dev/nst0" for writing.
17-Nov 11:14 btape JobId 0: 3301 Issuing autochanger "loaded? drive 0" command.
17-Nov 11:14 btape JobId 0: 3302 Autochanger "loaded? drive 0", result is Slot 1.
btape: btape.c:476 open device "Drive-i80-1" (/dev/nst0): OK
*fill

This command simulates Bacula writing to a tape.
It requires either one or two blank tapes, which it
will label and write.

If you have an autochanger configured, it will use
the tapes that are in slots 1 and 2, otherwise, you will
be prompted to insert the tapes when necessary.

It will print a status approximately
every 322 MB, and write an EOF every 1.000 G.  If you have
selected the simple test option, after writing the first tape
it will rewind it and re-read the last block written.

If you have selected the multiple tape test, when the first tape
fills, it will ask for a second, and after writing a few more
blocks, it will stop.  Then it will begin re-reading the
two tapes.

This may take a long time -- hours! ...

Do you want to run the simplified test (s) with one tape
or the complete multiple tape (m) test: (s/m) m
Multiple tape test selected.
Wrote Volume label for volume "TestVolume1".
Wrote Start of Session label.
 ....

Wrote block=2655000, file,blk=172,4499 VolBytes=171,279,295,488 rate=75.65 MB/s
Wrote block=2660000, file,blk=172,9499 VolBytes=171,601,855,488 rate=75.72 MB/s
Wrote block=2665000, file,blk=172,14499 VolBytes=171,924,415,488 rate=75.77 MB/s
Wrote block=2670000, file,blk=173,3999 VolBytes=172,246,975,488 rate=75.64 MB/s
Wrote block=2675000, file,blk=173,8999 VolBytes=172,569,535,488 rate=75.72 MB/s
Wrote block=2680000, file,blk=173,13999 VolBytes=172,892,095,488 rate=75.79 MB/s
Wrote block=2685000, file,blk=174,3499 VolBytes=173,214,655,488 rate=75.47 MB/s
11:52:38 Flush block, write EOF
Wrote block=2690000, file,blk=174,8499 VolBytes=173,537,215,488 rate=75.54 MB/s
Wrote block=2695000, file,blk=174,13499 VolBytes=173,859,775,488 rate=75.62 MB/s
17-Nov 11:52 btape JobId 0: Fatal error: Unable to write EOF. ERR=dev.c:1551 ioctl MTWEOF error on "Drive-i80-1" (/dev/nst0). ERR=Input/output error.

btape: btape.c:2708 Last block at: 174:15499 this_dev_block_num=15500
btape: btape.c:2743 End of tape 175:0. Volume Bytes=173,988,864,000. Write rate = 75.58 MB/s
17-Nov 11:52 btape JobId 0: End of medium on Volume "TestVolume1" Bytes=173,988,864,000 Blocks=2,697,000 at 17-Nov-2011 11:52.
17-Nov 11:52 btape JobId 0: Fatal error: Job 0 canceled.
btape: btape.c:2750 Cannot fixup device error. dev.c:1551 ioctl MTWEOF error on "Drive-i80-1" (/dev/nst0). ERR=Input/output error.

btape: btape.c:2283 Flush block failed.
btape: btape.c:2322 Not OK
btape: btape.c:2386 Wrote state file last_block_num1=15499 last_block_num2=0
btape: btape.c:2414 11:52:45: Error during test.
*q
btape: smartall.c:404 Orphaned buffer: btape 280 bytes at 1f46038 from jcr.c:360
btape: smartall.c:404 Orphaned buffer: btape 104 bytes at 1f5b398 from block.c:116
btape: smartall.c:404 Orphaned buffer: btape 64536 bytes at 1f8ce98 from block.c:128
btape: smartall.c:404 Orphaned buffer: btape 104 bytes at 1f5cf08 from block.c:141
btape: smartall.c:404 Orphaned buffer: btape 64536 bytes at 1f9cae8 from block.c:145
btape: smartall.c:404 Orphaned buffer: btape 104 bytes at 1f5cfa8 from block.c:141
btape: smartall.c:404 Orphaned buffer: btape 64536 bytes at 1fac738 from block.c:145
btape: smartall.c:404 Orphaned buffer: btape 104 bytes at 1f5d048 from block.c:141
btape: smartall.c:404 Orphaned buffer: btape 64536 bytes at 1fbc388 from block.c:145


The tape media status is Full.

What do you think about this option :

Hardware End of Medium = no ??


Do small local jobs work? When setting up a new install, I prefer to start small and increase job size later.

By small local, I mean back up the machine upon which the SD is located.  To keep things simple, do not use spooling for that job.*

It works.

15-Nov 23:56 backup1-sd JobId 3: Fatal error: Unable to write EOF. ERR=dev.c:1551 ioctl MTWEOF error on "Drive-i80-1" (/dev/nst0). ERR=Input/output error.

There's lots in Google about this error, but I stopped looking when I didn't locate a suggestion right away.

There were suggestions to activate a sleep in the mtx-changer file.  However, it seems that writing has already occurred by the time this error has occurred. The sleep command is usually added to let the tape mount full complete before writing starts.

I try this parameter :
Maximum Changer Wait = 6000


15-Nov 23:56 backup1-sd JobId 3: Fatal error: spool.c:302 Fatal append error on device "Drive-i80-1" (/dev/nst0): ERR=dev.c:1551 ioctl MTWEOF error on "Drive-i80-1" (/dev/nst0). ERR=Input/output error.

15-Nov 23:56 backup1-sd JobId 3: Despooling elapsed time = 00:21:43, Transfer rate = 82.40 M Bytes/second
15-Nov 23:56 backup1-sd JobId 3: Job write elapsed time = 06:49:12, Transfer rate = 17.47 M Bytes/second
15-Nov 23:56 backup1-fd JobId 3: Error: bsock.c:389 Write error sending 65536 bytes to Storage daemon:backup1:9103: ERR=Connection reset by peer
15-Nov 23:56 backup1-fd JobId 3: Fatal error: backup.c:1144 Network send error to SD. ERR=Connection reset by peer

 Usually, these errors indicate a network problem…. but with the error above, I think not.
Datas are transfered from spooldata to i80.


15-Nov 23:56 backup1-dir JobId 3: Error: Bacula backup1-dir 5.2.1 (30Oct11):

This is my conf :
Autochanger {
  Name = i80
  Device = Drive-i80-1, Drive-i80-2
  #Changer Command = "/home/kern/bacula/bin/mtx-changer %c %o %S %a %d"
  Changer Command = "/etc/bacula/mtx-changer %c %o %S %a %d"
                    # %c = changer device
                    # %o = command (unload|load|loaded|list|slots)
                    # %S = slot index (1-based)
                    # %a = archive device (i.e., /dev/sd* name for tape drive)
                    # %d = drive index (0-based)
  Changer Device = /dev/sg3
}

Device {
  Name = Drive-i80-1
  Drive Index = 0
  ##Device Type = Tape
  Media Type = LTO5
  Archive Device = /dev/nst0
  Autochanger = yes
  LabelMedia = no;
  AutomaticMount = yes;
  AlwaysOpen = yes;
#  RemovableMedia = yes;
#  RandomAccess = no;
  Spool Directory = /data/bacula/spool
After you get writes working, consider using different directories for each drive. I can't recall why or even if this is a good suggestion.
  Maximum Spool Size = 100 G  #
#  Autoselect = yes
  Maximum Changer Wait = 6000
  Alert Command = "sh -c 'tapeinfo -f %c |grep TapeAlert|cat'"
}


Device {
  Name = Drive-i80-2
  Drive Index = 1
##  Device Type = Tape
  Media Type = LTO5
  Archive Device = /dev/nst1
  Autochanger = yes
  LabelMedia = no;
  AutomaticMount = yes;
  AlwaysOpen = yes;
 # RemovableMedia = yes;
 # RandomAccess = no;
  Spool Directory = /data/bacula/spool
  Maximum Spool Size = 100 G  #
 # Autoselect = yes
  Maximum Changer Wait = 6000
  Alert Command = "sh -c 'tapeinfo -f %c |grep TapeAlert|cat'"
}






Thank you for your help

------------------------------------------------------------------------------
All the data continuously generated in your IT infrastructure
contains a definitive record of customers, application performance,
security threats, fraudulent activity, and more. Splunk takes this
data and makes sense of it. IT sense. And common sense.
http://p.sf.net/sfu/splunk-novd2d_______________________________________________
Bacula-users mailing list
Bacula-users AT lists.sourceforge DOT net
https://lists.sourceforge.net/lists/listinfo/bacula-users

-- 
Dan Langille - http://langille.org


------------------------------------------------------------------------------
All the data continuously generated in your IT infrastructure 
contains a definitive record of customers, application performance, 
security threats, fraudulent activity, and more. Splunk takes this 
data and makes sense of it. IT sense. And common sense.
http://p.sf.net/sfu/splunk-novd2d
_______________________________________________
Bacula-users mailing list
Bacula-users AT lists.sourceforge DOT net
https://lists.sourceforge.net/lists/listinfo/bacula-users
<Prev in Thread] Current Thread [Next in Thread>