LBProtect (Logical Block Protection

ldmwndletsm

ADSM.ORG Senior Member
Joined
Oct 30, 2019
Messages
232
Reaction score
5
Points
0
PREDATAR Control23

Not sure which forum to post this under? I hunted around, and there was only one, old post from 2014 (https://adsm.org/forum/index.php?threads/experience-with-logical-block-protection.28852/) where someone inquired about this parameter for the device class, but there was essentially no answer. There are a number of other posts where the term appears but only where its referenced in the configuration settings that the poster provided.

QUESTION: What is the difference between the LBProtect device class parameter and the built-in CRC and/or error checking already performed by LTO drives? What is this device class parameter giving you that the drive isn't already doing? Is anyone using this feature?

I know LTO drives perform error checks when writing data to the tape wherein its read back and validated. The type of CRC algorithm may depend on the LTO generation. I don't know about restoring data, and/or if the CRCs are stored on the tape or how the logical block protection works with LTO drives. I haven't looked at any of the nitty-gritty of the algorithms performed by these drives in any drive or SCSI documentation, and I haven't been able to find much in any online dicussions concerning this. We're using TSM 8.1.3 and LTO-6 tape drives.

Is it possibly the case that this feature is somehow enhanced over what the drives already do by default? Or maybe the drives have the ability to do a higher level of protection (than what they would otherwise do), but it has to be done via an application like TSM, assuming the drive supports it?

IBM has a document (http://www-01.ibm.com/support/docview.wss?uid=swg21568108) wherein they state that logical block protection is supported on the following drive types (as listed in the document), but that you must upgrade the firmware to a revision that has the logical block protection support, and that if using IBM drives that a particular IBM device drive version is required. It's still fuzzy, though, about what this device class parameter does if the drive already has the support? I guess I'm just confused?
 
PREDATAR Control23

Thanks, I'd read a number of these, but I missed that last link that you noted. That did have some additional useful information. :)

Still, I can't seem to find anything that really illustrates what this parameter does that's above and beyond what the drive would do anyway? However, if you didn't turn it on from TSM then maybe you might not know or find out even though the drive might have detected it?
 
PREDATAR Control23

The key sentence is:
The LBProtect option is basically equivalent to CRC checking (along with some performance degradation) but instead of client to server it is server to tape drive.
I assume that means there there is some type of hash comparison done between the server and the drives after each write.

The server knows what it sent to the drive. The drive only knows what it received, but that's not necessarily what the server sent. This would ensure that what the server sent is what the drive wrote to tape, along with the performance degradation that comes with it.
 
PREDATAR Control23

Bottom line, it's not recommended unless you have a bad SAN according to that technote.
 
PREDATAR Control23

It also remains to be seen what happens when you recover data, and the CRC doesn't match. If it considers it corrupted and fails to restore the data (never mind whether it continues with the next file and so on and so forth) then that could be undesirable as there could be circumstances wherein recovering something might be better than nothing, e.g. a text file wherein only one bit was altered.

I guess I thought it was storing the CRCs on the tape, and these would be compared during a recover or tape audit. The documentation for define stgpool says that " ... logical block protection provides better protection against data corruption than CRC validation for a storage pool." This tells me that it's storing the CRCs on there, but then this raises the question of what would happen if it didn't match when it goes to read the data later down the road.
 
Top