ESXi Drive Types

Status
Not open for further replies.

Kent Winsor

Cadet
Joined
Mar 24, 2015
Messages
5
Hi,
I have a new FreeNas server setup with SSD and spinning disks. It's for a vSphere home lab. I am using iSCSI and have configured a portal, target, created a volume based on SSD drives and a volume based on spinning disks. I then created a zvol on each to use as extents for iSCSI. I was pleased to see that ESXi recognized the extent created from SSD as an SSD drive type. However, for some reason an extent presented to ESXi from the spinning disk volume on FreeNas also appears in ESXi as an SSD drive type.

Does anyone know why both volumes would appear as SSD in ESXi? I've never had this problem before with other storage platforms.
 

Kent Winsor

Cadet
Joined
Mar 24, 2015
Messages
5
Well that's interesting. I'm not in agreement that it should be labelled as an SSD. I guess since it's a home lab I will leave it as is unless IX Systems release a fix. Thank for the reply.
 

cyberjock

Inactive Account
Joined
Mar 25, 2012
Messages
19,526
There is no fix. The whole "SSD" thing is *by design*. They have no intention of changing it as they *wanted* it to be listed as an SSD.
 

Kent Winsor

Cadet
Joined
Mar 24, 2015
Messages
5
I have managed EMC, NetApp, HP 3PAR, Dell, etc and never have I witnessed a NAS or block storage array intentionally announcing a disk type of SSD when it's not SSD *by design*. I don't understand the reasoning behind it. Sorry!!!
 

depasseg

FreeNAS Replicant
Joined
Sep 16, 2014
Messages
2,874
Yeah. I agree with you. I don't understand it either. In the Betas, I posted about this, and jkh said it was by design. It is truly mind-boggling.
 

Attachments

  • SOLVED - ESX 5.pdf
    532.3 KB · Views: 759

Kent Winsor

Cadet
Joined
Mar 24, 2015
Messages
5
depasseg, I read some of your attached doc on prior discussions around this and agree with your arguments particularly around storage policies. I manage a vCloud Director environment for a service provider. We base everything on VMware storage policies. If this was used in production and some admins didn't know better, they would create a storage policy for SSD and provision to customers only to find out it's on spinning disks. What do you say to a customer who wonders why they are not getting SSD performance? I guess you say, "Oh we use FreeNas and their developers think they can turn spinning disks into SSD's"!! Luckily I use FreeNas for lab only. If FreeNas ever supported VASA, they would have to change this. It should be a configurable option.
 

Mlovelace

Guru
Joined
Aug 19, 2014
Messages
1,111
I have managed EMC, NetApp, HP 3PAR, Dell, etc and never have I witnessed a NAS or block storage array intentionally announcing a disk type of SSD when it's not SSD *by design*. I don't understand the reasoning behind it. Sorry!!!
Same here.... why any one would intentionally design an error into a system is completely illogical.
 

cyberjock

Inactive Account
Joined
Mar 25, 2012
Messages
19,526
And I'm going to lock this thread if we are going to just go back to beating the horse in the thread the PDF shows (thanks depasseg). At the end of the day, nobody ever sited a real-world example that showed some kind of detrimental problem (or even a minor problem besides "it's not SSD, but says it is").

We already went through this. The devs asked for an example where this would be bad. None was provided. So either this isn't a problem on a technical level and people are upset "just because it's not true SSD storage" or there is a problem. BUT, considering that *nobody* has provided a good argument or an example of what would be bad, I don't see where this is a problem.
 

jgreco

Resident Grinch
Joined
May 29, 2011
Messages
18,680
At the end of the day, nobody ever sited a real-world example that showed some kind of detrimental problem (or even a minor problem besides "it's not SSD, but says it is").

We already went through this. The devs asked for an example where this would be bad. None was provided. So either this isn't a problem on a technical level and people are upset "just because it's not true SSD storage" or there is a problem. BUT, considering that *nobody* has provided a good argument or an example of what would be bad, I don't see where this is a problem.

