Comprehensive data protection for all workloads
mkretzer
Veeam Legend
Posts: 1145
Liked: 388 times
Joined: Dec 17, 2015 7:17 am
Contact:

Re: How do i disable Integrity Streams?

Post by mkretzer »

I will just ask MS devs. Lets see what they say about it...
mkretzer
Veeam Legend
Posts: 1145
Liked: 388 times
Joined: Dec 17, 2015 7:17 am
Contact:

Re: How do i disable Integrity Streams?

Post by mkretzer » 1 person likes this post

MS will respond to this thread shortly :-)
tsightler
VP, Product Management
Posts: 6011
Liked: 2843 times
Joined: Jun 05, 2009 12:57 pm
Full Name: Tom Sightler
Contact:

Re: How do i disable Integrity Streams?

Post by tsightler »

Sounds good. I've been racking my brain trying to remember if maybe I was actually using storage spaces at the time! :D
mkretzer
Veeam Legend
Posts: 1145
Liked: 388 times
Joined: Dec 17, 2015 7:17 am
Contact:

Re: How do i disable Integrity Streams?

Post by mkretzer »

Spoiler: you must have according to MS... :-)
Gostev
Chief Product Officer
Posts: 31544
Liked: 6715 times
Joined: Jan 01, 2006 1:01 am
Location: Baar, Switzerland
Contact:

Re: How do i disable Integrity Streams?

Post by Gostev »

This definitely can't be true: I saw ReFS detecting a storage corruption issue on a regular volume with Veeam backup files. I needed a screenshot of the Windows Event Log error for my presentation, and QC folks purposely corrupted some bits in VMDK to trigger one.
mkretzer
Veeam Legend
Posts: 1145
Liked: 388 times
Joined: Dec 17, 2015 7:17 am
Contact:

Re: How do i disable Integrity Streams?

Post by mkretzer »

Gostev, if what you say is true it would mean that ReFS would have to do backround IO on all data on the volume.

Our monitoring cannot see any backround IO when there is no backup running.

I could understand if it could detect files that are just beeing accessed but not files which are just are on the disk but not accessed...
Gostev
Chief Product Officer
Posts: 31544
Liked: 6715 times
Joined: Jan 01, 2006 1:01 am
Location: Baar, Switzerland
Contact:

Re: How do i disable Integrity Streams?

Post by Gostev »

All I'm saying is that data integrity checks do definitely work even on basic volumes (doesn't require Storage Spaces). I don't know when or how often the check is performed though.

But in any case, for me the biggest benefits of data integrity streams has always been performance benefits due to the change of I/O pattern that are beneficial for slow backup storage with poor random I/O capacity, which is what we see used most commonly by our SMB customers.
tsightler
VP, Product Management
Posts: 6011
Liked: 2843 times
Joined: Jun 05, 2009 12:57 pm
Full Name: Tom Sightler
Contact:

Re: How do i disable Integrity Streams?

Post by tsightler »

Well, there's no doubt that simply reading the file can generate the event log error message. I've definitely seen events created during, for example, Veeam health checks when there was active corruption in a tested file, even on simple volumes.

But I think @mkretzer is talking more about a background scrub to detect corruption. Honestly, a simple script that just walked the directories and read every file should be enough.
mkretzer
Veeam Legend
Posts: 1145
Liked: 388 times
Joined: Dec 17, 2015 7:17 am
Contact:

Re: How do i disable Integrity Streams?

Post by mkretzer »

Yes, thats what i meant. 30 % better performance sounds good if there is no big benefit - in know the IO pattern changes then, at least it is an option without a big risk missing corruption if that is really true....
soncscy
Veteran
Posts: 643
Liked: 312 times
Joined: Aug 04, 2019 2:57 pm
Full Name: Harvey
Contact:

Re: How do i disable Integrity Streams?

Post by soncscy » 1 person likes this post

https://docs.microsoft.com/en-us/window ... y-scrubber

