subject: exchange

Rui Silva - Exchanging Knowledge About Exchange

Recent Posts

Sponsors

Tags

News

Disclaimer

  • This posting is provided "AS IS" with no warranties, and confers no rights.
    The opinions expressed herein are my own personal opinions and do not represent my employer's view in anyway. Please use the Exchange Forums for support requests.

Community

Email Notifications

Blogroll

Links

Archives

Disk geometry

"Disk subsystem bottlenecks cause more performance problems than server-side CPU or RAM deficiencies, and a poorly designed disk subsystem can leave your organization vulnerable to hardware malfunctions."

This is so true! As memory chips become cheaper and consolidation dictates more users per server, the disk subsystem turns into the main cause of performance problems. The key to a system without problems is a proper planning and design. The document from which I extracted the beginning sentence, Optimizing Storage for Exchange Server 2003, is a good source of information.

One of the improvements you can make on your storage is to align the disks. Microsoft provides a tool, Diskpar, which allows to align the disk tracks with sector tracks. For partitions created by Windows 2000 and Windows Server 2003, the default starting sector for disks that have more than 63 sectors per track is the 64th sector, causing one out of every eight blocks of data written to your disk to span two disk tracks. Diskpar can increase disk performance as much as 20 percent, but you should always consult your hardware vendor before using this tool. Some disk configurations will have no benefit from the tool.
One fine example of information provided by the storage vendor is HP. Just take a look at this document: HP StorageWorks Enterprise Virtual Array 5000 and Microsoft® Exchange Server 2003: storage performance and configuration — white paper.

The Diskpar utility can be found in the Windows 2000 Server Resource Kit. With the release of Windows Server 2003 SP1, diskpart now includes this functionality. The new syntax for creating partitions with diskpart is:

create partition primary [size=N] [offset=N] [ID={Byte | GUID}] [align=N] [noerr]

Of course, you can still use diskpar:

Usage: diskpar [ -i | -s ] DriveNumber
  -i: query drive layout and partition information
  -s: set partition information (only used on raw drive please)

Comments

Rui Silva said:

What should the offset be changed to and how to you determine the best setting?

Thanks!

Benjamin
ben.baldridge@twcable.com
# May 1, 2005 11:34 PM

Rui Silva said:

First of all, you should check with your hardware vendor to see if you will experience any benefits from using Diskpar. If they don't provide any information about the subject you can do your own testing by copying large files or using Jetstress.
I think a good setting to start with will be 64, since 64 x 512 = 32KB, which is divisible by 4KB.

C:\>DISKPAR.EXE -s 1
Set partition can only be done on a raw drive.
You can use Disk Manager to delete all existing partitions
Are you sure drive 1 is a raw device without any partition? (Y/N) y

---- Drive 1 Geometry Infomation ----
Cylinders = 261
TracksPerCylinder = 255
SectorsPerTrack = 63
BytesPerSector = 512
DiskSize = 2146798080 (Bytes) = 2047 (MB)

We are going to set the new disk partition.
All data on this drive will be lost. continue (Y/N)? y

Please specify starting offset (in sectors): 64
Please specify partition length (in MB) (Max = 2047): 2047

Done setting partition.
---- New Partition information ----
StatringOffset = 32768
PartitionLength = 2146435072
HiddenSectors = 64
PartitionNumber = 1
PartitionType = 7

You now should use Disk Manager to format this partition
# May 2, 2005 10:17 AM

Rui Silva said:

Rui J.M. Silva is correct, you should certainly check with your storage manufacturer. For example if you are using the EMC CLARiiON Array there are two ways to set the offset. **Note: If a host based utility is available it should be done from the host and not the array. 1. ON THE ARRAY: During the creation of a LUN set the LUN Offset to 63 blocks (because 63 x 512 bytes is 31.5 KB) **Note: this is not advisable if you are using layered applications including MirrorView, SnapView, or SANCopy. 2. FROM THE HOST: Instead of modifying the LUN Offset on the array you should use diskpar (or diskpart with W2K3) and set the value to the stripe element size used to bind your LUN (typically 128 blocks). If you own a CLARiiON Array and are looking for a Microsoft Exchange Storage Healthcheck please let me know seasonaladjustment@yahoo.com
# June 21, 2005 2:58 AM