Bull. I said months ago that this was a problem especially in automated provisioning environments. Kent Winsor above makes a similar argument. Those of us who work out here in the real world can see that this is a problem. In a large scale service provider environment, it is common to develop systems that integrate a variety of storage systems into the environment. "SSD" is likely to be taken as a meaningful indicator that a storage resource is a Tier Zero high speed storage resource, or one that is available for use as Flash Read Cache, or maybe indicate eligibility as Host Cache, etc. There's a reason that VMware has brought forward the Drive Type tag ... Having to special-case around something like this is a pain in the arse.

VMware defines this pretty clearly: https://pubs.vmware.com/vsphere-55/...UID-057D6054-0A51-4023-B90A-D737DB0426F4.html

"Drive Type" --- "Type of underlying storage device, a Solid State Drive (SSD) or a regular non-SSD hard drive."

I am not aware of another ZFS platform that advertises a non-SSD array as "SSD". Nexenta doesn't, at least as of December. Solaris doesn't. Other storage arrays don't.

You and Jordan are free to yell LALALA as loud as you can but this is still an issue even if you don't understand it. It violates POLA and it means people have to be aware that FreeNAS is broken in an unusual manner. We've had a bunch of people asking about this now, so I am not alone in finding this to be a problem.

The reality here is that a reasonable fix to this problem is to simply make it a configurable option as part of the iSCSI configuration. I, and I'm guessing most other storage admins, would have no real problem if the behaviour was easily correctable.

But for you to sit there and say that no example was provided? That's simply not true, and I'm a little shocked that you'd try to make such a claim.
 

cyberjock

Inactive Account
Joined
Mar 25, 2012
Messages
19,526
That's still hand-waving. *WHAT* in particular is different about the SSD being set vs not set? I could easily argue that plenty of "SSDs" do not perform as well in some aspects as non-SSDs. What about hybrids?

What I've been trying to get at is *what* *exactly* is the "requirement" for a device, being labeled as an SSD, actually mean? What's the spec? 100MB/sec? 500MB/sec? 50k IOPS? If VMware expects "SSD" to mean at least 15k IOPS,at least 250MB/sec throughput, non-stop 24x7, then I can totally agree with the argument that labeling SSD when it isn't would be bad for some cases. But so far nobody has really provided that information. To make things even shittier, there's plenty of SSDs out there that do not perform that much faster (some are MUCH slower) than platter based disks.

So what's the threshold for the "SSD"? I'm sorry, but a disk that *is* an SSD is a very poor metric. I have an old SSD that is 60GB, it does about 40MB/sec max, IOPS are slightly (yes, oly slightly) better than a platter, but it caps out at 40MB/sec, and my ESXi 5.1 host labels it as SSD.

Furthermore, what *actually* happens that's so bad when it is mislabeled? For example, if we assume my system is mislabeled, what is the worst that can happen? If it's 1% slower, I wouldn't be too upset about it. Likewise, if it is mislabeled and the performance improvement from that mislabeling of the drive type can range from -1% to +300%, I'll take the mislabeling. On the other hand, if it's -300% to +10%, that's not something I'd want to happen.

So far, nobody has provided the direct metric for what is actually needed for a disk labeled as SSD, detected as such, and what the actual performance improvement is (or what it is not when it is mislabeled).

What does VMWare do differently? Does it decide to do TRIM regularly? Does it create a large write and read cache on the host? What all does ESXi do with this info?

In this case (and I made this argument internally to iXsystems when I first noticed this) I don't know that any of us have enough information to really argue either way on this. ESXi is closed-source so we may never know what all VMWare assumes when a disk is an "SSD". When I was told that this conversation was made with an ESXi support tech and iXsystems and they told iXsystems that it would be better to do SSD all the time I just assume:

1. The ESXi support tech knows more about how their product works than any of us.
2. They should be able to help determine what is best for their product better than any of us.
4. They should be able to determine what the worst penalty would be for incorrectness, as well as the best benefit.
3. When providing their answer to iXsystems, they should be taking into account all of these variables.

If VMWare isn't doing any one (or more) of the above, that's on ESXi to correct us for providing inaccurate information. My advice, if you are convinced that this is wrong, is to talk to ESXi about it. Have their contact with iX contact iX and tell iX why this whole thing is wrong. iXsystems and ESXi are in regular contact. (I think what I just explained is why jkh said that this is a bunch of hand waiving)

