Tuesday, January 19, 2010

Finding the cluster size on Windows iSCSI targets

We're preparing to extend our SAN at work and use the new space as an opportunity to clean up our earlier sins. We are using an HP AiO 1200R iSCSI SAN, which runs Windows Storage Server 2003. This is connected to our HP BLc-3000 via iSCSI. The BLc-3000 has six blades all running VMware ESX 3.5.

As we start the process of rearranging our storage, we need to figure out was how the AiO presents the storage to VMware. We can see the RAID volumes on the AiO, but they aren't assigned drive letters. This makes it difficult to work with them because most of the Windows disk management tools assume there are drive letters.

After a lot of fiddling around we finally found it:
fsutil fsinfo ntfsinfo "c:\data volumes\[volume name]"
This syntax is necessary because the iSCSI volumes are mounted through junctions that are defined in the C:\Data Volumes\ path. There are two key things to note here. First, the folder names listed in the C:\Data Volumes\ folder have nothing at all to do with the volume names you'll find in Disk Management or diskpart. They are simply mount points and could be called anything. In the following image I have Disk Management open as well as the properties of one of my C:\Data Volumes\ entries.

You'll notice there is an entry in Disk Management called Data Volume but nothing with that name in C:\Data Volumes\. If you look at the leftmost dialog showing the disk space you can see this is a 1.93TB volume with the name Data Volume, which means it is mapped through C:\Data Volumes\Data Volume 2. I know it is confusing and it may be unique to our environment, but it caused us some frustration so I wanted to mention it. To match up the volume names you need to right-click the folder in C:\Data Volumes\ and select Properties, then click the Properties button beside Type: Mounted Volume to show the iSCSI disk properties. This will show you the volume name as it appears in Disk Management and let you match the volume names to C:\Data Volumes\ mount points. Just to be clear, it is the folder name in C:\Data Volumes that you want to feed into fsutil. Here is the output from my server:

C:\>fsutil fsinfo ntfsinfo "c:\data volumes\data volume 2"
NTFS Volume Serial Number : 0xe0b404f1b404cc4a
Version : 3.1
Number Sectors : 0x00000000f85df672
Total Clusters : 0x000000001f0bbece
Free Clusters : 0x0000000006823dee
Total Reserved : 0x0000000000000000
Bytes Per Sector : 512
Bytes Per Cluster : 4096
Bytes Per FileRecord Segment : 1024
Clusters Per FileRecord Segment : 0
Mft Valid Data Length : 0x000000002b358000
Mft Start Lcn : 0x00000000000c0000
Mft2 Start Lcn : 0x000000000f85df67
Mft Zone Start : 0x00000000000ea960
Mft Zone End : 0x0000000003ed77e0

Secondly, and this is a lot simpler, don't use a trailing slash on the volume name.

No comments:

Post a Comment