Order of storage tiers… (via twitter @mike_laverick)

@Mike_Laverick asked a question on twitter today about something that is stated in the Cloud Computing with vCloud Director book. His question was, and no he is not dyslectic he only had 140 characters :-)

pg65. Order of storage tiers. Doesn’t that infer FC/SDD+VMFS is “race horse” and NFS “donkey”…???

Mike was referring to the following section in the book:

SLA Service Cost RTO Storage RAID Applications
Tier 0 Premium $$$$$ 20 min SSD, FC 1+0 Exchange, SQL
Tier 1 Enterprise $$$$ 1 hour FC 1+0, 5 Web servers, Sharepoint
Tier 2 Professional $$$ 2 hours iSCSI, NFS 3, 5, X Custom apps, QA
Tier 3 Basic $ 2 days NFS 3, 5, X Dev/Test

This basically states, as Mike elegantly translated, that FC/SSD is top performing storage while NFS is slow or should I say “donkey”. Mike’s comment is completely fair. I don’t agree with this table and actually did recommend changing it, somehow that got lost during the editing phase. In the first place we shouldn’t have mixed protocols with disks. Even an FC array will perform crap if you have SATA spindles backing your VMFS volumes. Secondly, there is no way you could compare these really as there are so many factors to take in to account ranging from cache to raid-level to wire speed. I guess it is still an example as clearly mentioned on page 64, nevertheless it is misleading. I would personally prefer to have listed it as follows:

SLA Service Cost RTO Protocol Disk RAID BC/DR
Tier 1 Enterprise $$$ 20 min FC 8GBps SSD 10 Sync replication
Tier 2 Professional $$ 1 hour NFS 10GBps FC 15k 6 Async Replication
Tier 3 Basic $ 1 day iSCSI 1GBps SATA 7k 5 Backup

Of course with the side note that performance is not solely dictated by the transport mechanism used, there is no reason why NFS couldn’t or shouldn’t be Tier 1 to be honest. Once again this is just an example. Thanks Mike for pointing it out,

List of VAAI capable storage arrays?

I was browsing the VMTN community and noticed a great tip from my colleague Mostafa Khalil and I believe it is worth sharing with you. The original question was: “Does anybody have a list of which arrays support VAAI (or a certain subset of the VAAI features)?”. Mostafa updated the post a couple of days back with the following reponse which also shows the capabilities of the 2.0 version of the VMware HCL:

A new version of the Web HCL will provide search criteria specific to VAAI.

As of this date, the new interface is still in “preview” stage. You can access it by clicking the “2.0 preview” button at the top of the page which is at: http://www.vmware.com/go/hcl/

  • The criteria are grouped under Features Category, Features and Plugin’s.
  • Features Category: Choice of “All” or “VAAI-Block”
  • Features: Choice of “All”, Block Zero”, “Full Copy”, “HW Assisted Locking” and more.
  • Plugin’s: Choice of “All” and any of the listed plugins.


Unfortunately there appear to be some glitches when it comes to listing all the arrays correctly, but I am confident that it will be fixed soon… Thanks Mostafa for the great tip.

Surprising results FC/NFS/iSCSI/FCoE…

I received a preliminary copy of a this report a couple of weeks ago, but since then nothing has changed. NetApp took the time to compare FC against, FCoE, iSCSI and NFS. Like most of us, probably, I still had the VI3 mindset and expected that FC would come out on top. Fact of the matter is that everything is so close, the differences are neglectable and tr-3916 shows that regardless of the type of data access protocol used you can get the same mileage. I am glad NetApp took the time to test these scenarios and used various test scenarios. It is no longer about which protocol works best, what drives the most performance… no it is about what is easiest for you to manage! Are you an NFS shop? No need to switch to FC anymore. Do you like the simplicity of iSCSI? Go for it…

Thanks NetApp for this valuable report. Although this report of course talks about NetApp it is useful material to read for all of you!

Disk.UseDeviceReset do I really need to set it?

I noticed a discussion on an internal mailinglist which mentioned the advanced setting “Disk.UseDeviceReset” as it is mentioned in the FC SAN guide. The myth that you need to set this setting to “0 “in order to allow for Disk.UseLunReset to function properly has been floating around too long. Lets discuss first what this options does. In short, when an error or SCSI reservations need to be cleared a SCSI reset will be send. We can either do this on a device level or on a LUN level. With device level meaning that we will send it to all disks / targets on a bus. As you can imagine this can be disruptive and when there is no need to reset a SCSI but this should be avoided. With regards to the settings here is what will happen with the different settings:

  • Disk.UseDeviceReset = 0  &  Disk.UseLunReset = 1  --> LUN Reset
  • Disk.UseDeviceReset = 1  &  Disk.UseLunReset = 1  --> LUN Reset
  • Disk.UseDeviceReset = 1  &  Disk.UseLunReset = 0  --> Device Reset

I hope that this makes it clear that there is no point in changing the Disk.UseDeviceReset setting as Disk.UseLunReset overrules it.

ps: I filed a document bug and hope that it will be reflected in the doc soon.

Per-volume management features in 4.x

Last week I noticed that one of the articles that I wrote in 2008 is still very popular. This article explains the various possible combinations of the advanced settings “EnableResignature” and “DisallowSnapshotLUN”. For those who don’t know what these options do in a VI3 environment; they allow you to access a volume which is marked as “unresolved” due to the fact that the VMFS metadata doesn’t match the physical properties of the LUN. In other words, the LUN that you are trying to access could be a Snapshot of a LUN or a copy (think replication) and vSphere is denying you access.

These advanced options where often used in DR scenarios where a fail-over of a LUN needed to occur or when for instance when a virtual machine needed to be restored from a snapshot of a volume. Many of our users would simply change the setting for either EnableResignature to 1 or for DisallowSnapshotLUN to 0 and force the LUN to be available again. Those readers who paid attention noticed that I used “LUN” instead of “LUNs” and here lies one of the problems…. These settings were global settings. Which means that ANY given LUN that was marked as “unresolved” would be resignatured or mounted. This unfortunately more than often lead to problems where incorrect volumes were mounted or resignatured. These volumes should probably have not have been presented in the first place but that is not the point. The point is that a global setting increases the chances that issues like these occur. With vSphere this problem was solved as VMware introduced “esxcfg-volume -r”.

This command enables you to resignature on a per volume basis…. Well not only that, “esxcfg-volume -m” enables you to mount volumes and “-l” is used to list volumes. Of course you can also do this through the vSphere client as well:

  • Click the Configuration tab and click Storage in the Hardware panel.
  • Click Add Storage.
  • Select the Disk/LUN storage type and click Next.
  • From the list of LUNs, select the LUN that has a datastore name displayed in the VMFS Label column and click Next.
    The name present in the VMFS Label column indicates that the LUN is a copy that contains a copy of an existing VMFS datastore.
  • Under Mount Options, select Assign a New Signature and click Next.
  • In the Ready to Complete page, review the datastore configuration information and click Finish.

But what if I do want to resignature all these volumes at once? What if you have a corner case scenario where this is a requirement? Well in that case you could actually still use the advanced features as they haven’t exactly disappeared, they have been hidden in the UI (vSphere Client) but they are still around. From the commandline you can still query the status:

esxcfg-advcfg -g /LVM/EnableResignature

Or you can change the global configuration option:

esxcfg-advcfg -s 1 /LVM/EnableResignature

Please note that the first step was hiding them, but they will be deprecated at some future release. It is recommended to use “esxcfg-volume” and resignature on a per volume basis.