Free Webinar
March 7 | 11am PT / 2pm ET
Do you dream of the fastest data transfer rate?
See how to ensure max RDMA network performance!
Speaker: Vladyslav Savchenko, Pre-Sales Engineer, StarWind

StarWind Virtual SAN 2-Node HyperConverged Scenario with Hyper-V Cluster and Automated Storage Tiering on Windows Server 2016

Published: March 26, 2018


StarWind Virtual SAN® is a native Windows hypervisor-centric hardware-less VM storage solution. It creates a fully fault-tolerant and high performing storage pool built for the virtualization workloads by mirroring existing server’s storage and RAM between the participating storage cluster nodes. The mirrored storage resource is then connected to all cluster nodes and treated just as local storage by all hypervisors and clustered applications. High Availability is achieved by providing multipath access to all storage nodes. StarWind Virtual SAN delivers supreme performance compared to any dedicated SAN solution since it runs locally on the hypervisor and all I/O is processed by local RAM, SSD cache, and disks. This way, it never gets bottlenecked by storage fabric.

This guide is written for experienced Windows Server users or system administrators. It provides the detailed instructions on how to set up a 2-node hyperconverged scenario with Hyper-V Cluster and automated storage tiering on Windows Server 2016 with StarWind Virtual SAN as a storage provider.

A full set of up-to-date technical documentation can always be found here, or by pressing the Help button in the StarWind Management Console.

For any technical inquiries please visit our online community, Frequently Asked Questions page, or use the support form to contact our technical support department.

Preconfiguring the Servers

The network diagram of the configuration described in this guide is shown below.

NOTE: Additional network connections may be necessary, depending on the cluster setup and applications requirements. For any technical help with configuring the additional networks, please, do not hesitate to contact StarWind support department via online community forum, or via support form (depends on your support plan).

1. Make sure a domain controller is in place, and that the servers are added to the domain.

2. Install Failover Clustering and Multipath I/O features, as well as the Hyper-V role on both servers. This can be done through Server Manager (Add Roles and Features menu item).

3. Configure network interfaces on each node to make sure that Synchronization and iSCSI/StarWind heartbeat interfaces are in different subnets and connected according to the network diagram above. In this document, 172.16.10.x subnet is used for iSCSI/StarWind heartbeat traffic, while 172.16.20.x subnet is used for the Synchronization traffic.

4. In order to allow iSCSI Initiators discover all StarWind Virtual SAN interfaces, the StarWind configuration file (StarWind.cfg) should be changed after stopping the StarWind service on the node where it will be edited. Locate the StarWind Virtual SAN configuration file (the default path is “C:\Program Files\StarWind Software\StarWind\StarWind.cfg”) and open it via WordPad as Administrator. Find the <iScsiDiscoveryListInterfaces value=”0”/> string and change the value from 0 to 1 (should look as follows: <iScsiDiscoveryListInterfaces value=”1”/>). Save the changes and exit Wordpad. Once StarWind.cfg is changed and saved, the StarWind service can be restarted.

Disk configuration

In case of using Automated Storage Tiering, the disks can be connected into OS directly in Pass-through mode or preconfigured into separate SSDs and HDDs RAID arrays, and then connected into OS.

NOTE: Simple Tier has no redundancy and in case of disk failure there is a risk of losing the data. It is recommended to configure resilient RAID arrays and use them as underlying storage for the Tier.

Automated Storage Tier creation

There are two ways to configure Automated Storage Tiering. It can be done via Server Manager and via the PowerShell console.

The first level of Storage Tier is Storage pools. At this level, separate physical disks are united into a single pool, providing the ability to flexibly expand the capacity and delegate administration.

The upper level is Storage Spaces. At this level, virtual disks are created using the available capacity of a storage pool. Storage Spaces feature the following characteristics: resiliency level, storage tiers, fixed provisioning, and precise administrative control.

5. Launch Server Manager->File and Storage Services->Volumes->Storage Pools. All disks available for Storage Pool are listed in Physical Disks. Click New Storage Pool.


is a PowerShell command that allows checking the disks available for Storage Pool.

is a PowerShell command that allows checking the parameters of physical disks.

6. Specify a Storage Pool name:

7. Select the disks for Storage Pool and then press Next. In case of using Storage Tiers with both SSDs and HDDs, all these disks need to be added into the Storage Pool.

8. Confirm the correct settings and click Create to create Storage Pool.

NOTE: In case of creating Storage Pool from RAID arrays, the MediaType parameter should be assigned manually. It can be done with the following PowerShell commands:

