We ran into this problem while doing disaster recovery. SCSI cards & backup drives auto-negotiate a block to talk to each other. This results in the tape being written in blocks of 64k or 128k. (other sizes are possible) When you try and restore a tape to a tape drive with a different block size the restore will FAIL very quickly and give an error like this:
3038813 Error:: FN 2 RN 0 read error more data is available when running scanner
scanner can tell you the block size the tape is written at:
C:\> scanner -vvv \\.\Tape0
scanner: Opened \\.\Tape0 for read
scanner: Rewinding...
scanner: Rewinding done
scanner: Reading the label...
scanner: Reading the label done
scanner: scanning dlt7000 tape Full.001 on \\.\Tape0
scanner: volume id 128186625 record size 65536
the last line is saying the block size is 64K
To change the default block size that legato WRITES at is a simple environment variable:
set NSR_DEV_BLOCK_SIZE_DLT7000=64
this is for a Dlt7000 and it changes as per the tape drive
It is harder to change the default block size that legato/scsi READS at because it is dependant on the scsi card.
changing the default READ block size on ADAPTEC ULTRA 160 SCSI card:
1. Run REGEDIT (the Registry Editor)
2. open:
\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\adpu160m
3. Create a key named Parameters (if it doesn't exist) by selecting from the menu:
Edit > New > Key and entering Parameters for Key Name.
4. Open the Parameters key and create a key named Device by selecting from the menu:
Edit > New > Key and entering Device for Key Name.
5. Open the Device key and create a DWORD named MaximumSGList by selecting from the menu:
Edit > New > DWORD and entering MaximumSGList for DWORD Name.
6. Open the MaximumSGList Value Name and replace the existing Value Data in Decimal with one of the values from (Table 6)
Table 6. Block Sizes
Block Size Decimal Value Hex Value
64k 17 decimal 11 hex
96k 25 decimal 19 hex
128k 33 decimal 21 hex
256k 65 decimal 41 hex
512k 129 decimal 81 hex
7. Close regedit and reboot the server.
8. Run the mt command to confirm that the maximum block size has changed.
Sample:
C:\>mt -f \\.\Tape1 status
\\.\Tape1:
Media Capacity = 15.20GByte
Media Remaining = 13.60GByte
Media Blocksize = 0
Media Partition Count = 0
Media is not write protected
default blocksize = 65536
maximum blocksize = 131072
minimum blocksize = 1
MaximumPartitionCount = 0
Partition = 0
Logical block position = 44815
EOTWarningZoneSize = 0
CompressionEnabled
Features: ...
it will be a different registry entry for different scsi cards.
Thanks to Debbie at Legato support for most of this info. If you are phoning Legato support with block size issues ask for her, she seems to be one of the few with a good grasp of it.
3038813 Error:: FN 2 RN 0 read error more data is available when running scanner
scanner can tell you the block size the tape is written at:
C:\> scanner -vvv \\.\Tape0
scanner: Opened \\.\Tape0 for read
scanner: Rewinding...
scanner: Rewinding done
scanner: Reading the label...
scanner: Reading the label done
scanner: scanning dlt7000 tape Full.001 on \\.\Tape0
scanner: volume id 128186625 record size 65536
the last line is saying the block size is 64K
To change the default block size that legato WRITES at is a simple environment variable:
set NSR_DEV_BLOCK_SIZE_DLT7000=64
this is for a Dlt7000 and it changes as per the tape drive
It is harder to change the default block size that legato/scsi READS at because it is dependant on the scsi card.
changing the default READ block size on ADAPTEC ULTRA 160 SCSI card:
1. Run REGEDIT (the Registry Editor)
2. open:
\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\adpu160m
3. Create a key named Parameters (if it doesn't exist) by selecting from the menu:
Edit > New > Key and entering Parameters for Key Name.
4. Open the Parameters key and create a key named Device by selecting from the menu:
Edit > New > Key and entering Device for Key Name.
5. Open the Device key and create a DWORD named MaximumSGList by selecting from the menu:
Edit > New > DWORD and entering MaximumSGList for DWORD Name.
6. Open the MaximumSGList Value Name and replace the existing Value Data in Decimal with one of the values from (Table 6)
Table 6. Block Sizes
Block Size Decimal Value Hex Value
64k 17 decimal 11 hex
96k 25 decimal 19 hex
128k 33 decimal 21 hex
256k 65 decimal 41 hex
512k 129 decimal 81 hex
7. Close regedit and reboot the server.
8. Run the mt command to confirm that the maximum block size has changed.
Sample:
C:\>mt -f \\.\Tape1 status
\\.\Tape1:
Media Capacity = 15.20GByte
Media Remaining = 13.60GByte
Media Blocksize = 0
Media Partition Count = 0
Media is not write protected
default blocksize = 65536
maximum blocksize = 131072
minimum blocksize = 1
MaximumPartitionCount = 0
Partition = 0
Logical block position = 44815
EOTWarningZoneSize = 0
CompressionEnabled
Features: ...
it will be a different registry entry for different scsi cards.
Thanks to Debbie at Legato support for most of this info. If you are phoning Legato support with block size issues ask for her, she seems to be one of the few with a good grasp of it.