2011-09-06 08:21 AM
I am looking for the best practices to align disks on a Windows 2003 R2-system with a SQL-server 2005 (virtualised on VMWare).
I am also looking for the stripe unit size, may'be I am to deep into it today that I can't find it right away.
As the underlying offset is 4KB on NetApp (am I right?), and the offset on a disk (located on a LUN) is for example 64KB (=best practice SQL server), is the disk thus mis-aligned or not?
Reporting error from Insight Balance tool: "This LUN's disk partition is not aligned with the underlying storage array. The backing storage for this LUN is a NetApp array which recommends alignment on 4KB boundaries. A misaligned LUN partition may impact performance and cause unnecessary load on the disks." So we can suppose that this error can result into high latency numbers. Is there a way I can detect the performance of the misaligned LUN, and afterwards, when realigned, to see an improvement or not... ?
As I can see in the Insight Balance tool, those disks are misaligned. How does Insight Balance tool measures this state?
Also, when i look into other LUN's, i can see that the status varies from "aligned" to "misaligned" to "unknown"?
I'll take it a little bit further, when looking at the LUN's, i can see to type of numbers, one that states "Vendor Recommended Alignment: 8/4" and one that states (for example) "Alignment Offset (blks/KB) 6/3". How do I need to understand that?
What is than the best practice to modify it?
If you look at the Avg. Response time of those misaligned LUN's, some are quite high. These response times are added to the response time of the host, in this case Windows 2003 R2 and SQL-server. So a read/write latency of more than 40ms, is not absurd in the case of misaligned LUN's...?
Thanks for your input!
An enthousiastic, new NetApp partner,
2011-09-06 08:51 AM
Hi and welcome to the Community!
Here is the doc which should help:
Best Practices for File System Alignment in Virtual Environments
I haven't used OnCommand Insight Balance, so cannot comment on its behaviour, but in general: yes, misalignment is a bad thing & can impact the performance.
In your example - 64k offset sounds OK to me, as it can be nicely divided by 4k; 62k or 66k would be a bad number though. The whole idea is to make sure asingle 4k block on NetApp sits within a single block on the host file sysytem, rather than spanning two adjacent blocks.
2011-09-06 10:14 AM
Fundamentally, you don't need to worry about mssql's chatter about stripe sizes and block sizes because these are irrelevant when you have your storage on NetApp. The most important thing is to get the ntfs filesystem aligned within the vmdk file for NFS and additionally that the LUN is setup as a vmware type lun and that the vmfs filesystem formatted with the correct offset (see the article included above) for LUN based storage. Most of the filesystem recommendations in mssql's docs are meant for simple disk arrays. Always follow the storage array's recommendations for filesystem alignment and you will be fine. The rest is just a matter of having enough disks for your I/O demands (operations per second are the primary concern since capacity is rarely a problem).
2011-09-07 04:38 AM
How can you detect if your LUN is misaligned? I know with MBR-tool, you can figure out if a VMDK is misaligned, but what about the LUN alignment?
If Insight Balance however states that LUN's are misaligned, then I'll need to correct them, but to make sure I am modifying the right misaligned LUN's, I need a way to discover them.
2011-09-07 05:38 AM
What OS type is the LUN configured on the NetApp side of things? And what is the starting offset of the partition (I believe you can get the starting offset from msinfo32)?
If you read the above TR, I believe it covers off a couple of different methods for detecting LUN misalignment, but if you created the LUNs with SnapDrive, then this will have fixed all the alignment for you.
2011-09-07 07:58 AM
on windows, please run this in a command line:
wmic partition get BlockSize, StartingOffset, Name, Index
should be evenly dividable with 4kb blocks, eg 32k, 64k or 1mb on windows 2008
you can check KB 1010803 at the netapp support page btw.
2011-09-08 04:19 AM
OK, so when i perform this, i have LUN's with correct offset and one with bad offset (so misaligned).
Is this the metric to decide weither it is alligned or not?
No more reactions on this?
2011-11-18 12:12 PM
Hi, I am the Product Manager for Insight Balance.
Insight Balance queries the partition offset directly from Windows, so if it thinks they are misaligned, they certainly are. However, you should go to the server page, and run the misaligned partitions report, which will detail which LUNs on the server are mis-aligned, and what the actual values are. Balance finds the misalignment, and ranks the report by the servers doing the most I/O, hence you should start with the servers are the top of the list.
Also go back and check al your VM templates, no point in making the problem worse. To remediate the misalignment, this is an offline operation, using something like mbralign.