DISK PART COMMANDS FOR EMC SAN DISKS
— ny_wk

Presenting a brand-new EMC SAN LUN to a Windows host without aligning the partition can quietly cut your disk throughput in half. This guide walks through the full workflow: validating EMC PowerPath multipathing, then using DiskPart commands to create a correctly aligned partition so EMC and Windows read and write the LUN efficiently.
The classic procedure below targets legacy Windows Server (2003/XP-era clusters with EMC PowerPath), which is where manual alignment mattered most. If you are on a modern OS, jump to the section on why current Windows handles this automatically — but understanding the mechanics still matters for troubleshooting older fleets.
The Problem: Why SAN Disk Alignment Matters
Disk alignment is about matching where Windows thinks a partition starts with where the storage array actually stores data. EMC arrays (CLARiiON, VNX, Symmetrix/VMAX) lay data out in fixed stripe elements — commonly 64 KB chunks. If a Windows partition starts at an offset that is not a multiple of that stripe size, a single logical I/O can straddle two physical array blocks.
The result is the dreaded split I/O: every read or write that crosses a stripe boundary forces the array to touch two blocks instead of one. On busy database or Exchange volumes this can double the back-end I/O and visibly degrade performance, even though the disk "works" perfectly.
The fix is to ensure the partition's starting offset is a clean multiple of the array's stripe element — this is exactly what the align parameter in DiskPart controls.
Prerequisites: PowerPath and Cluster Hotfixes
Before touching DiskPart, the multipathing layer must be healthy. On a Windows cluster, EMC PowerPath presents multiple physical paths to the same LUN as a single logical device. If that layer is misconfigured, you can end up writing to a disk through only one HBA path — or, worse, corrupting it.
- Apply cluster storage hotfixes. Legacy Windows clusters needed a Microsoft hotfix that updates
clusdisk.systo handle multipath SAN disks correctly. On modern Windows Server, this is rolled into the OS and standard updates — just keep the nodes fully patched. - Confirm PowerPath licensing. Open the PowerPath Administrator on every node and verify each HBA's path mode shows Active. An unlicensed installation reports paths as unlicensed and will not load-balance.
If a node shows as unlicensed, register a valid PowerPath license through the EMC PowerPath Licensing Tool (or via emcpreg on the command line). Use only a license key issued to your organization — never a key copied from documentation or a forum, which is both invalid and a license violation.
Verifying PowerPath from the Command Line
The powermt utility is your single source of truth for multipath state. Run these from an elevated command prompt on each node:
powermt check_registration— confirms the license key is installed and valid.powermt display— shows the overall HBA and path summary.powermt display dev=all— lists every managed device with the status of each path.
If a port shows as dead or unlicensed, fix the registration first, then push the load-balancing policy to all devices and save it:
powermt set policy=so dev=all— sets the policy to StreamIo (so) for all devices. For most EMC arrays the recommended general-purpose policy is actually Adaptive (powermt set policy=ad dev=all) or SymmOpt on Symmetrix; choose the policy your array documentation specifies.powermt save— persists the configuration so it survives a reboot.powermt display dev=all— re-run to confirm all paths are now alive and the policy is applied.
Note: the original procedure omitted powermt save. Always save after changing a policy, or the change is lost on the next restart.
DiskPart Commands to Align the EMC SAN Disk
With multipathing verified, bring the LUN online. Open Disk Management (diskmgmt.msc) and choose Yes to initialize the new SAN disk. Leave it as unallocated — do not let the GUI auto-create the partition, because on legacy Windows the GUI applies the wrong starting offset.
Instead, create the partition with DiskPart so you control the alignment. From an elevated command prompt:
- Launch the tool:
diskpart - List disks to identify the new LUN by size:
list disk - Select the correct disk — double-check the number, as selecting the wrong disk is destructive:
select disk 2 - Create an aligned primary partition:
create partition primary align=1024 - Exit DiskPart:
exit
Understanding the align Value (Important Correction)
This is the single most misunderstood part of the procedure. The DiskPart align=N value is expressed in kilobytes, not in blocks or sectors. The legacy guidance of align=128 meant 128 KB — it set the partition offset to 128 KB, a clean multiple of the typical 64 KB EMC stripe element. The old claim that "128 equals 128 blocks" is incorrect.
| align value | Offset created | When to use |
align=64 | 64 KB | Minimal alignment to a 64 KB stripe (legacy) |
align=128 | 128 KB | Classic EMC CLARiiON/XP-era recommendation |
align=1024 | 1024 KB (1 MB) | Recommended today — matches the modern Windows default and aligns to virtually all stripe sizes |
Use align=1024 for new builds. A 1 MB offset is a multiple of 64 KB, 256 KB, 512 KB and 1 MB stripe elements, so it stays aligned no matter how the array is carved. That is precisely why Microsoft made 1 MB the automatic default starting with Windows Vista and Windows Server 2008.
Finishing the Volume: Letter, Format, and Boot Flag
After the aligned partition exists, you can build the logical drive. You can stay in DiskPart or finish in Disk Management:
- Assign a drive letter: in DiskPart,
assign letter=E(or right-click the volume → Change Drive Letter and Paths). - Format with the right allocation unit: for SQL Server, Exchange, and most database workloads use a 64 KB NTFS allocation unit:
format fs=ntfs unit=64K quick label="DATA". For general file servers, leave the default 4 KB. - Mark active only if booting: set the partition active (
active) only for a volume the server actually boots from. Standard data LUNs must never be marked active.
On a cluster, do not assign a drive letter or format from a second node simultaneously — complete provisioning from one node, then add the disk as a cluster resource through Failover Cluster Manager.
GPT vs MBR and the Modern Equivalent
The legacy procedure assumes an MBR partition, which caps a single volume at 2 TB. For any LUN larger than 2 TB you must convert the disk to GPT first:
diskpartselect disk 2convert gptcreate partition primary
On Windows Server 2008 and later, DiskPart and Disk Management automatically start the first partition at a 1 MB offset, so manual align= is no longer required for brand-new disks. The alignment concern survives mainly for: disks carved on Windows 2003/XP and later migrated; partitions created by certain imaging or P2V tools; and nested layouts (e.g., a guest VMDK on a misaligned datastore). When in doubt, verify the offset rather than assume.
Note also that the underlying EMC product line has moved on: CLARiiON and VNX are end-of-life, succeeded by Dell EMC Unity and PowerStore, and PowerPath has largely been replaced by the native Windows MPIO (Microsoft Multipath I/O) with a vendor DSM. Use mpclaim to manage native multipathing on current systems.
Common Pitfalls
- Selecting the wrong disk.
create partitionagainst the wrong disk number can wipe data. Always confirm withlist diskand match the exact LUN size beforeselect disk. - Letting the GUI create the partition on legacy Windows. The Disk Management wizard on Windows 2003 sets a 31.5 KB (63-sector) offset — misaligned. Use DiskPart with
align=there. - Misreading the align unit.
alignis in KB, not blocks or MB.align=1024is 1 MB, not 1 GB. - Forgetting
powermt save. Policy changes are lost on reboot if not saved. - Wrong NTFS allocation unit. Formatting a SQL/Exchange volume at the 4 KB default instead of 64 KB hurts large sequential I/O.
- Marking a data LUN active. Reserve
activefor boot volumes only. - Aligning the partition but not the filesystem stripe. Alignment helps only when partition offset, NTFS allocation unit, and array stripe are mutually consistent.
Verification: Confirm the Disk Is Aligned
Never assume — measure the actual partition starting offset and divide it by 1024 to get KB. Any of these methods works:
- WMIC (legacy, quick):
wmic partition get Name,StartingOffset,Index. DivideStartingOffset(bytes) by 1024. A value of 1048576 bytes = 1024 KB = correctly aligned; 32256 bytes (63 sectors) = misaligned. - PowerShell (modern):
Get-Partition | Format-Table DiskNumber, PartitionNumber, @{n='OffsetKB';e={$_.Offset/1KB}}, Size. TheOffsetKBcolumn should be a clean multiple of 64 (ideally 1024). - DiskPart detail: select the volume and run
detail partitionto inspect its Offset in Bytes.
For multipathing health, re-run powermt display dev=all and confirm every path reports alive with the intended load-balancing policy. The LUN is ready when the offset is a clean multiple of the stripe size and all paths are active.
Key Takeaways
- Misaligned partitions cause split I/O that can double back-end load on an EMC SAN — alignment is a performance fix, not cosmetic.
- The DiskPart
align=Nvalue is in kilobytes; usealign=1024(1 MB) for new builds so the offset aligns to any stripe size. - Validate PowerPath licensing and paths with
powermt check_registration,powermt display dev=all, thenpowermt savebefore provisioning. - Format database volumes with a 64 KB NTFS allocation unit, use GPT for LUNs over 2 TB, and mark
activeonly on boot volumes. - Modern Windows (2008+) auto-aligns at 1 MB and native MPIO has largely replaced PowerPath — but always verify the offset rather than trust it.
Frequently Asked Questions
What does align=1024 mean in DiskPart?
It tells DiskPart to start the partition at a 1024 KB (1 MB) offset from the beginning of the disk. The value is in kilobytes. A 1 MB offset is a multiple of every common SAN stripe size, which keeps the volume aligned and avoids split I/O.
Do I still need to manually align disks on Windows Server 2016/2019/2022?
No. Since Windows Server 2008, DiskPart and Disk Management automatically start new partitions at a 1 MB offset, so manual align= is unnecessary for freshly created disks. You still verify alignment on disks migrated from older systems or created by imaging/virtualization tools.
How do I check if my SAN partition is aligned?
Run wmic partition get StartingOffset or PowerShell Get-Partition, then divide the offset by 1024 to get KB. An offset of 1 MB (1048576 bytes) is aligned; the old 63-sector / 32256-byte offset is misaligned.
Is EMC PowerPath still required for SAN multipathing on Windows?
Not necessarily. PowerPath is still supported, but most current Windows deployments use the built-in MPIO framework with a vendor-supplied DSM, managed via mpclaim. PowerPath remains common on legacy clusters and where its advanced load-balancing policies are specifically wanted.
For more Windows and storage walkthroughs, subscribe to our YouTube channel @explorenystream.