Wednesday, July 29, 2009 2:21 PM Central Time
Posted by Justin
I was provisioning some Compellent storage today for a a series of tests that I am working on that required 62 volumes per server on two different servers. These volumes are multi-pathed and although using the Compellent Storage Center GUI is easy and straightforward, completing this process would take a long time doing by hand and seemed fit to be automated using the Compellent Storage Center Command Set for Windows PowerShell.
I wrote a script a while back that handles my provisioning for me; in this case a couple of mount point root volumes followed by data volumes that would be accessed by mount point instead of drive letter. The script is flexible enough to handle different volume counts and whether or not drive letters would be used, but the catch was I had only used it with Windows Server 2003.
I tried to run the script this morning and found a flaw pretty quickly. The volume was created on the Storage Center, mapped properly across the available paths, but when the script tried to initialize the volume in Windows, it would come back as “failed to initialize” with VDS error code 80070013. This VDS error code indicates that the “media is write-protected”. How could that be on a new volume?
Windows 2008 changed the way disk management is handled especially around delivery of the disk to the server. By default, a disk mapped to a Windows 2008 server via VDS will be delivered in offline mode and also read-only. In Windows Server 2008 there is a policy new to Windows related to SAN disks. This "SAN policy" determines whether a newly discovered disk is brought online or remains offline, and whether it is made read/write or remains read-only. By default, the “Offline All” policy is set. This means All newly discovered disks remain offline and read-only. You can change this default policy in DISKPART by running the SAN POLICY=<POLICY NAME> from a DISKPART command prompt.

changing the default SAN policy in DISKPART
You can read more here, but in the meantime, the fix for this from a scripting perspective is quite simple. The inability to initialize the disk because it was read-only was due to the SAN policy which presented the volume in a read-only fashion (and offline too). We can change the disk attribute of the volume so it is not read-only and then we can bring the disk online so it is usable. Here is a sample of how to use the Command Set to change the read-only attribute and the state of the drive:
Write-Output "Bringing Disk Online..."
Set-DiskDevice -SerialNumber $scvolume.SerialNumber -Online
Set-DiskDevice -SerialNumber $scvolume.SerialNumber -ReadOnly:$false
$scvolume is a variable that refers to the volume object that is created when we create a new volume using New-SCVolume. The serial number is used to identify the disk mapped to the Windows Server. It is also important to note that although the “Online” and “ReadOnly” switches come from the same cmdlet, these must be executed separately as they are in the sample. (Thanks for that important tidbit, Sean!)
Friday, July 17, 2009 10:41 AM Central Time
Posted by Justin
I contributed a couple of postings to the Compellent “Around The Block” blog this last week. These postings cover the new features in PowerShell v2 and how they can be leveraged with the Compellent Storage Center Command Set.
Here are links to the postings:
Part 1
Part 2
You can download CTP3 of PowerShell v2 here.
Tuesday, June 23, 2009 6:13 AM Central Time
Posted by Justin
On June 10, Microsoft Press published the new “Windows 2008 Hyper-V Resource Kit” by Robert Larson and Janique Carbone.
For the past year, Shane Burton a fellow Microsoft Product Specialist here at Compellent, and myself have been working with Robert and Janique on this project and providing content, particularly “Notes from the Field” for the book, while our Compellent Marketing Alliance partner, John Porterfield kept us in line.
Compellent is a project sponsor at the Microsoft Partner Solution Center and provided Robert and Janique access to a Compellent Storage Center for testing storage-related scenarios that are included in the book. Compellent users will recognize a lot of the screenshots which were taken directly from the Storage Center Manager.
Shane and I are proud to be contributing authors on this project. We hope the Windows 2008 Hyper-V Resource Kit will prove to be an invaluable reference for administrators and IT pros who are responsible for the architecture, design, implementation and ongoing maintenance of a Hyper-V environment.
The book is now available at Amazon and Barnes & Noble.
Tuesday, May 12, 2009 9:31 PM Central Time
Posted by Justin
Last week I had to opportunity to setup Exchange 2010, which is currently in beta. Microsoft had a great story about the improvements with Exchange 2007, particularly around storage and IO. Although I was not a big fan of role-based implementations, this type of setup has allowed for great scalability and also has made some components of Exchange viable candidates for virtualization.
Exchange 2010 uses some cool new technologies like PowerShell v2 and Windows Remote Management v2, both of which are still CTP.
Microsoft has improved the performance of Exchange again in Exchange 2010. When Exchange 2007 was released, Microsoft boasted a 70% decrease in IO. For example, an Exchange 2003 heavy mailbox profile used 1 IOPS/mailbox, while a Exchange 2007 heavy mailbox profile only uses .32 IOPS/mailbox.
In Exchange 2010, you can expect up to a 50% reduction in disk IO from Exchange 2007 levels. This means that more disks meet the minimum performance required to run Exchange, driving down storage costs. In addition, IO patterns have been optimized and are not “bursty” like they have been in previous versions.
With the ability to replicate up to 16 copies of each mailbox database, automatic page patching takes advantage of these replicated copies by using them as the source for repairs in the event page corruption or other minor database glitches occur. Sounds pretty cool!
The schema has been revamped and message/header content is now stored in a single table. In addition, Single Instance Storage is out, but automatic attachment compression is in.
One of the bigger changes in Exchange 2007 was the page in the database page size from 4K to 8K. In Exchange 2010, this changes again to 32K, allowing for larger block IO. This charge is particularly helpful in keeping chunks of data together like attachments instead of having them scatter all about.
Exchange 2010 is expected to be released in late 2009, but the beta is available for download at
http://www.microsoft.com/exchange/2010/en/us/try-it.aspx.