Assign SSD MediaType for the disk with size less than [ ]GB:

Assign HDD MediaType for the disk with size more than [ ]GB:

Additionally, the following commands can be used:


9. The next step is to create a virtual disk on the storage pool. It is possible to create multiple virtual disks that exist in the storage pool and then create multiple volumes that exist in each virtual disk. Create new virtual disk by right-clicking on the storage pool and selecting New Virtual Disk.

10. For Automated Storage Tiering, both HDD- and SSD-based disks or RAID arrays should be in the storage pool to make use of Storage Tiers. In case of using Storage Tiers, Storage Layout can be only Simple and Mirror. Specify Virtual Disk Name and select Create storage tiers on this virtual disk.

NOTE: Simple Tier has no redundancy and in case of disk failure there is a risk of losing the data. It is recommended to configure resilient RAID arrays from disks and use them as an underlying storage for the Tier.

11. Select the storage layout type. Under the Simple layout, the data is striped across physical disks. This would be equivalent to a RAID-0 configuration. In case of using at least two disks, the Mirror configuration can be configured. The Mirror is equivalent to RAID-1. Once done, click next.

12. Specify the provisioning type.

Fixed. This provision type means that virtual disk cannot exceed the actual storage pool capacity.

Thin. This provision type means that there is a possibility to create a volume with a size exceeding the storage pool capacity and then add physical disks later.

Choose fixed disk provisioning since this type is required by Storage Tiers. Click Next.

13. Specify the size of the Virtual Disk.

NOTE: At least 8 GB of free space on each Tier should be provisioned to allow Automated Storage rebuilding in case of the disk loss.

14. Confirm the settings and click Create to create Virtual Disk.

NOTE: In case of using both SSD and HDD disks or RAID arrays, automated Storage Tier consists of the so-called “hot” and “cold” Tiers. Automated Storage Tier elaborates a data map taking into account how often the certain data is used, thus defining how hot separate data blocks are. During the process of optimization that is launched automatically every day, the hot data, i.e. data that is used on the most frequent basis, is transferred to the fast SSD tier, with the data used less frequently, the so called cold data, being transferred to the slower HDD tier.

As the SSD tier based data gets updated only once a day, it is possible to manually optimize it with the help of the following CMD one-liner:

This command should be run on all cluster nodes, as it optimizes only those virtual disks the owner node for which is the one where the command is running.

For certain files, it can be optimal to permanently stay on the SSD tier. An example is a VHDX file that is accessed frequently and requires minimum latency and high performance. Such result can be achieved by pinning the file to the SSD tier.

The following recommendations should be taken into account before running the command:

  • The command should be run from the node owning the storage (Cluster Shared Volume) with the file stored on it.
  • Local path to the storage (Cluster Shared Volume) on the node should be used.

After a file is pinned, it will stay in the tier until the next optimization process triggered either automatically or manually.

To pin files to the SSD tier, run the following PowerShell command:

To unpin files from the SSD tier, run the following PowerShell command:

The below PowerShell command lists all files that are currently pinned:

15. Create a New Volume using New Volume Wizard:

16. Select the server and disk and click Next.

17. Select the file system settings and click Next to proceed.

NOTE: The steps described above can be performed with help of PowerShell commands. Also, with help of PowerShell, additional parameters can be configured for better performance:

Set 64K size of interleave: Interleave 65536.

Set LogicalSectorSizeDefault 4096 instead of default 512.

The cache size can be changed with the help of –WriteCacheSize [ ]GB parameter. It is possible to set cache size only via PowerShell commands for creating Automated Storage Tier.

Set SSD tier in two-way mirror: ResiliencySettingName Mirror -NumberOfDataCopies 2

The number of threads can be set with -NumberOfColumns parameter. The recommended number is the number of SSDs divided by 2.

The example of the PowerShell commands for Storage Pool and Virtual Disk with Tiered Storage creation is provided below:

The operations specified in this section should be performed on each node.

Enabling Multipath Support

18. Open the MPIO Properties manager: Start -> Windows Administrative Tools -> MPIO. Alternatively, run the following PowerShell command:

19. In the Discover Multi-Paths tab, tick the Add support for iSCSI devices checkbox and click Add.

20. When prompted to restart the server, click Yes to proceed.

NOTE: Repeat the procedure on the other server.

Downloading, Installing, and Registering the Software

21. Download the StarWind setup executable file from the StarWind website:

NOTE: The setup file is the same for x86 and x64 systems, as well as for all Virtual SAN deployment scenarios.

