Comprehensive data protection for all workloads
Post Reply
nokogerra
Enthusiast
Posts: 48
Liked: 4 times
Joined: Sep 09, 2015 3:12 am
Full Name: Anatoliy Kopylov
Contact:

LSI read ahead best practice

Post by nokogerra »

Hello there.

I was looking for RAID controller configuration best practices for using it as Veeam Backup Repository, however I couldn't find any. Actually now I'm interested in LSI controller option "Read ahead", which can be described with the following statement:

"The RAID controller will read the whole stripe containing the requested data block and will keep it in cache. Each read operation will consume more hard drive resources, but if the read requests are primarily sequential it can substantially reduce the amount of read requests to the hard drives and can substantially increase performance.

Note: This setting will only make difference if the typical read request size is smaller than the stripe width."


So I'm not sure if Veeam B&R treats data sequentially, escpecially considering synthetic operations and data deduplication. The stripe size of RAID array is also a thing, cause the recommended stripe size by a vendor is 256 KB, but I don't know Veeam's average request size. If it is bigger than 256 KB, then "Read ahead" option will be useless.

All I could find is Cisco document about Veeam availability Suite, which recommends to use "Read ahead" option without any decent explanation: https://www.cisco.com/c/dam/en/us/solut ... 739852.pdf.

Is there any best practice from Veeam about this RAID controller option?
HannesK
Product Manager
Posts: 14287
Liked: 2877 times
Joined: Sep 01, 2014 11:46 am
Full Name: Hannes Kasparick
Location: Austria
Contact:

Re: LSI read ahead best practice

Post by HannesK »

Hello,
the document you quote from was created together with us. So that's the best practice from our side (also for read ahead).

With 256KB stripe size it has the same value as the best practice guide (128 / 256KB)

Veeam support uses commands from KB2014 so you could simulate backup IO on your own, but as said, the whitepaper is the best practice.

Best regards,
Hannes
nokogerra
Enthusiast
Posts: 48
Liked: 4 times
Joined: Sep 09, 2015 3:12 am
Full Name: Anatoliy Kopylov
Contact:

Re: LSI read ahead best practice

Post by nokogerra »

Hello HannesK.

Ths point of the alignment itself is pretty clear, but some recommendations look pretty weird:

1. Quote from best practice guide: "Tip: As can be seen from the field, optimal value for the stripe size is often between 128 KB and 256 KB; however. It is highly recommended to test this prior to deployment whenever possible."
Why so? The default block size is about 512 KB (well, after compression), why should I use 128 or 256 KB stipe size? I will get split I/O on 4 operations in case of 128 KB stripe and split on 2 operations in case of 256 KB stripe. Why not use 512 KB or even 1 MB stripe size?

2. Recommendation to enable read ahead looks totally useless in case of 128 KB, 256 or even 512 KB stripe size. This option force controller to read the whole stripe, where the needed data is located, and put all data of the stripe in the cache, so if the data treatment is sequential, then we will get som performance profit. But Veeam average request size is about 512 KB, so the whole stripe will be read anyway with or without "read ahead" option:
"Note: This setting will only make difference if the typical read request size is smaller than the stripe width.""
HannesK
Product Manager
Posts: 14287
Liked: 2877 times
Joined: Sep 01, 2014 11:46 am
Full Name: Hannes Kasparick
Location: Austria
Contact:

Re: LSI read ahead best practice

Post by HannesK »

Hello Anatoliy,
why should I use 128 or 256 KB stipe size?
because there are also metadata updates which are smaller (around 4k).

@2: I did not do the tests but I hope that the guys who did the tests did a good job (at least I hope so :-))

Best regards,
Hannes
Post Reply

Who is online

Users browsing this forum: Google [Bot] and 172 guests