Basics – Auto media verify

Despite being such a useful feature, it’s surprising how often I see the auto media verify setting disabled across all pools on a customer site. This, I think is a disappointing reflection on the fact that the setting isn’t enabled by default. All default pools that come with NetWorker, and any new pool created does not have this setting turned on.

While we can’t change this setting for the default pools, any new pool can have the setting changed, and that’s a good thing.

So, before I go further, what does it mean? Well, referring to the man page for nsr_pool, we see the description as follows:

auto media verify   (read/write, yes/no, choice)

If  set  to yes, NetWorker verifies data written to volumes from this pool.  Data is verified by  re-positioning  the  volume  to read  a  portion of the data previously written to the media and comparing the data read to the original data  written.   If  the data  read matches the data written, verification succeeds; otherwise it fails.  Media is verified whenever  a  volume  becomes full  while  saving and it is necessary to continue onto another volume, or when a volume goes idle because all save  sets  being written to the volume are complete.  When a volume fails verification, it is marked full so NetWorker will not select the  volume for future saves.  The volume remains full until it is recycled or a user marks it not full.  If a volume  fails  verification  while  attempting to switch volumes, all save sets writing to the volume are terminated.

So, what this means is that at points where a volume in a device is no longer being actively written to – i.e., when it’s either full, or it’s idle because writing has ceased, NetWorker will go back and re-read a chunk of the data to make sure that it matches the original data written. (I’ve always been told this is checksum based, for what it’s worth, not a re-read of data from the client.)

If you’re not quite sure yet what the advantage of this is, it’s that it gives us a little more surety that the backups we’re writing are readable. Since this only occurs at natural pause points anyway, the actual performance impact on the backup process is quite negligible.

If you’re unsure where this setting is within NMC, you can view/set it when appraising the properties for any individual pool. This resembles the following:

Auto Media Verification Setting
Auto Media Verification Setting

So, where should you set this? Should you enable it on all pools?

There’s two schools of thoughts on this. These are:

  • Turn it on for all pools for maximum verification.
  • Turn it on for all final pools.

In the first pass, the notion is to perform auto media verification at all times, regardless of any other processes that may occur against the data. In the second instance though, the theory is that any pool that you backup to but subsequently clone doesn’t need auto media verification, since a rather complete media verification will be conducted when you clone from the volume previously backed up to.

Where do I stand? I must say I lean more these days towards enabling auto media verification for all pools that are written to, regardless of whether they are subsequently cloned, for one simple reason: there’s a time delay between when a saveset is generated and when it is cloned. Therefore in order to detect saveset failures as soon as possible, I think it’s better to use auto media verification both for the originals and the clones.

Ultimately the choice to enable auto media verification is one that each site has to make, but given the relatively negligible performance impact of enabling auto media verification to me, personally, it’s a no-brainer.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.