Storage Spaces Direct: Enabling S2D work with unsupported device types (BusType = NVMe, RAID, Fibre Channel)

Posted by Taras Shved on February 10, 2017
Share on Facebook0Share on Google+0Share on LinkedIn0Share on Reddit4Tweet about this on Twitter0
5/5 (6)
5/56

Introduction

Microsoft Storage Spaces Direct is a new storage feature introduced in Windows Server 2016 Datacenter, which significantly extends the Software-Defined Storage stack in Windows Server product family and allows users building highly available storage systems using directly attached drives.

Storage Spaces Direct, or S2D, simplifies the deployment and management of Software-Defined Storage systems and allows using more disk devices classes like SATA and NVMe drives. Previously, it was not possible to use these types of storage with clustered Storage Spaces with shared disks.

Storage Spaces Direct can use drives that are locally attached to nodes in a cluster or disks that are attached to nodes using enclosure. It aggregates all the disks into a single Storage Pool and enables the creation of virtual disks on top.

Problem

The storage hardware requirements of Microsoft Storage Spaces Direct are very clear. Locally attached SATA, SAS, or NVMe drives are supported and every driver must be physically connected to only one single server. SSDs should be “enterprise-grade”, meaning they have power-loss protection, and if they are planned to be used for a cache, they should have high write endurance. Drives can be 512n, 512e, or 4K native. Microsoft recommends using a separate dedicated drive for boot. Multipath IO (MPIO) or physically connected drives via multiple paths is not supported.

The most interesting part of storage requirements is regarding host-bus adapter (HBA). Simple pass-through SAS HBA for both SAS and SATA drives is required and SCSI Enclosure Services (SES) for SAS and SATA drives is necessary. Any directly-attached storage enclosures must present Unique ID.

RAID HBA controllers or SAN (Fibre Channel, iSCSI, FCoE) devices are not supported, which makes it impossible to create a Storage Spaces Direct on top of most RAID controllers even if they have HBA mode or JBOD (Pass-Through) mode switch since some controllers keep reporting drives bus-type as RAID.

Test lab configuration

My test lab consists of 2 x SuperMicro X10DRH Servers powered with 2 x Intel(R) Xeon(R) CPU E5-2630 v4 @ 2.20GHz each. Each server has a decent 128 GB of RAM. Connectivity is provided by Mellanox ConnectX4 100 Gbe dual-port interfaces.

Each server has a single 120 GB Intel(R) SSD for Windows Server 2016 Datacenter operating system, 3 x various spindle HDDs and a single 800 GB Intel(R) P3700 NVMe card. All drives are connected to Avago 3108 MegaRAID controller that is based on LSI SAS 3108. Similar chips are used in DELL Perc and HPE Smart Array controllers and most of them support JBOD (pass-through) mode.

RAID Configuration

Creating the S2D cluster

Let us start with creating a new Microsoft Failover Cluster.

PowerShell command creating New cluster

Before creating the storage cluster, we must check whether our storage configuration fits the Storage Spaces Direct requirements on both hosts. We have to check if the drives we are going to use for S2D can be added to the storage pool (CanPool value is set to True) and if the BusType is correct.

PowerShell command adding BusType

PowerShell command adding BusType

As we can see, the drives are “poolable” but the BusType of all HDD drives is reported as RAID. If we try to create a cluster using these parameters, we will see the “No disks with supported bus types found to be used for S2D” error message.

PowerShell command Enable Cluster S2D

Solution

The first and most obvious solution would be to replace your existing storage controller with a Storage Spaces Direct compatible one. This should be a simple pass-through SAS HBA for both SAS and SATA drives.

If your drives keep reporting the BusType as RAID despite being configured as JBOD (pass-through), like in the situation described here, you might try updating storage controller’s firmware and drivers. This solution is known to be helpful on some HPE SmartArray controllers.

For many LSI controllers, there are two types of firmware that can be used. IT firmware keeps the controller working as a simple HBA while IR firmware upgrades the controller to a RAID controller. In order to be used with Storage Spaces Direct, these controllers must be flashed with IT firmware.

Previously, we have covered one more way to make S2D work with unsupported bus types. While it was useful in some cases, now, it brings more issues than benefits as the number of users reporting that it works unstable and causes problems has grown significantly. That’s why we have removed the description of this hack. We don’t know if it works in GA builds, so we encourage using proper hardware in accordance with HCL and MSFT requirements. And don’t Google or Bing for options – you’ll just be asking for trouble.  

Conclusion

Some RAID controllers support “JBOD mode” or “HBA mode”, so this may be the first and the most simple way to go. Also, do not forget to keep the RAID controller drivers up to date. Additionally, you can try reflashing the RAID controller firmware from IR to IT mode. Since most of HBA and RAID controllers share the same hardware components, this could be a simple and effective way of turning your RAID controller to HBA and using it to deploy S2D. You may have probably thought about this yourself, but the last resort is to simply replace your RAID controller for S2D-compatible HBA.

Related materials:

Views All Time
21
Views Today
42

Please rate this

To download the software products, please, make your choice below. An installer link and a license key will be sent to the e-mail address you’ve specified. If you consider StarWind Virtual SAN but are uncertain of the version, please check the following document Free vs. Paid. The recent build of Release Notes. A totally unrestricted NFR (Not For Resale) version of StarWind Virtual SAN is available for certain use cases. Learn more details here.



Return to all posts

Storage HA on the Cheap: Fixing Synology DiskStation flaky Performance with StarWind Free. Part 2 (Log-Structured File System)
Fighting Azure AD Connects custom installer
The following two tabs change content below.
Taras Shved
Taras Shved
Director of Sales Engineering at StarWind
Director of Sales Engineering with more than 15 years of professional IT experience. Almost 2 years of Technical Support and Engineering at StarWind. Storage and virtualization expert. IT systems engineer. Web designer as a hobby.