This does seem to be working.  I installed the VS160 drivers from the 
Quantum site, and WinBacula 2.0.3.    Here is some more info with 
comments and questions in parens:

My storage Device def:

Device {
  Name = VS160                       #
  Media Type = VS160
  Device Type = Tape
  Archive Device = Tape0
  AutomaticMount = yes               # when device opened, read it
  AlwaysOpen = yes
  RemovableMedia = yes
  RandomAccess = no
  Alert Command = "tapeinfo -f Tape0 | findstr TapeAlert"
}

(The "Alert Command" doesn't work. The error is:
10-Apr 11:33 kestrel-sd: Alert: cannot open SCSI device 'Tape0' - 
Permission denied
10-Apr 11:33 kestrel-sd: 3997 Bad alert command: tapeinfo -f Tape0 | 
findstr TapeAlert: ERR=Unknown error.
If I issue the command manually it fails unless I stop the SD first:)

C:\Documents and Settings\jeff.KESTREL>"c:\Program 
Files\Bacula\bin"\tapeinfo -f Tape0
cannot open SCSI device 'Tape0' - Permission denied

C:\Documents and Settings\jeff.KESTREL>"c:\Program 
Files\Bacula\bin"\tapeinfo -f Tape0
Product Type: Tape Drive
Vendor ID: 'IBM     '
Product ID: 'VS160           '
Revision: '2300'
Attached Changer API: No
SerialNumber: 'PHJ5G04594'
MinBlock:2
MaxBlock:16777214
SCSI ID: 0
SCSI LUN: 0
Ready: yes
BufferedMode: yes
Medium Type: 0x90
Density Code: 0x50
BlockSize: 0
DataCompEnabled: yes
DataCompCapable: yes
DataDeCompEnabled: yes
CompType: 0x10
DeCompType: 0x10
Block Position: 7077
ActivePartition: 0
EarlyWarningSize: 0
NumPartitions:0
MaxPartitions:0

C:\Documents and Settings\jeff.KESTREL>

(The docs say something about defining a changer resource for the scsi 
generic device to point the Tape Alert command at even on non-changer 
systems.. how would this go on Windows?)

(I ran the btape test... Here is the output:)


C:\Program Files\Bacula\bin>tapeinfo -f Tape0
Product Type: Tape Drive
Vendor ID: 'IBM     '
Product ID: 'VS160           '
Revision: '2300'
Attached Changer API: No
SerialNumber: 'PHJ5G04594'
MinBlock:2
MaxBlock:16777214
SCSI ID: 0
SCSI LUN: 0
Ready: yes
BufferedMode: yes
Medium Type: 0x90
Density Code: 0x50
BlockSize: 0
DataCompEnabled: yes
DataCompCapable: yes
DataDeCompEnabled: yes
CompType: 0x10
DeCompType: 0x10
BOP: yes
Block Position: 0
ActivePartition: 0
EarlyWarningSize: 0
NumPartitions:0
MaxPartitions:0

(Note that blocksize=0 and compression enabled are the defaults)

C:\Program Files\Bacula\bin>btape -c "\Documents and Settings\All 
Users\Applicat
ion Data\Bacula\bacula-sd.conf" Tape0
Tape block granularity is 1024 bytes.
btape: ../../stored/butil.c:286 Using device: "Tape0" for writing.
btape: ../../stored/btape.c:368 open device "VS160" (Tape0): OK
*test

=== Write, rewind, and re-read test ===

I'm going to write 1000 records and an EOF
then write 1000 records and an EOF, then rewind,
and re-read the data to verify that it is correct.

This is an *essential* feature ...

btape: ../../stored/btape.c:825 Wrote 1000 blocks of 64412 bytes.
btape: ../../stored/btape.c:499 Wrote 1 EOF to "VS160" (Tape0)
btape: ../../stored/btape.c:841 Wrote 1000 blocks of 64412 bytes.
btape: ../../stored/btape.c:499 Wrote 1 EOF to "VS160" (Tape0)
btape: ../../stored/btape.c:850 Rewind OK.
1000 blocks re-read correctly.
Got EOF on tape.
1000 blocks re-read correctly.
=== Test Succeeded. End Write, rewind, and re-read test ===


=== Write, rewind, and position test ===

I'm going to write 1000 records and an EOF
then write 1000 records and an EOF, then rewind,
and position to a few blocks and verify that it is correct.

