I was reading about Storage Filters last week and wanted to do a short write up. I totally forgot about it until I noticed this new KB article. The KB article only discusses the LUN filters though and not the other filters that are available today.
Currently 4 filters have been made public:
The first filter on the list is one I discussed roughly a year ago. The “Host Rescan Filter” makes it possible to disable the automatic storage rescan that occurs on all hosts after a VMFS volume has been created. The reason you might want to avoid this is when you adding multiple volumes and want to avoid multiple rescans but just initiate a single rescan after you create your final volume. By setting “config.vpxd.filter.hostRescanFilter” to false the automatic rescan is disabled. In short the steps needed:
- Open up the vSphere Client
- Go to Administration -> vCenter Server
- Go to Settings -> Advanced Settings
- If the key “config.vpxd.filter.hostRescanFilter” is not available add it and set it to false
To be honest this is the only storage filter I would personally recommend using. For instance “config.vpxd.filter.rdmFilter” when set to “false” will enable you to add a LUN as an RDM to a VM while this LUN is already used as an RDM by a different VM. Now that can be useful in very specific situations like when MSCS is used, but in general should be avoided as data could be corrupted when the wrong LUN is selected.
The filter “config.vpxd.filter.vmfsFilter” can be compared to the RDM filter as when set to false it would enable you to overwrite a VMFS volume with VMFS or re-use as an RDM. Again, not something I would recommend enabling as it could lead to loss of data which has a serious impact on any organization.
Same goes for “config.vpxd.filter.SameHostAndTransportsFilter”. When it is set to “False” you can actually add an “incompatible LUN” as an extend to an existing volume. An example of an incompatible LUN would for instance be a LUN which is not presented to all hosts that have access to the VMFS volume it will be added to. I can’t really think of a single reason to change the defaults on this setting to be honest besides troubleshooting, but it is good to know they are there.
Most of the storage filters have its specific use cases. In general storage filters should be avoided, except for “config.vpxd.filter.hostRescanFilter” which has proven to be useful in specific situations.
A vpxd restart is needed to take effect ?
Duncan Epping says
I haven’t tested it but the documentations says “You are not required to restart the vCenter Server system.”
I have used it for troubleshooting and a restart is not needed for it to take effect.
Note: One thing I found is that you can not delete the key from the gui once you set it. Now, you can set it to false or true, or whatever was default, but the value will remain in the list of properties. You can remove it manually from the vpxd.xml file but that *does* take a restart for it to disappear from the advanced settings gui.
Duncan Epping says
indeed, that is usually the case with advanced settings though. Only way is to change the value to true or false.
Good post Duncan.
I’m curious if this will help prevent the “Unable to resolve UUID” error that periodically pops up after new LUNs are added to the ESX host. Only one way to find out! 😉
Dan Hayward says
I’ll certainly be using the config.vpxd.filter.hostRescanFilter next week when I have 50+ datastores to add to the cluster!
Jeremy Chivers says
Thanks Duncan was just what I needed for my VCAP5-DCA exam study.
I have tested the Filters but it doesn’t worked for me (config.vpxd.filter.vmfsFilter;false), if even we don’t have a vCenter and we mask a LUN to multiple host and create a datastore, It is visible to all host as a VMFS Datastore, I tried to find a lot about it but doesn’t succeed, everywhere I only get information what it can do but not how is it works. even in VMware pubs.