22. Launch the downloaded setup file on the server to install StarWind Virtual SAN or one of its components. The Setup wizard will appear. Read and accept the License Agreement. Click Next to continue.

23. Carefully read the information about the new features and improvements. Red text indicates warnings for users that are updating the existing software installations. Click Next to continue.

24. Select Browse to modify the installation path if necessary. Click Next to continue.

25. Select the following components for the minimum setup:

  • StarWind Virtual SAN Service. The StarWind service is the “core” of the software. It can create iSCSI targets as well as share virtual and physical devices. The service can be managed from StarWind Management Console on any Windows computer or VSA that is on the same network. Alternatively, the service can be managed from StarWind Web Console deployed separately.
  • StarWind Management Console. Management Console is the Graphic User Interface (GUI) part of the software that controls and monitors all storage-related operations (e.g., allows users to create targets and devices on StarWind Virtual SAN servers connected to the network).

Click Next to continue.

26. Specify Start Menu Folder. Click Next to continue.

27. Enable the checkbox if a desktop icon needs to be created. Click Next to continue.

28. When the license key prompt appears, choose the appropriate option:

  • Request a time-limited fully functional evaluation key.
  • Request a FREE version key.
  • Select the previously purchased commercial license key.Click Next to continue.

29. Click on Browse to locate the license file. Press Next to continue.

30. Review the licensing information. Click Next to continue.

31. Verify the installation settings. Click Back to make any changes. Press Install to proceed with the installation.

32. Enable the appropriate checkbox to launch StarWind Management Console right after the setup wizard is closed. Click Finish to close the wizard.

33. Repeat the installation steps on the partner node.

NOTE: To manage StarWind Virtual SAN installed on a Windows Server Core edition with no GUI, StarWind Management Console should be installed on a different computer running the GUI-enabled Windows edition.

Configuring Shared Storage

34. Double-click the StarWind tray icon to launch StarWind Management Console.

NOTE: StarWind Management Console cannot be installed on an operating system without GUI. It can be installed on any GUI-enabled Windows edition including Windows desktop versions.

If the StarWind VSAN service and StarWind Management Console are installed on the same server, Management Console will automatically add the local StarWind VSAN instance to the console tree after the first launch. Then, StarWind Management Console automatically connects to it using the default credentials. To add remote StarWind VSAN servers to the console, use the Add Server button on the control panel.

35. StarWind Management Console will ask to specify the default storage pool on the server it connects to for the first time. Configure the default storage pool to use one of the volumes that have been prepared previously. All devices created through the Add Device wizard will be stored on it. In case an alternative storage path is required for StarWind virtual disks, use the Add Device (advanced) menu item.

Press the Yes button to configure the storage pool. If the storage pool destination needs to be changed, press Choose path… and point the browser to the necessary disk.

NOTE: Each array which will be used by StarWind Virtual SAN to store virtual disk images should meet the following requirements:

  • Initialized as GPT.
  • Have a single NTFS-formatted partition.
  • Have a drive letter assigned.

The steps below cover the procedure of an HA device creation for the Witness drive. Other devices should be created in the same way.

36. Right-click on the Servers field and click on the Add Server button. Add a new StarWind Server which will be used as the second StarWind VSAN node.

37. Select the StarWind server where the device needs to be created and press the Add Device (advanced) button on the toolbar.

38. Add Device Wizard will appear. Select Hard Disk Device and click Next.

39. Select Virtual Disk and click Next.

40. Specify the virtual disk location, name, and size. Click Next.

41. Specify the virtual disk options and click Next.

42. Define the caching policy and specify the cache size (in GB). Click Next to continue.

NOTE: The basic recommendation is to assign 1 GB of L1 cache in Write-Back or Write-Through mode per 1 TB of storage capacity. Yet, the cache size should correspond to the storage working set of the servers.

43. Define Flash Cache Parameters and size if necessary. Choose SSD location in the wizard. Press Next.

NOTE: The recommended size of the L2 cache is 10% of the initial StarWind device capacity.

44. Specify the target parameters. Enable the Target Name checkbox to customize the target name. Otherwise, the name will be generated automatically based on the target alias. Click Next.

45. Click Create to add a new device and attach it to the target. Then click Close.

46. Right-click on the newly created device and select Replication Manager. The Replication Manager window will appear. Press the Add Replica button.

47. Select Synchronous two-way replication. Click Next to proceed.

48. Specify the partner server IP address. The default StarWind management port is 3261. If a different port has been configured, type it in the Port Number field. Click Next to continue.