I do get the argument that a non-SSD pool should not label itself as an SSD. I'm all for correctness myself normally. But what if being incorrect provides a better experience for the end-user? Do we deny the better experience just so we can be sure our non-SSD pool is labeled properly as a non-SSD in ESXi?
 

depasseg

FreeNAS Replicant
Joined
Sep 16, 2014
Messages
2,874
The identification requirement according to VMware: regular hard disk drives are electromechanical devices containing moving parts. ESXi supports Solid State Disks (SSDs). SSDs use semiconductors as their storage medium and have no moving parts. On several storage arrays, the ESXi host can automatically distinguish SSDs from traditional hard disks. To tag the SSD devices that are not detected automatically, you can use PSA SATP claim rules.

I don't know how to quantify the impact of mislabeling a drive as an SSD. But I do know that VMware provides a warning against mislabeling an HDD as an SSD. In ESXi 6 the UI give the admin the option easily change the drive type (presumably to enable testing of VSAN, nested hypervisors or other technologies which require SSD's). Please notice the VMware warning. Why would they warn if there is no impact?

And I understand that there are differences in performance where an old SSD will be worse than a newer/faster HDD, which is why my original request included the ability to make this a user configurable setting. And I can see where someone might look at a well-spec'd TrueNAS and decide that it could perform at an SSD level, and maybe that's what the VMware engineers were looking at when making that recommendation. But as you mention, there is a lot of variability in systems.

http://www.vladan.fr/how-to-tag-disk-as-ssd-vmware-esxi-5-x/
upload_2015-3-27_21-20-22.png



I guess my final question is like yours but inverted. What does mislabeling an HDD as an SSD provide? In every case I've seen on how to manually do that, there has been a warning regarding possible performance problems. I haven't been able to find one instance where there has there been a true "production" reason to mislabel.
 

cyberjock

Inactive Account
Joined
Mar 25, 2012
Messages
19,526
I don't know how to quantify the impact of mislabeling a drive as an SSD. But I do know that VMware provides a warning against mislabeling an HDD as an SSD. In ESXi 6 the UI give the admin the option easily change the drive type (presumably to enable testing of VSAN, nested hypervisors or other technologies which require SSD's). Please notice the VMware warning. Why would they warn if there is no impact?
I totally agree. I'd love to see the quantification of what is "bad" about mislabeling. Nobody seems to know that, and I think that is very important to the discussion.

I guess my final question is like yours but inverted. What does mislabeling an HDD as an SSD provide? In every case I've seen on how to manually do that, there has been a warning regarding possible performance problems. I haven't been able to find one instance where there has there been a true "production" reason to mislabel.

The conservatism in me says "label it properly" or "label it as non-SSD all the time". After all, ZFS creates its own performance problems when under-resourced, so it's totally possible to have an all-SSD pool that performs worse than a platter-based pool.

The realist in me says that if iXsystems has talked to VMWare and they say to mislabel it as an SSD, then why not?
 

jgreco

Resident Grinch
Joined
May 29, 2011
Messages
18,680
I totally agree. I'd love to see the quantification of what is "bad" about mislabeling. Nobody seems to know that, and I think that is very important to the discussion.

Well, it's pretty simple. First, I'm pretty sure we can agree that there's a broad spectrum of storage speeds. For purposes of rational discussion let's keep it realistic and avoid "tape drives" and "PCIe NVMe based SSD" at both ends - redundant storage required. ESXi required. So, storage options there probably range from the low end, a FreeNAS box with a mirror of two hard drives at 10% capacity presented over iSCSI, all the way on up to a nice LSI 3108 attached to a pair of Intel S3710's as direct attached storage.