Isn't this the automated process being talked about? There should be a scheduled task running every so often to catch this issues on ReFS in the background, regardless of the volume type.
mkretzer
Veeam Legend
Posts: 1145
Liked: 388 times
Joined: Dec 17, 2015 7:17 am
Contact:

Re: How do i disable Integrity Streams?

Post by mkretzer »

@soncscy yes thats what i am talking about.

But: Did you ever see the process taking more than a few seconds? We have 600 TB of ReFS on our primary system, nearly full. For the scan to work at 100 MB/s (single stream i guess, slow rotating media) the scan would take 69 days. I see no IO whatsoever when there are no backups running.

This leaves two options:
- Eighter i am right (as microsoft ReFS devs have confirmed and hopefully will write a statement here) and integrity scan does nothing on non-storagespace volumes - this means integrity streams does not have any benefit on ReFS other than altering the IO pattern which might bring some kind of benefit - or not
- Or my servers behave incorrectly and i need to open a ticket with MS

Markus
Larissa@MSFT
Technology Partner
Posts: 4
Liked: 8 times
Joined: May 11, 2020 5:58 pm
Full Name: Larissa Knight
Contact:

Re: How do i disable Integrity Streams?

Post by Larissa@MSFT » 1 person likes this post

DISCLAIMER: I work for Microsoft as a Program Manager on the Storage and File Systems team - specifically ReFS.

First, thank you all for using ReFS and sharing your feedback! It’s always great to hear first-hand user experience and areas for improvement. I wanted to follow up on a few topics that have been discussed on this thread:

ReFS Integrity Streams provide data integrity. When enabled, it computes and stores data checksums on write and validates data against stored checksums on read. This functionality can be enabled irrespective of the physical media backing the ReFS volume.

If ReFS is on top of resilient Windows Storage Spaces (i.e. Mirror, Parity), ReFS will periodically scrub data with integrity checksums to detect and correct corruption. This scrub function is a monthly scheduled task named “Data Integrity Scan”. On non resilient media, or non-Windows Storage Spaces media this functionality is unavailable.

As Mkretzer mentioned, if an application maintains its own data checksums, and is not on resilient Windows Storage Spaces media, ReFS integrity streams do not provide any additional benefit over regular (non-integrity) streams.

As Gostev mentioned, when ReFS is on a non-resilient/simple Storage Space or bare drive, ReFS Integrity Streams will detect data corruption on read, log an event, but would not be able to correct it.

Therefore, ReFS Integrity Streams work best with mirrored or parity Storage Spaces.

I’m considering a Blog post to cover this in more detail, but feel free to ask any further questions you might have.
mkretzer
Veeam Legend
Posts: 1145
Liked: 388 times
Joined: Dec 17, 2015 7:17 am
Contact:

Re: How do i disable Integrity Streams?

Post by mkretzer » 1 person likes this post

Larissa,

thank you very much for the clarification. Gostev mentioned a change in IO pattern caused by enabling integrity streams for files.

Is there a way to get this "benefit" without the additional load caused by integrity streams enabled?

Markus
Larissa@MSFT
Technology Partner
Posts: 4
Liked: 8 times
Joined: May 11, 2020 5:58 pm
Full Name: Larissa Knight
Contact:

Re: How do i disable Integrity Streams?

Post by Larissa@MSFT » 4 people like this post

When Integrity Streams are enabled, any overwrite becomes a copy-on-write operation which changes the IO pattern. When Integrity Streams are not enabled, any overwrite is performed in place and does not change the IO pattern.

Copy-on-write operations have additional costs:
1.Pathlength - Modifying metadata, allocation in IO codepath.
2.IOPS - dirty metadata, and log records have to be written onto the disk.

Whether the changed IO pattern justifies the cost fundamentally depends on the type of media ReFS is on. We are unable to make blanket recommendation one way or the other.
Larissa@MSFT
Technology Partner
Posts: 4
Liked: 8 times
Joined: May 11, 2020 5:58 pm
Full Name: Larissa Knight
Contact:

