Cluster Validation Error with Fiber Adapter

Windows Server 2008 and 2008 R2 has a validation test that needs to be run against all nodes confirm that your hardware and settings are compatible with Failover Clustering. For the purpose of this blog, I am not going to go into all the tests and what they do. For more information on Cluster Validation and the tests it runs, you can go here.

We have started seeing an error with the Failover Clustering Validation Report in regards to the “List Fibre Channel Host Bus Adapters” test. The error we have seen will appear similar to this:


The test we are making is a WMI query to MSFC_FCAdapterHBAAttributes for the following information:.


This call is being made to the fiber adapter driver on the systems. If the driver does not respond or respond with the information requested, it will fail with the above Validation error.

This does not mean there is a problem with the Cluster Validation process or your system. All it means is that driver did not respond with the information we requested. The driver and adapter may very well work just fine with Failover Clustering. In most all the cases where we have seen this error, the Storage Validation tests pass with no warnings or errors.

I have created a script that you can run from a command prompt to see exactly what is returned. You can create a text file with the below information.

   Set oWbemServices = GetObject("winmgmts:{impersonationLevel=impersonate}!root/wmi")

   Set enumAdapter = oWbemServices.InstancesOf("MSFC_FCAdapterHBAAttributes")

   For Each eAdapter in enumAdapter
         Wscript.Echo "Manufacturer : " & eAdapter.Manufacturer
         Wscript.Echo "HBAStatus : " & eAdapter.HBAStatus
         Wscript.Echo "VendorSpecificID : " & eAdapter.VendorSpecificID
         Wscript.Echo "NumberOfPorts : " & eAdapter.NumberOfPorts
         Wscript.Echo "SerialNumber : " & eAdapter.SerialNumber
         Wscript.Echo "Model : " & eAdapter.Model
         Wscript.Echo "ModelDescription : " & eAdapter.ModelDescription
         Wscript.Echo "HardwareVersion : " & eAdapter.HardwareVersion
         Wscript.Echo "DriverVersion : " & eAdapter.DriverVersion
         Wscript.Echo "DriverName : " & eAdapter.DriverName     

    WScript.Echo "Done"

As an example, you can save the file as FCATTRIBUTES.VBS. You would then need to run an administrative command prompt and run the CSCRIPT.EXE command from the directory you created the file in.

     C:\TEST>cscript fcattributes.vbs

The output will be on the screen using the above. What should be normally returned when there are no errors would be similar to the below.

     Manufacturer : John Marlin Company
     HBAStatus : 0
     VendorSpecificID : 583882643
     NumberOfPorts : 1
     SerialNumber : J15109
     Model : JRM6950
     ModelDescription : Marlin JRM6950 Fibre Channel Adapter
     HardwareVersion : 7750206A
     DriverVersion :
     DriverName : marlinhba.sys

If the data returned is only, as an example, the HBAStatus, then you will receive the Cluster Validation error. As mentioned, this is a WMI Query to the driver itself. If it is not returning the information, you should consult with the vendor of the adapter driver for assistance.

This error is not something that Microsoft can help with from a troubleshooting perspective. It is possible the driver may be an older version and simply needs an update. The vendor of the adapter should be able to assist. If it is an older driver, keep in mind that an update may also require a firmware update as well. So keep this in mind when speaking with them.


John Marlin
Senior Support Escalation Engineer
Microsoft Enterprise Platforms Support