SIOC thresholds and other storage policies for SSD datastores are naturally going to be configured to assume that SSD storage is faster than HDD storage. I think we can agree that there's a lot of fuzzy; I'm busy making a very fast HDD storage array, and you can definitely have a hella slow SSD array, but generally speaking, I would expect "SSD" to mean "capable of sustaining significantly more IOPS than HDD". My very fast HDD storage array will be sized to accommodate the working set, so for all the blocks likely to be accessed regularly, I'd expect it to appear "like a SSD" because it's being served out of ARC or L2ARC. But I whomp right into really slow speeds the instant I touch pool (partly because the pool's only a few disks right now). Things like SIOC are intended to guarantee fair access to storage. Things like ARC and L2ARC are bonus speed turboboosters, but if a bunch of VM's decide to wander outside the working set, then we get really bad things going on. This horribly breaks configured policies.

Don't have policies or thresholds?

All hell would break loose if someone didn't recognize that the device in question wasn't actually SSD and enabled swap to host cache on it. I'm sure that someone will respond with "but that'd never happen because you'd KNOOOOOOOOOWWWWW (whinyvoice)". The problem is, in IT, that's not always the case. I spent a year doing low level development work on a major IT infrastructure project without ever once laying eyes on the gear in question. It is completely normal for there to be compartmentalization in the IT realm, where the virtualization guys ask the storage guys for "some more space," and get handed an iSCSI SAN login. This kind of mislabeling is a great way for further mistakes to be introduced into the environment.

Now, I've very patiently explained this several times. This discussion is like the ECC discussion. You can't PROVE to me that ECC matters either, yet you know in your head that the position is defensible and correct. Right now the people who accuse of "handwaving" - including you - are playing the side of the non-ECC defender who has yet to SEE a firsthand example, and so refuse to believe that it's an issue.

It's an issue. It may not be a pool-shattering issue, but it's an issue.

The conservatism in me says "label it properly" or "label it as non-SSD all the time". After all, ZFS creates its own performance problems when under-resourced, so it's totally possible to have an all-SSD pool that performs worse than a platter-based pool.

The realist in me says that if iXsystems has talked to VMWare and they say to mislabel it as an SSD, then why not?

And people I talked to at VMware, and other storage professionals, all went "that's wrong."

If VMware wants to post a statement from engineering that officially sanctions this, that's one thing. There's a nice knowledgebase service they have and I'll buy it when someone posts the KB number that indicates VMware thinks this is fine.

Until then, I'm going to have to assume that maybe something might have been said by someone who wasn't qualified to make the statement, or was making a much more narrow statement (maybe like "tagging an iSCSI device as SSD will cause UNMAP/TRIM to function as you need"), or maybe misunderstood something.

Further, I'm not hearing compelling technical arguments for this tag to be applied, and it clearly violates POLA as a number of people have come forward to raise the issue. So now I'd like to turn the tables and invite Jordan, or whoever is in favor of this at iX, what the reasoning is. There's been a huge void where that explanation could be, and - speaking at least for myself - I'm happy to listen to technical arguments and try to understand the reasoning behind things.

But even the suggestion that this could be a configurable option in the iSCSI configuration, which seems a very reasonable compromise, was rebuffed.

In any case, it's clear to me that iX isn't interested in addressing the issue, so I'm going to close the thread. If Jordan wants to come and discuss the technical merits of labeling this as SSD, he's of course able to reopen it for further discussion.
 

jgreco

Resident Grinch
Joined
May 29, 2011
Messages
18,680
Pulling out of the related commit:

If your initiator is windows, bad things happen if you expose the Medium
Rotation Rate as anything but an SSD. In particular, windows will
try to defrag the volume, which when you are backing that with ZFS is
about as pathological as you can get. For this reason we had hardcoded
the Medium Rotation Rate as SSD, however...

That's actually a pretty interesting argument, though I don't know why someone would use a FreeNAS box as an iSCSI target for Windows when CIFS allows actual sharing of files between multiple systems.
 

cyberjock

Inactive Account
Joined
Mar 25, 2012
Messages
19,526
That's actually a pretty interesting argument, though I don't know why someone would use a FreeNAS box as an iSCSI target for Windows when CIFS allows actual sharing of files between multiple systems.

You'd be amazed at how many people do this despite how weird it sounds.

Some people want to do DFS, have software that requires "local storage", etc.
 
Status
Not open for further replies.
Top