Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations bkrike on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

SCSI block size problems and SOLUTION! 2

Status
Not open for further replies.

WhiteWiz

MIS
Jan 29, 2001
113
CA
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.
 
Different OS's support different blocksizes. NT is typically limited to 64k, because that is all it understands (thanks MS). Some device drivers for newer tape drives (9840/LTO) will handle this for you I believe.

I have changed the blocksize for NT before to read some unix written tapes, unix will use almost any blocksize. Also this was/is outlined in the manuals somewhere either the admin guide or the performance tuning guide (But only for Adaptec cards).

 
A few more notes:
the registry hack will need to be done once for EVERY scsi card that you have a tape device attached to.
The registry entry is based on the name of the driver the scsi card is using.
To find the driver that the card is using open device manager, properties of the scsi card, driver tab, driver details.
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top