MSA Storage
1748252 Members
3969 Online
108760 Solutions
New Discussion юеВ

MSA1000 and Partition alignment

 
SOLVED
Go to solution
Diego Castelli
Trusted Contributor

MSA1000 and Partition alignment

Hi all,
complicated question here, i need a very good disks expert... This is my challenge ;-)

I'm trying to configure partition alignment on a MSA 1000 fw 7.20 Active/Active dual controller 512MB cache per controller.

attached chassis fully populated.
2x msa30 shelf fully populated.
__________________________________
total: 42 Disks

I'm following these specs:
http://msdn.microsoft.com/en-us/library/dd758814%28v=sql.100%29.aspx

and i noticed a thing on most of the LUNs:
on MSA1000 (ACU)
-stripe unit size: 128KB
-sectors: 32

on windows
-cluster size: 128KB
-partition offset: 128KB

dmdiag reveal a strange thing:

---------- Partition Table Info Disk 2 ----------


8,855 Cylinders
255 Tracks/Cylinder
63 Sectors/Track
512 Bytes/Sector
12 MediaType
142,255,575 Sectors (total)
72,834,854,400 Bytes (total)
71,127,788 KB
69,461 MB
67.8 GB

0 StartingOffset
72,837,857,280 PartitionLength
0 HiddenSectors
0 PartitionNumber
0 PartitionType
0 BootIndicator
0 RecognizedPartition
0 RewritePartition

MBR PartitionStyle
4 PartitionCount
21b45337 Signature

Starting Partition Hidden Total Partition Partition Boot Recognized Rewrite
Offset (bytes) Length (bytes) Sectors Sectors Number Type (HEX) Indicator Partition Partition

131,072 72,834,723,328 256 142,255,319 0 0x07 0 1 0
0 0 0 0 1 0x00 0 0 0
0 0 0 0 2 0x00 0 0 0
0 0 0 0 3 0x00 0 0 0

72,834,854,400 Bytes (142255575 sectors) Geometric size
72,837,857,280 Bytes (142261440 sectors) True size (measured)
72,837,857,280 Bytes (142261440 sectors) Reported size (Partition0)
0 Bytes ( 0 sectors) missing/wasted
---------------------------------------------


dmdiag thinks sectors are 63, while MSA asserts they're 32... this could be the source of a misalignment!!! (am i wrong?)

Wow, so i'm waiting for someone shading some light on the question... i'm stumped -_-'


Thanks in advance to any brave sysAdmin trying to resolve this one... :-D

Diego C.

MS MCSA Server 2003

HP Accredited Integration Specialist
5 REPLIES 5
Bob_Vance
Esteemed Contributor

Re: MSA1000 and Partition alignment

I saw this also when I was playing with alignment.

Even though I set LUN to 32, windows saw 63.

In my notes, I say
"""
?????????????????????????????????
SO WE MUST REBOOT to get 32s
BUT it does NOT ALWAYS WORK ???????????????????
May have to do a few reboots.
?????????????????????????????????
"""


But, it looks like your offset

131,072 = 64k

is good.


How did you partition this drive.

When I did my alignment I used the GnuParted live CD and created a small, unused partition at the beginning of the drive with a size ~16MB such that it ends at aligned - 1.
The next partition starts at 16,777,216 = 256*64k

(I was doing it mainly in a VMware Virtual Machine environment, so I had a lots of ways to play with it ;>)


bv
"The lyf so short, the craft so long to lerne." - Chaucer
Diego Castelli
Trusted Contributor

Re: MSA1000 and Partition alignment

Hi Bob,
i used Diskpart to partition, specifying the offset at 64K.

I don't understand why do you think my offset is good even if sectors are 32?


32*512 bytes = 16384 bytes = 16KB

63*512 bytes = 32256 bytes = 31,5 KB

Even if MS asserts that moving 31,5 to 32 is good, i don't see how partition can be aligned if i have 32 sectors and 64KB offset.
Is that cause 64/16=4 (which is integer) ?


Diego C.

MS MCSA Server 2003

HP Accredited Integration Specialist
Bob_Vance
Esteemed Contributor
Solution

Re: MSA1000 and Partition alignment

As I read your output, the offset of the partition is

131072 = 128k
(my original post said =64k, which I meant to say 2*64k)

and so partition is aligned on MSA stripe and the NTFS cluster size is a factor of the stripe size, so a cluser I/O never spans two stripes.

It doesn't matter about the sectors as long as the offset is aligned.
The problem is getting the alignment done when Windows thinks there are 63 sector/trk. It's insane today, when spt doesn't even mean anything, to be constrained by that math in Windows.

I could not make diskpart work correctly when it thought spt=63, even though the MSA said 32.
That's why I asked how you did it.
So, that's why I went to GParted, which doesn't care.
Of course that required booting the CD, so Windows was down.
But, apparently, it worked for you.

The reason that I also put the little, unused "alignment" partition at the beginning, is so it would show in Disk Mgt and would be a visual cue that the next partition is aligned.

But, in reading the document that you linked in your first post, it's not clear about diskpart -- the document seemed to imply that it was a reporting issue.
Apparently, Windows is saying 63, but since it is *really* 32, diskpart is supposed to work?

I use msinfo32.exe
components/storage/disks
to dump partition info and that reported misalignment from a diskpart partition when spt=63, even when I specified a N*1024 offset.
spt=32 is OK because you can align it in normal N*1024 (64k, 128k, etc)


Bottom line:
It's still unclear to me, except that I know I can do it with GParted -- and Win2k8 always aligns correctly !


bv
"The lyf so short, the craft so long to lerne." - Chaucer
Diego Castelli
Trusted Contributor

Re: MSA1000 and Partition alignment

All right,

I think the partition is always aligned with multiples of 16KB since 128K/(32*512B=16K)and 128K/(63*512B=31.5K, but is good to assume it to be 32K) are integer...

Diskpart worked flawlessly (at least error-less) when i shooted the new partition command, specifying the

Thanks for your help!

I'm going to post another question, now for the speed since i noticed an Advisory and i'm now working in 160 MB/s but i don't know if it's normal....

Hope you'll help there too, like here.

Again many thanks.
Diego C.

MS MCSA Server 2003

HP Accredited Integration Specialist
Uwe Zessin
Honored Contributor

Re: MSA1000 and Partition alignment

Watch out when using DISKPART to check the offsets, because it does not (always) show the correct value. I'll attach an example from Windows XP - don't have one from Windows server right now, but you can verify the results on your own box - feel free to report back.
.