This is an *essential* feature ...

btape: ../../stored/btape.c:937 Wrote 1000 blocks of 64412 bytes.
btape: ../../stored/btape.c:499 Wrote 1 EOF to "VS160" (Tape0)
btape: ../../stored/btape.c:953 Wrote 1000 blocks of 64412 bytes.
btape: ../../stored/btape.c:499 Wrote 1 EOF to "VS160" (Tape0)
btape: ../../stored/btape.c:962 Rewind OK.
Reposition to file:block 0:4
Block 5 re-read correctly.
Reposition to file:block 0:200
Block 201 re-read correctly.
Reposition to file:block 0:999
Block 1000 re-read correctly.
Reposition to file:block 1:0
Block 1001 re-read correctly.
Reposition to file:block 1:600
Block 1601 re-read correctly.
Reposition to file:block 1:999
Block 2000 re-read correctly.
=== Test Succeeded. End Write, rewind, and re-read test ===



=== Append files test ===

This test is essential to Bacula.

I'm going to write one record  in file 0,
                   two records in file 1,
             and three records in file 2

btape: ../../stored/btape.c:469 Rewound "VS160" (Tape0)
btape: ../../stored/btape.c:1571 Wrote one record of 64412 bytes.
btape: ../../stored/btape.c:1573 Wrote block to device.
btape: ../../stored/btape.c:499 Wrote 1 EOF to "VS160" (Tape0)
btape: ../../stored/btape.c:1571 Wrote one record of 64412 bytes.
btape: ../../stored/btape.c:1573 Wrote block to device.
btape: ../../stored/btape.c:1571 Wrote one record of 64412 bytes.
btape: ../../stored/btape.c:1573 Wrote block to device.
btape: ../../stored/btape.c:499 Wrote 1 EOF to "VS160" (Tape0)
btape: ../../stored/btape.c:1571 Wrote one record of 64412 bytes.
btape: ../../stored/btape.c:1573 Wrote block to device.
btape: ../../stored/btape.c:1571 Wrote one record of 64412 bytes.
btape: ../../stored/btape.c:1573 Wrote block to device.
btape: ../../stored/btape.c:1571 Wrote one record of 64412 bytes.
btape: ../../stored/btape.c:1573 Wrote block to device.
btape: ../../stored/btape.c:499 Wrote 1 EOF to "VS160" (Tape0)
btape: ../../stored/btape.c:368 open device "VS160" (Tape0): OK
btape: ../../stored/btape.c:469 Rewound "VS160" (Tape0)
btape: ../../stored/btape.c:1091 Now moving to end of medium.
btape: ../../stored/btape.c:520 Moved to end of medium.
We should be in file 3. I am at file 3. This is correct!

Now the important part, I am going to attempt to append to the tape.

btape: ../../stored/btape.c:1571 Wrote one record of 64412 bytes.
btape: ../../stored/btape.c:1573 Wrote block to device.
btape: ../../stored/btape.c:499 Wrote 1 EOF to "VS160" (Tape0)
btape: ../../stored/btape.c:469 Rewound "VS160" (Tape0)
Done appending, there should be no I/O errors

Doing Bacula scan of blocks:
1 block of 64448 bytes in file 1
End of File mark.
2 blocks of 64448 bytes in file 2
End of File mark.
3 blocks of 64448 bytes in file 3
End of File mark.
1 block of 64448 bytes in file 4
End of File mark.
Total files=4, blocks=7, bytes = 451,136
End scanning the tape.
We should be in file 4. I am at file 4. This is correct!

The above Bacula scan should have output identical to what follows.
Please double check it ...
=== Sample correct output ===
1 block of 64448 bytes in file 1
End of File mark.
2 blocks of 64448 bytes in file 2
End of File mark.
3 blocks of 64448 bytes in file 3
End of File mark.
1 block of 64448 bytes in file 4
End of File mark.
Total files=4, blocks=7, bytes = 451,136
=== End sample correct output ===

If the above scan output is not identical to the
sample output, you MUST correct the problem
or Bacula will not be able to write multiple Jobs to
the tape.


=== Write, backup, and re-read test ===

I'm going to write three records and an EOF
then backup over the EOF and re-read the last record.
Bacula does this after writing the last block on the
tape to verify that the block was written correctly.

This is not an *essential* feature ...

