So what should you consider if you want to virtualize your exchange server onto an EqualLogic SAN. Well, first start by reading this guide
First, I would think you would want to do iSCSI attached volume for the Exchange DataStore. Why? by going this route you would be able to take advantage of the wonderful ASM/ME tools. If you are not in the know, ASM/ME stands for Auto-Snapshot Manager/Microsoft Edition (They also have the ASM/VE which is the Auto-Snapshot Manager/VMware Edition)
Another benefit of having it on a iSCSI attached volume is that it will be formatted NTFS which you can resize. (VMFS on the other hand you can’t resize easily as noted in this KB article)
Is it possible to increase the size of my VMFS volume?
It is possible to increase the size of a VMFS v3 datastore.
However, if a VMFS datastore needs more space the only current supported solution by VMWare is to create a new VMFS datastore and add new VMs directly to it or migrate VMs from the old to that new datastore. If the version of ESX in use is ESX 3.5, Storage Vmotion can be used to do this on live VMs. Documention on Storage VMotion can be found on the VMWare support site.
Note: While it is possible to resize a VMFS volume using VMWare disk extents it is not supported and not recommended. There are a few caveats to understand surrounding this.
1. VMware has not certified this use of extents for resizing. The intended purpose of disk extents is to add additional drives to a VMFS datastore, not resize an existing one. So in the future you could have issues getting support from VMware. There have also been reports of data corruption on the datastore after a resize using extents unless all I/O to that VMFS volume has been stopped.
2. The maximum size of disk in a VMFS volume is 2TB but a datastore may be 64TB in size which means that thirty-two 2TB VMFS volumes could be added into a datastore. There is some controversy within the VMWare community surrounding the issue of adding more LUNs to a single datastore at this time 10-09-2008. The more LUNs which exist in a single datastore will increase the iSCSI reservation overhead of all I/O. Since all volumes must have an iSCSI reservation asserted before I/O can begin. This should only be used when there is no other choice. For example: when you have a 2TB volume and you need to add another 2TB volume to the same VMFS partition of the datastore.
3. You can only resize a VMFS volume four times. This is because of how VMFS works, not an EQL array limitation.
Before attempting to resize a VMware VMFS volume, please contact VMware support for the most current information regarding VMFS volume extents.
Note: ALL I/O to that volume must be stopped BEFORE adding an extent. This is per the VMware support staff. VMFS corruption could result if I/O is ongoing when the extent is added.
Another option is to create a new volume on the array and format that VMFS. This will provide better performance and reduce iSCSI reservation conflicts when only one or two large volumes are used.
VMware supports states that there should be no more than 15 VMs / LUN for optimal performance.
If you do want to resize your NTFS partition dell has this awesome, and under-published tool called ExtPart.exe This is an awesome tool because it allows you to resize your system partition!!!
This is a great write up on how to do this inside vsphere! http://www.jjclements.co.uk/index.php/2009/09/14/vmware-esx-vsphere-resize-disk/comment-page-1/
Create your two virtual nics VMXNET 3 of course. Hardcode the Ip addresses, uncheck Client for Microsoft Networks, and File and Printer Sharing for Microsoft Networks. Uncheck the Register this connection’s addresses in DNS. Press Configure, advanced Tab, and flip the Jumbo Packet to Jumbo 9000 (assuming you are using Jumbo frames end to end of course)
Then install the HIT tools, it will recognize the exchange install and install those tools as well. (Need to be on exchange 2003 sp2 or 2007)
Go start, programs, EqualLogic, Remote Setup Wizard, then choose configure MPIO settings for this computer to exclude any subnets that you won’t be using for MPIO.
Ok, now create your volume on the equalLogic. Give access to your initiator. Connect to the volume.
Aligning the partition.
So to get the best performance out of your exchange environment you want to align your partition. Actually what is recent news to me was all of the various alignments that need to happen. So the first one is pretty easy, when you create a VMFS partition using vCenter it will automatically align it. So now your VMFS partition is aligned but your OS partition. This is mentioned here http://www.vmware.com/pdf/Perf_Best_Practices_vSphere4.0.pdf
Make sure the system partitions within the guest are aligned. For further information you might want to
refer to the literature from the operating system vendor regarding appropriate tools to use as well as
recommendations from the array vendor.
Well, how would you align your system partition then? This helpful doc from netapp shows the way http://media.netapp.com/documents/tr-3747.pdf
(Although in our case we want to align on 64 for equallogic)
Virtual disks to be used as boot disk can be formatted with the correct offset at the time of creation by connecting the new virtual disk to a running VM before installing an operating system and manually setting the partition offset. For Windows guest operating systems, one may consider using an existing Windows Preinstall Environment boot CD or alternative tools like Bart’s PE CD. To set up the starting offset, follow these steps. It also lays out how to do this inside of ESX!
1. Boot the VM with the WinPE CD. 2. Select Start > Run and enter Diskpart. 3. Enter Select Disk0. 4. Enter Create Partition Primary Align=64. 5. Reboot the VM with WinPE CD. 6. Install the operating system as normal.
Moving on… now that the OS partition is aligned and installed. Now we need to align our Data partition. In the above netapp doc it lays it out like this
1. Attach the data disk to the VM. Ensure there is no data on the disk 2. Select Start > Run and enter Diskpart. 3. Determine the Disk # for the new data disk and enter Select Disk # (E.g. select disk 1) 4. Enter Create Partition Primary Align=64. 5. Enter Exit to exit out of the Diskpart utility 6. Format the data disk as you do normally
EqualLogics Doc on the process is called Microsoft Windows Aligning Disk Sectors for Optimal Perfomance I stored a copy here
Now you can format the drive. Only use a Basic Disk.
As stated in the Deploying Microsoft Windows Server 2003 in an iSCSI SAN..pdf
Do not convert the disk to a dynamic disk.
There are several reasons why you must use basic disks:
• The utilities used to align disk sectors, can only be used with basic disks.
• The Microsoft iSCSI Software Initiator currently does not support dynamic disks. It has been observed
that there are timing issues that may prevent a dynamic disk volume on an iSCSI disk from being
reactivated at system startup.
• Microsoft Windows Server 2003 clustering currently does not support dynamic disks.
As stated here
Dynamic disks allow the joining of individual disk drives directly attached to a server (DAS) into a single logical volume.
In SAN configurations, the SAN itself can expand a volume, so the need to do this in a server is eliminated. Dynamic disks have several limitations including:
• cannot be used with Microsoft Clusters
• prevent hardware-snapshots from being brought online on the same host as the live volume
• not supported by the Microsoft iSCSI initiator
Dynamic disks can be used in iSCSI SAN configurations, but given the restrictions above, the server must be configured with iSCSI HBAs. One example of such an HBA which can be used which is supported by Dell Equallogic is the Qlogic 4062 dual port HBA.
Most administrators decide dynamic disks are un-needed in a SAN configuration and just use basic disks.
NOTE: If you happen to be using Microsoft DPM for protecting your storage data you will need to use Dynamic disks however so a method should be chosen to allow this which would be to use either Qlogic HBAs or to use Windows 2008 server which does support dynamic disks under the supplied embedded Microsoft initiator.
Dynamic disks are supported for server 2008 (http://download.microsoft.com/download/a/e/9/ae91dea1-66d9-417c-ade4-92d824b871af/uguide.doc)
Making sure Exchange comes up on an iSCSI drive
You will need to mark the volume(s) as “Persistent Targets” so that the initiator will bring them online automatically when the system is rebooted. To do this, select the checkbox marked “Automatically restore this connection when the system boots” when logging the target in (from the Available Targets tab, click “Log On” to see this option). You only need to do this once per volume. If you create or change the iSCSI volume configuration (add, remove or reformat iSCSI volumes) you should check to ensure that the Exchange Server or SQL Server volume(s) are still marked as persistent (the Persistent Targets tab will show this information).
Once the volumes are connected and marked as persistent, you must logically bind the volume(s) to the iSCSI initiator. This causes the volumes to be marked so that, whenever the computer restarts, the system will pause until all the bound volumes reappear. Any time you change the iSCSI volume configuration (adding or deleting volumes) or if you reformat any iSCSI volume, you will need to re-bind the volumes.
To bind the volumes, select the Initiator Settings tab and click the “Bind Volumes” button. Note that you will not get any pop-ups, messages or other indication that anything has happened when you click this button.
To prevent Exchange Server or SQL Server from attempting to start before the iSCSI volumes are online, you must add a dependency to the Registry information for the corresponding service(s) to delay their startup until after the iSCSI service has started. Below is a step-by-step procedure for doing this. Please also refer to Microsoft Knowledge Base article 193888, “How to Delay Loading of Specific Services”, for general information on this topic.
WARNING: If you use Registry Editor incorrectly, you may cause serious problems that may require you to reinstall your operating system. EqualLogic and Microsoft cannot guarantee that you can solve problems that result from using Registry Editor incorrectly. Use Registry Editor at your own risk.
For Windows 2003 Server and Windows XP, please use the following steps:
Run the Regedit program.
Open the key “HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services”.
Go down the list of service names and verify that there is one called “MSiSCSI”.
Go back up the list and find the key for “MSExchangeSA” (for Exchange Server System Attendant) or “MSSQLServer” (for SQL Server). Click once on it to select it. In the right-hand pane of the Regedit window you will see all values associated with the selected key. If there is already a value called “DependOnService” please do the following:
Right-click on the “DependOnService” value and select “Modify”. A dialog titled “Edit Multi-String” will appear.
Confirm that the Value Name shown is “DependOnService”.
Press the down-arrow key to put the cursor on the beginning of a new line at the end of the current entries, so that our new entry will be appended to the existing ones.
Enter “MSiSCSI” and then press the <Enter> key.
Click “Ok” to save the change.
In the Registry Editor window, look in the “Data” column associated with the “DependOnService” value and confirm that the data now includes the “MSiSCSI” entry at the end of whatever was there before.
If there is no “DependOnService” value please do the following:
In the Regedit menu, click on “Edit->New->Multi-String Value”. This will create a new entry in the right-hand pane called “New Value #1”, which will be highlighted. Enter the name “DependOnService”.
NOTE: Be sure to select “Multi-String Value” and not “String Value”. A “String Value” will appear to be correct in the “Services” tool dependency list but will not work correctly.
Right-click on the new “DependOnService” value and select “Modify”. A dialog titled “Edit Multi-String” will appear.
In the “Value data” box, enter “MSiSCSI” and then press the <Enter> key.
Click “Ok” to save the change.
In the Registry Editor window, look in the “Data” column associated with the “DependOnService” value and confirm that the data is now “MSiSCSI”.
Please remember to reboot your server after changing registry settings.
This looks like an easier way to do this from here http://support.microsoft.com/kb/870964/en-us
sc \\computer_name config MSExchangeSA depend= MSiSCSI
What do you do if your partitions are not aligned? From
There are several reasons you might want to align your existing boot partition though, in many cases your swap file is on that partition and if your system does any swapping an aligned partition can be much faster. In our case we had several systems that had been migrated from older systems where everything was all on the C: drive. These systems used postgres database, did lots of logging, had some MSSQL Express thrown in, etc. While it might have been possible to reinstall and move all of these applications to a D: drive, it seemed like a lot of work and the documentation on the various apps was pretty weak. We decided it would be better if we could figure out a way to align the partition data without a reinstall.
This turned out to be much more difficult that I first thought. We didn’t own a version of Ghost that would clone Windows 2003 reliably, and so I went searching for a free solution. Clonezilla seemed promising, and we created the first clone of our system with it, but we were never able to get the newly cloned, properly aligned partition to boot.
Then I decided to give Gparted a try. Gparted is a great tool that can boot from a live CD and resize and move your existing partitions. The thought here was to use Gparted to simply resize the existing partition by 64 sectors and the move it slightly to the right to an aligned location. Unfortunately Gparted wasn’t quite as easy as I had hoped, mainly because the GUI only allows you to set sizes by MiB, not by sector. Still, I was undeterred, and I found a way to manipulate Gparted to do what I wanted. It takes two passes, which can take a long time if you have largish system paritions, but most of our were less that 16GB, with typically only about 8GB used. Here what I did:
!!! MAKE A BACKUP/SNAPSHOT IN CASE THINGS GO WRONG !!!
1. Make sure the disk is defragmented
2. Boot the system with the Gparted live CD.
3. Select the parition you are wanting to resize and choose (Move/Resize)
4. Shrink the volume by some amount, the smaller you shrink it the faster it will copy during the move step. I usually shrink it a GB or so larger than the amount of data on the drive.
5. Move the partition to right by a few MB’s to free up space at the start of the disk.
6. Once the move completes, exit Gparted, not the entire live CD, just the Gparted application
7. Start the terminal window on the live CD
8. In the command window type ‘parted /dev/sda’ (substitute your actual device here) to start the command line parted editor
9. Create a new partition at the start of the disk to fill in the space up to the section where you want to align your parition. For example, if you want your system partition to start at sector 128, create a very small partition that takes up space from sectors 63-127. The command would be something like this:
mkpart primary 63s 127s
This tells parted to create a new primary partition from sector 63 to sector 127. That means the very next sector available is 128, a stripe aligned partition. You may want a different start sector based on your array (some use 64K, some 128K, some bigger) but I’ve found the 128K alignment to work well with both 64K (Equallogic) and 128K (EMC Clariiion) stripe sizes.
10. Exit parted and restart the Gparted GUI by clicking the Gparted icon.
11. Use the Move/Resize option to resize the NTFS partition to fill the entire remaining space.
12. Exit gparted, run parted again, remove the small partition you created earlier and reboot.
Now you have a nice, stripe aligned NTFS partition that should still boot right up normally. The first reboot will run a checkdisk to make sure all the moving and resizing didn’t damage anything on the disk. Enjoy the improved performance and lowered IOPS on your SAN storage!
Obviously the steps above are just an outline, you really shouldn’t try this unless you understand what the above means, but if your comfortable with manipulating partitions the above should be enough to give you an idea what to do. I’ve found that the above procedure takes about 15-30 minutes for a typical 8-10GB system partition, so keep that in mind when planning downtime. Also, make sure your future OS deployments are aligned so you don’t have to repeat this again.
The above procedures work for virtual machine too (assuming the VMFS volume is aligned as well, which is done automatically with VI3 volumes and above). There are some other tools which will to this at the VMDK layer (Netapp has mbralign available to their customers and Vizioncore’s vOptimizer Pro will do it without having to copy the entire VMDK) but I don’t have any experience with these tools and I needed something that would work for physical machines too. The above procedure did the trick for me.
If you follow the instructions for creating a new mail store and then using the move mailbox tool to transfer over the mailbox be prepared to wait! You will have to wait for the mail store to replicate across AD before you will be able to mount it, and you will have to wait while the rules are replicated which will throw a ton of 1144 errors! Just FYI