49. Select the failover strategy for the HA device. For the purposes of this document, the Heartbeat failover strategy is used. Click Next to continue.

50. Choose Create new Partner Device. Click Next.

51. Specify the partner device location if necessary and/or modify the target name of the device. Click Next.

52. Select the synchronization and heartbeat networks for the HA device by clicking Change Network Settings.

53. Specify the interfaces for synchronization and heartbeat. Press OK. Then click Next.

NOTE: It is recommended to configure the Heartbeat and iSCSI channels on the same interfaces to avoid the split-brain issue. If the Synchronization and Heartbeat interfaces are located on the same network adapter, it is recommended to assign one more Heartbeat interface to a separate adapter.

54. Select Synchronize from existing Device for the partner device initialization mode. Click Next.

55. Press the Create Replica button. Then click Close.

56. The added device will appear in StarWind Management Console.

Repeat the HA device creation steps for any virtual disks that will be further used as a Cluster Shared Volumes.

Once all devices are created, Management Console should look as shown in the screenshot below.

Discovering Target Portals

This part describes how to discover Target Portals on each StarWind node.

57. Launch Microsoft iSCSI Initiator: Start -> Windows Administrative Tools -> iSCSI Initiator. Alternatively, launch it using the command below in the command line interface:

58. Navigate to the Discovery tab.

59. Click on the Discover Portal button. The Discover Target Portal dialog appears. Type

