This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

What does verify actually do?

I'm looking for some clarification on the verify process.

The documentation states that the verify process is "To verify the stream length written to the media and ensure that no blocks
were dropped during backup" and that "The Phase 2 backup verification job does not verify the integrity of
data. This phase only verifies that the backup was actually written to the media."

If the above statements are true, why does Netvault also read the datastream from one of my dr4100 appliances when it is verifying a tape? (the device activity screen clearly shows this happening as do interface utilization rates in my environment)

We have 2 dr4100s in our environment, one that is remote from the Netvault server and tape library and one that is local. We duplicate jobs from the remote to the local dr4100 and then data copy them with encryption from the local dr4100 to tape.

Lately, since upgrading to 11.2, Netvault has taken to reading the stream back from the remote dr4100 FOR RANDOM SEGMENTS, not the one which was used as source data when it wrote the backup it is comparing. If I look at the job history and see 4 segments in the backup, it is possible that 2 were read from each dr4100 or that all were read from one or the other. I can see no way to control this behavior, there are no setting in the job, the only thing declared is the source appliance, which I'd expect to be used for all functions.

  • Hi.
    The verify itself runs as a Phase 2 which reads the stream back from the device it was written to ensure the stream length is consistent with the backup.
    If it is reading back from DR then I would expect it to be verifying the data it wrote during the Phase 1 part of the job. But if it is reading the segments from both DRs, then it may be due to the backup being duplicated rather than data copied originally, and the streams in that case are interchangeable. There is an option to force verify to run locally though.
    You can enable this in: Change Settings->Verify->Always run verify locally.

    Try enabling this and let me know if it works for you in this case.
  • I was ready to say it worked but it worked on everything except 1 segment of 1 job. And that segment took 54 hours to verify.

    It is, as you said, a job that has been duplicated from a remote site. The real question becomes "If I've given the server a directive to verify locally, why would it ignore that directive once?"

    Is there enough debug information in the logs for support to take a look and figure out why it would ignore a setting?

    Thanks for the help.
  • My expirence is that verify does not check the data in binary (not like a checksum). It checks only if the backup stream has the same length that makes it for me pretty useless.
  • Hi
    You are correct in that assesment. It just verifies the stream length, not the data, so while it is giving you piece of mind that the streams match up, and you can draw conclusions that it is identical data, it still does not tell you that it IS identical data. That being said, I would say beyond the shadow of a doubt that if the stream is identical then the data is as well, but again, its not telling us that bit of info.