Re: How do i disable Integrity Streams?

Post by Larissa@MSFT » 1 person likes this post

Larissa@MSFT wrote: Mar 06, 2021 2:22 am DISCLAIMER: I work for Microsoft as a Program Manager on the Storage and File Systems team - specifically ReFS.

First, thank you all for using ReFS and sharing your feedback! It’s always great to hear first-hand user experience and areas for improvement. I wanted to follow up on a few topics that have been discussed on this thread:

ReFS Integrity Streams provide data integrity. When enabled, it computes and stores data checksums on write and validates data against stored checksums on read. This functionality can be enabled irrespective of the physical media backing the ReFS volume.

If ReFS is on top of resilient Windows Storage Spaces (i.e. Mirror, Parity), ReFS will periodically scrub data with integrity checksums to detect and correct corruption. This scrub function is a monthly scheduled task named “Data Integrity Scan”. On non resilient media, or non-Windows Storage Spaces media this functionality is unavailable.

As Mkretzer mentioned, if an application maintains its own data checksums, and is not on resilient Windows Storage Spaces media, ReFS integrity streams do not provide any additional benefit over regular (non-integrity) streams.

As Gostev mentioned, when ReFS is on a non-resilient/simple Storage Space or bare drive, ReFS Integrity Streams will detect data corruption on read, log an event, but would not be able to correct it.

Therefore, ReFS Integrity Streams work best with mirrored or parity Storage Spaces.

I’m considering a Blog post to cover this in more detail, but feel free to ask any further questions you might have.
Also something to note is ReFS prefers to update in-place when possible. Update in-place does not have any additional metadata cost and is the normal codepath for non-integrity streams.
So when Integrity Streams are enabled, any overwrite becomes a copy-on-write operation.
yara12
Service Provider
Posts: 13
Liked: 2 times
Joined: Oct 25, 2018 11:33 am
Full Name: Yaroslav
Contact:

Re: How do i disable Integrity Streams?

Post by yara12 »

In the description of what's new in 11 Veeam it is mentioned about creating a key in the registry, but I don't find something in the docs:
• Disable ReFS integrity streams - You can now disable ReFS integrity streams for Veeam backup files
using the DisableRefsIntegrityStreams (DWORD, 1) registry value on the backup server. While we do not
recommend disabling integrity streams because data integrity is paramount in data protection, some
customers insisted on having the ability to control this setting to improve performance.
Question: Which is the path for this key?
veremin
Product Manager
Posts: 20284
Liked: 2258 times
Joined: Oct 26, 2012 3:28 pm
Full Name: Vladimir Eremin
Contact:

Re: How do i disable Integrity Streams?

Post by veremin » 1 person likes this post

All Veeam Backup & Replication registry keys should go to the standard HKLM\SOFTWARE\Veeam\Veeam Backup and Replication hive, unless specifically stated otherwise. Thanks!
yara12
Service Provider
Posts: 13
Liked: 2 times
Joined: Oct 25, 2018 11:33 am
Full Name: Yaroslav
Contact:

Re: How do i disable Integrity Streams?

Post by yara12 »

One more question)
HKLM\SOFTWARE\Veeam\Veeam Backup and Replication on VBR or on Repo Server?
What about case of using cloud connect server - is this parameter passed from the tenant?
veremin
Product Manager
Posts: 20284
Liked: 2258 times
Joined: Oct 26, 2012 3:28 pm
Full Name: Vladimir Eremin
Contact:

Re: How do i disable Integrity Streams?

Post by veremin » 1 person likes this post

On the backup server, and yes it works for CC deployments as well:
Disable ReFS integrity streams - You can now disable ReFS integrity streams for Veeam backup files using the DisableRefsIntegrityStreams (DWORD, 1) registry value on the backup server.
Thanks!
Post Reply

Who is online

Users browsing this forum: john_wood and 66 guests