60. Click on the Advanced button. Select Microsoft iSCSI Initiator as a Local adapter and select Initiator IP (leave default for Confirm the actions to complete the Target Portal discovery.

61. Click the Discover Portal… button again.

62. In Discover Target Portal dialog, type in the iSCSI interface IP address of the partner node that will be used to connect the StarWind-provisioned targets. Click Advanced.

63. Select Microsoft iSCSI Initiator as the Local adapter, select the Initiator IP in the same subnet as the IP address of the partner server from the previous step. Confirm the actions to complete the Target Portal discovery.

64. Now, all target portals are added on the first node.

65. Go through Target Portals Discovery steps on the partner node.

66. The resulting Discovery tab on the partner node will look as shown in the screenshot below.

Connecting Targets

67. Click on the Targets tab. The previously created targets are listed in the Discovered Targets section.

NOTE: If the created targets are not listed, check the firewall settings of the StarWind Server as well as the list of networks served by the StarWind Server (go to StarWind Management Console -> Configuration -> Network). Alternatively, check the Access Rights tab on the corresponding StarWind VSAN server in StarWind Management Console for any restrictions implemented.

68. Select the Witness target from the local server and click Connect.

69. Enable the checkboxes as shown in the image below. Click Advanced.

70. Select Microsoft iSCSI Initiator in the Local adapter dropdown menu. In Target portal IP, select Confirm the actions.

NOTE: It is recommended to connect the Witness device only by loopback ( address. Do not connect the target to the Witness device from the partner StarWind node.

71. Select the CSV1 target discovered from the local server and click Connect.

72. Enable checkboxes as in the image below. Click Advanced.

73. Select Microsoft iSCSI Initiator in the Local adapter dropdown menu. In Target portal IP, select Confirm the actions.

74. Select the partner target from the other StarWind node and click Connect.

75. Enable checkboxes as in the image below. Click Advanced.

76. Select Microsoft iSCSI Initiator in the Local adapter dropdown menu. In the Initiator IP field, select the IP address for iSCSI channel. In the Target portal IP, select the corresponding portal IP from the same subnet. Confirm the actions.

77. Repeat the steps above for all remaining HA device targets. The result should look like in the screenshot below.

78. Repeat the steps described in this part on the other StarWind node, specifying corresponding local and data channel IP addresses. The result should look like in the screenshot below.

Configuring Multipath

NOTE: It is recommended to configure the different MPIO policies depending on iSCSI channel throughput. For 1 Gbps iSCSI channel throughput, it is recommended to set Failover Only or Least Queue Depth MPIO load balancing policy. For 10 Gbps iSCSI channel throughput, it is recommended to set Round Robin or Least Queue Depth MPIO load balancing policy.

79. Configure the MPIO policy for each target with the preferred load balance policy. Select the target located on the local server and click Devices.

80. In the Devices dialog, click MPIO.

81. Select the appropriate load balance policy.

82. For the Witness target, set the load balance policy to Failover Only.

83. Repeat the steps above for configuring the MPIO policy for each remaining device on the current node and on the partner node.

NOTE: In case the Failover Only MPIO policy is used, be sure to check that the local path ( is set to Active while the partner connection is set to Standby.

Connecting Disks to Servers

84. Open the Disk Management snap-in. The StarWind disks will appear as unallocated and will be offline.

85. Bring the disks online by right-clicking on them and selecting the Online menu option.

86. Select a disk other than Witness (to make a proper choice, check the disk size) and right-click on it to initialize.

87. By default, the system will offer to initialize all non-initialized disks. Use the Select Disks area to choose the disks. Select GPT (GUID Partition Style) for the partition style to be applied to the disks. Press OK to confirm.

88. Right-click on the selected disk and choose New Simple Volume.

89. In New Simple Volume Wizard, indicate the volume size. Click on the Next button.

90. Assign a drive letter to the disk. Click Next.

91. Select NTFS in the File System dropdown menu. Keep the Allocation unit size as Default. Set the Volume Label of choice. Click Next.

92. Press Finish to complete the operation.

93. Complete the steps above for the Witness disk. Do not assign any drive letter or drive path for it.

94. On the partner node, open the Disk Management snap-in. All StarWind disks will appear offline. If the status is different from the one seen in the screenshot below, click Refresh under Action in the top menu to update the information about the disks.

95. Bring all StarWind disks online as described above.

Creating a Cluster

NOTE: To avoid issues during the cluster configuration validation, it is recommended to install the latest Microsoft updates on each node.

96. Open Server Manager. Select the Failover Cluster Manager item from the Tools menu.

97. Click the Create Cluster link in the Actions section of the Failover Cluster Manager.

98. Specify the servers to be added to the cluster. Click Next to continue.

99. Validate the configuration by passing the cluster validation tests: select Yes… and click Next to continue.

100. Specify the cluster name.

NOTE: If the cluster servers get IP addresses over DHCP, the cluster also gets its IP address over DHCP, though this scenario is not advisable. If the IP addresses are set statically, it is required to set the cluster IP address manually. Click Next to continue.

101. Make sure that all settings are correct. Click Previous to make any changes. Click Next to proceed.

NOTE: If the Add all eligible storage to the cluster checkbox is enabled, the wizard will try to add all disks to the cluster automatically. The smallest device will be assigned as the cluster witness disk. It is recommended to unable this checkbox before clicking Next and assign the cluster witness disk later manually.

102. Upon cluster creation completion, the system displays a report with the detailed information that can be viewed by clicking on the View Report button. Alternatively, click Finish to close the wizard.

Adding Storage to the Cluster

Follow the steps below to add the Cluster Shared Volumes (CSV) that are necessary for working with Hyper-V virtual machines.

103. In the Failover Cluster Manager, go to Cluster -> Storage -> Disks. Click Add Disk in the Actions panel, choose StarWind disks from the list and confirm the selection.

104. To configure the cluster witness disk, right-click on Cluster and proceed to More Actions -> Configure Cluster Quorum Settings.

105. Follow the wizard and use the Select the quorum witness option. Click Next.

106. Select Configure a disk witness. Click Next.

107. Select the disk which has to be assigned as the cluster witness disk. Click Next and press Finish to complete the operation.

108. In Failover Cluster Manager, select a disk. Right-click on it and select Add to Cluster Shared Volumes.

109. If renaming of the cluster shared volume is required, right-click on the disk and select Properties. Type the new name for the disk, click Apply, and then click OK.

110. Perform the steps above for any other disk in Failover Cluster Manager. The resulting list of disks will look as shown in the screenshot below.

Configuring Cluster Network Preferences

111. In the Networks section of the Failover Cluster Manager, right-click on the network from the list. Set its new name if required to identify the network by its subnet. Apply the change and press OK.

NOTE: Do not allow cluster network communication on either iSCSI or synchronization network.

112. Rename other networks as described above, if required.

113. In the Actions tab, click Live Migration Settings. Uncheck the synchronization network only if the iSCSI network is 10+ Gbps. Apply the changes and click OK.

Post-Configuration Tasks

114. Once the disks are added to the cluster shared volumes and the network preferences are set, highly available virtual machines can be created on the cluster shared volumes. Select Roles and in the Action tab, click Virtual Machines -> New Virtual Machine. Complete the wizard.

NOTE: to avoid the unnecessary CSV overhead, configure each CSV to be owned by a different cluster node. This node should also be the preferred owner of the VMs running on that CSV.


The Windows Failover Cluster which is configured on top of Automated Storage Tiering increases the availability of services or applications running in it. It provides excellent and balanced storage performance, as well as excludes the downtime during maintenance.

In case of any additional questions, visit the StarWind Support Forum.