btape: ../../stored/btape.c:469 Rewound "VS160" (Tape0)
btape: ../../stored/btape.c:704 Wrote first record of 64412 bytes.
btape: ../../stored/btape.c:715 Wrote second record of 64412 bytes.
btape: ../../stored/btape.c:726 Wrote third record of 64412 bytes.
btape: ../../stored/btape.c:499 Wrote 1 EOF to "VS160" (Tape0)
btape: ../../stored/btape.c:742 Backspaced over EOF OK.
btape: ../../stored/btape.c:747 Backspace record OK.
btape: ../../stored/btape.c:765
Block re-read correct. Test succeeded!
=== End Write, backup, and re-read test ===



=== Forward space files test ===

This test is essential to Bacula.

I'm going to write five files then test forward spacing

btape: ../../stored/btape.c:469 Rewound "VS160" (Tape0)
btape: ../../stored/btape.c:1571 Wrote one record of 64412 bytes.
btape: ../../stored/btape.c:1573 Wrote block to device.
btape: ../../stored/btape.c:499 Wrote 1 EOF to "VS160" (Tape0)
btape: ../../stored/btape.c:1571 Wrote one record of 64412 bytes.
btape: ../../stored/btape.c:1573 Wrote block to device.
btape: ../../stored/btape.c:1571 Wrote one record of 64412 bytes.
btape: ../../stored/btape.c:1573 Wrote block to device.
btape: ../../stored/btape.c:499 Wrote 1 EOF to "VS160" (Tape0)
btape: ../../stored/btape.c:1571 Wrote one record of 64412 bytes.
btape: ../../stored/btape.c:1573 Wrote block to device.
btape: ../../stored/btape.c:1571 Wrote one record of 64412 bytes.
btape: ../../stored/btape.c:1573 Wrote block to device.
btape: ../../stored/btape.c:1571 Wrote one record of 64412 bytes.
btape: ../../stored/btape.c:1573 Wrote block to device.
btape: ../../stored/btape.c:499 Wrote 1 EOF to "VS160" (Tape0)
btape: ../../stored/btape.c:1571 Wrote one record of 64412 bytes.
btape: ../../stored/btape.c:1573 Wrote block to device.
btape: ../../stored/btape.c:1571 Wrote one record of 64412 bytes.
btape: ../../stored/btape.c:1573 Wrote block to device.
btape: ../../stored/btape.c:499 Wrote 1 EOF to "VS160" (Tape0)
btape: ../../stored/btape.c:1571 Wrote one record of 64412 bytes.
btape: ../../stored/btape.c:1573 Wrote block to device.
btape: ../../stored/btape.c:499 Wrote 1 EOF to "VS160" (Tape0)
btape: ../../stored/btape.c:469 Rewound "VS160" (Tape0)
btape: ../../stored/btape.c:1305 Now forward spacing 1 file.
We should be in file 1. I am at file 1. This is correct!
btape: ../../stored/btape.c:1317 Now forward spacing 2 files.
We should be in file 3. I am at file 3. This is correct!
btape: ../../stored/btape.c:469 Rewound "VS160" (Tape0)
btape: ../../stored/btape.c:1330 Now forward spacing 4 files.
We should be in file 4. I am at file 4. This is correct!

btape: ../../stored/btape.c:1348 Now forward spacing 1 more file.
We should be in file 5. I am at file 5. This is correct!

=== End Forward space files test ===

*

{It looks good to me!)

(Finally I ran a couple of backup jobs. using a test pool defined on 
this device.  They seemed to work fine.  Next to test spooling, and 
[most interesting to me,] migration!)

Jeff Dickens wrote:
> Has anyone been using tape drives on a Windows-based sd ?  I've had to 
> remove the tape drive from the system where my director and main 
> disk-based sd lives.  I have a Windows system handy with a Gigabit 
> connection, and it occurred to me this might be a good place to put the 
> tape drive.
>
> It's a Quantum VS160 ultra-scsi dlt drive, fwiw.  I have a dedicated 
> controller card for it too.
>
>
>
>
> -------------------------------------------------------------------------
> Take Surveys. Earn Cash. Influence the Future of IT
> Join SourceForge.net's Techsay panel and you'll get the chance to share your
> opinions on IT & business topics through brief surveys-and earn cash
> http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
> _______________________________________________
> Bacula-users mailing list
> Bacula-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/bacula-users
>
>
>   

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Bacula-users mailing list
Bacula-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bacula-users

Reply via email to