Free Webinar
July 3 | 11am PT / 2pm ET
Interested in vSphere environment?
Find out more about it!
Speaker: Alexey Khorolets, Solutions Engineer, StarWind

StarWind Virtual SAN for Hyper-V:
2-Node Compute and Storage Separated Scenario with Windows Server 2012 R2

Introduction to StarWind Virtual SAN for Hyper-V

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 the existing server’s storage and RAM between the participating storage cluster nodes. The mirrored storage resources are then connected to all cluster nodes and treated just as a local storage by all hypervisors and clustered applications. High Availability (HA) 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.

StarWind VSAN for Hyper-V System Requirements

Prior to installing StarWind Virtual SAN for Hyper-V, please make sure that the system meets the following requirements:

Hardware Requirements:

CPU:
Minimum one physical 1.7 GHz processor
RAM
The minimum RAM amount is 4GB. In case of implementing StarWind High Speed caching, an appropriate RAM amount should be installed additionally. The cache-dedicated RAM amount should be equal to/or higher than the one reserved for iSCSI targets caching;
In-line deduplication with LSFS requires 7.6 GB of RAM per 1 TB of deduplicated storage.
IMPORTANT NOTICE: Always reserve at least 4 GB RAM for Windows internal processes and the StarWind Virtual SAN engine.
Storage:
3 GB disk space reserved for installation and logging;
Hardware RAID controller is highly recommended;
StarWind Virtual SAN supports Microsoft Storage Spaces.
IMPORTANT NOTICE: Software RAID implementations are NOT supported.
HDD
For HHD-based RAID arrays, it is recommended to configure RAID 10 with the following settings:
Disk cache policy: Default (disabled by default);
Write policy: Write Back;
Read policy: Read ahead;
Stripe Size: 64K.
SSD
For SSD-based RAID arrays, it recommended to configure RAID1 for 2x SSDs; RAID5 for 3x and more SSDs, or RAID10 for 4x and more pair SSD with the following settings:
Disk cache policy: Default (enabled by default);
Write policy: Write Through;
Read policy: No read ahead;
Stripe Size: 64K.

Network Requirements:

Minimum of 2 x 1GbE physical NICs;
The minimum supported bandwidth is 1 GbE. In case of an intensive workload, the scaling to the 10 GbE or 40 GbE infrastructure should be considered. In order to maximize the SAN environment performance, it is highly recommended to use 9K Jumbo frame capable network equipment.

Software Requirements:

Please make sure, that one of the supported Windows Server editions is installed.

Supported Microsoft Windows Server editions with GUI
Windows Server 2008 R2 (partial support)
Windows Server 2012
Windows Server 2012 R2
Windows Server 2016

Supported Microsoft Windows Server GUI-less editions
Windows Server Core 2008 R2 (partial support);
Windows Server Core 2012;
Windows Server Core 2012 R2;
Hyper-V Server 2008 R2 (partial support);
Hyper-V Server 2012;
Hyper-V Server 2012 R2;
Hyper-V Server 2016.
IMPORTANT NOTICE: The use of Windows Server Core or Microsoft Hyper-V Server as a base OS is incompatible with StarWind Management Console local installation. In this case, the StarWind Management console should be installed on any other computer. Please note that for remote management, port 3261 has to be open in both machines’ firewalls.

Microsoft Windows Desktop editions compatible with StarWind Management Console
Windows 7;
Windows 8;
Windows 8.1;
Windows 10.

Pre-configuring the Windows Server 2012 R2 Hosts

The network interconnection diagram is demonstrated below:

Interconnection diagram

1. Make sure that a domain controller is configured and 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 the 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 to 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.
Enabling Multipath Support
5. Open the MPIO Properties manager: Start -> Windows Administrative Tools -> MPIO. Alternatively, run the following PowerShell command:

6. In the Discover Multi-Paths tab, choose the Add support for iSCSI devices checkbox and click Add.
MPIO properties7. When prompted to restart the server, click Yes to proceed.
8. Repeat the same procedure on the other server.

Installing StarWind VSAN for Hyper-V

1. Download the StarWind setup executable file from the StarWind website:
https://www.starwind.com/registration-starwind-virtual-san
NOTE: The setup file is the same for x86 and x64 systems, as well as for all Virtual SAN deployment scenarios.
2. 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.
License agreement3. Carefully read the information about the new features and improvements. Red text indicates warnings for users who are updating the existing software installations.
Information4. Select Browse to modify the installation path if necessary. Click Next to continue.
Select destination location5. Select the following components for the minimum setup:

  • StarWind Virtual SAN Service. 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).

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.
Select components6. Specify Start Menu Folder.
start menu folder 7. Enable the checkbox if a desktop icon needs to be created. Click Next to continue.
Start Menu Folder8. When the license key prompt appears, choose the appropriate option:

  • Request time-limited fully functional evaluation key.
  • Request FREE version key.
  • Select the previously purchased commercial license key.

license key9. Click Browse to locate the license file. Click Next to continue.
locate the license file10. Review the licensing information. Click Next to continue.
licensing information11. Verify the installation settings. Click Back to make any changes or Install to proceed with the installation.
Ready to install12. Enable the appropriate checkbox to launch StarWind Management Console right after the setup wizard is closed and click Finish.
StarWind VSAN wizard13. Repeat the installation steps on the partner node.

Creating StarWind HA Devices

1. Open Add Device (advanced) Wizard.
2. Select Hard Disk Device as the type of device to be created.
3. Select Virtual Disk.
4. Specify a virtual disk Name, Location, and Size.
5. Select the Thick provisioned disk type.
6. Define a caching policy and specify a cache size (in MB). Also, the maximum available cache size can be specified by selecting the appropriate checkbox. Optionally, define the L2 caching policy and cache size.
7. Specify Target Parameters. Select the Target Name checkbox to enter a custom target name. Otherwise, the name is generated automatically in accordance with the specified target alias.
8. Click Create to add a new device and attach it to the target.
9. Click Close to finish the device creation.
10. Right-click the recently created device and select Replication Manager from the shortcut menu.
11. Select the Add Replica button in the top menu.

Select the Required Replication Mode

The replication can be configured in one of two modes:

Synchronous “Two-Way” Replication
Synchronous or active-active replication ensures real-time synchronization and load balancing of data between two or three cluster nodes. Such a configuration tolerates the failure of two out of three storage nodes and enables the creation of an effective business continuity plan. With synchronous mirroring, each write operation requires control confirmation from both storage nodes. It guarantees the reliability of data transfers but is demanding in bandwidth since mirroring will not work on high-latency networks.

Asynchronous “One-Way” Replication
Asynchronous Replication is used to copy data over a WAN to a separate location from the main storage system. With asynchronous replication, confirmation from each storage node is not required during the data transfer. Asynchronous replication does not guarantee data integrity in case of storage or network failure; hence, some data loss may occur, which makes asynchronous replication a better fit for backup and disaster recovery purposes where some data loss is acceptable. The Replication process can be scheduled in order to prevent the main storage system and network channels overloads.
Please select the required option:

Synchronous “Two-Way” replication

1. Select Synchronous “Two-Way” replication as a replication mode.
synchronous replication Windows Server 2012
2. Specify a partner Host name or IP address and Port Number.

Asynchronous “One-Way” Replication

NOTE: Asynchronous replication requires minimum 100 MbE network bandwidth or higher. The Asynchronous node uses the LSFS device by design. Please, make sure that the Asynchronous node meets the LSFS device requirements:
https://knowledgebase.starwindsoftware.com/explanation/lsfs-container-technical-description/
1. Select Asynchronous “One-Way” Replication.
asynchronous replication ws 2012 2. Enter Host name or IP address of the Asynchronous node.
3. Choose the Create New Partner Device option.
4. Specify the partner device Location . Optionally, modify the target name by clicking the appropriate button.
5. Click Change Network Settings.
6. Specify the network for asynchronous replication between the nodes. Click OK and then click Next.
7. In Select Partner Device Initialization Mode, select Synchronize from existing Device and click Next.
8. Specify Scheduler Settings and click Next.
NOTE: The size of journal files and number of snapshots depends on the settings specified in this step.
9. Specify the path for journal files and click Next.
NOTE: By default, the journal files will be located on the node with the original device. However, it is highly recommended not to store journal files on the same drive where the original device is located. Additionally, the C:\ drive should not be used as the path for journal files to avoid any issues with Windows OS.
If the same drive where the StarWind device is located is selected, the warning message about possible performance issues will pop up. If there is no additional volume available for storing the journals, click I understand the potential problem. Use the selected path.
journal settings 10. Press the Create Replica button.
11. Wait until StarWind service creates a device and click Close to complete the device creation.

Selecting the Failover Strategy

StarWind provides 2 options for configuring a failover strategy:

Heartbeat
The Heartbeat failover strategy allows avoiding the “split-brain” scenario when the HA cluster nodes are unable to synchronize but continue to accept write commands from the initiators independently. It can occur when all synchronization and heartbeat channels disconnect simultaneously, and the partner nodes do not respond to the node’s requests. As a result, StarWind service assumes the partner nodes to be offline and continues operations on a single-node mode using data written to it.
If at least one heartbeat link is online, StarWind services can communicate with each other via this link. The device with the lowest priority will be marked as not synchronized and get subsequently blocked for the further read and write operations until the synchronization channel resumption. At the same time, the partner device on the synchronized node flushes data from the cache to the disk to preserve data integrity in case the node goes down unexpectedly. It is recommended to assign more independent heartbeat channels during the replica creation to improve system stability and avoid the “split-brain” issue.
With the heartbeat failover strategy, the storage cluster will continue working with only one StarWind node available.

Node Majority
The Node Majority failover strategy ensures the synchronization connection without any additional heartbeat links. The failure-handling process occurs when the node has detected the absence of the connection with the partner.
The main requirement for keeping the node operational is an active connection with more than half of the HA device’s nodes. Calculation of the available partners is based on their “votes”.
In case of a two-node HA storage, all nodes will be disconnected if there is a problem on the node itself, or in communication between them. Therefore, the Node Majority failover strategy requires the addition of the third Witness node which participates in the nodes count for the majority, but neither contains data on it nor is involved in processing clients’ requests. In case an HA device is replicated between 3 nodes, no Witness node is required.
With Node Majority failover strategy, failure of only one node can be tolerated. If two nodes fail, the third node will also become unavailable to clients’ requests.
Please select the required option:

Heartbeat

1. Select Failover Strategy.
Heartbeat 2. Select Create new Partner Device and click Next.
3. Select a partner device Location.
4. Click Change Network Settings.
Change Network Settings5. Specify the interfaces for Synchronization and Heartbeat Channels. Click OK and then click Next.Synchronization and Heartbeat Channels6. In Select Partner Device Initialization Mode, select Synchronize from existing Device and click Next.
7. Click Create Replica. Click Finish to close the wizard.
The successfully added device appears in StarWind Management Console.
8. Follow a similar procedure for the creation of other virtual disks that will be used as storage repositories.

Node Majority

1. Select the Node Majority failover strategy and click Next.
node majority 2. Choose Create new Partner Device and click Next.
3. Specify the partner device Location and modify the target name if necessary. Click Next.
4. In Network Options for Replication, press the Change network settings button and select the synchronization channel for the HA device.
5. In Specify Interfaces for Synchronization Channels, select the checkboxes with the appropriate networks and click OK. Then click Next.
6. Select Synchronize from existing Device as the partner device initialization mode.
7. Press the Create Replica button and close the wizard.
8. The added devices will appear in StarWind Management Console.
Repeat the steps above to create other virtual disks if necessary.

Adding Witness Node
Witness node can be configured on a separate host or as a virtual machine in a cloud. It requires StarWind Virtual SAN service installed on it.
NOTE: Since the device created in this guide is replicated between 2 active nodes with the Node Majority failover strategy, a Witness node must be added to it.
1. Open StarWind Management Console, right-click on the Servers field and press the Add Server button. Add a new StarWind Server which will be used as the Witness node and click OK.
add server 2. Right-click on the HA device with the configured Node Majority failover policy and select Replication Manager and press the Add Replica button.
3. Select Witness Node.
witness node selecting 4. Specify the Witness node Host Name or IP address. The default Port Number is 3261.
witness node 5. In Partner Device Setup, specify the Witness device Location. Optionally, modify the target name by clicking the appropriate button.
6. In Network Options for Replication, select the synchronization channel with the Witness node by clicking the Change Network Settings button.
7. Specify the interface for Synchronization and Heartbeat and click OK.
8. Click Create Replica and then close the wizard.
9. Repeat the steps above to create other virtual disks if necessary.

Provisioning StarWind HA Storage to Windows Server Hosts

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

2. Navigate to the Discovery tab.
3. Click the Discover Portal button. The Discover Target Portal dialog appears. Type 172.16.30.10Discover Target PortalClick the Advanced button.
4. Select Microsoft iSCSI Initiator as Local adapter and select Cluster Node 1 initiator IP address from the same subnet. Click OK twice to add the Portal.Local adapter5. Click the Discover Portal button once again.
6. 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 AdvancedDiscover Target Portal7. 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.Select Microsoft iSCSI Initiator as Local adapter8. Now, all the target portals are added on the first node.
9. To Discover Targets Portals from the second StarWind node, click the Discover Portal button once again, enter iSCSI IP address for the second StarWind Node (172.16.30.20). Click the Advanced button.
discover target portal10. Select Microsoft iSCSI Initiator as Local adapter and select Cluster Node 1 initiator IP address from the same subnet. Click OK twice to add the Portal.
advanced settings11. Click the Discover Portal button once again. In Discover Target Portal dialog, enter another iSCSI IP address of the second StarWind Node (172.16.40.20). Click the Advanced button.
Discover Portal12. Select Microsoft iSCSI Initiator as Local adapter and select the Cluster Node 1 initiator IP address from the same subnet. Click OK twice to add the Portal.
Select Microsoft iSCSI Initiator as Local adapter13. All target portals are successfully added to the Cluster Node 1.target portals14. Repeat the steps 1-13 on the partner node.

Connecting Targets

1. Launch Microsoft iSCSI Initiator on Cluster Node 1 and click on the Targets tab. The previously created targets should be 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).
2. Select a target discovered from the first StarWind Node and click Connect.iscsi initiator properties3. Enable checkboxes as shown in the image below. Click Advanced.
connect to target4. Select Microsoft iSCSI Initiator in the Local adapter dropdown menu. In the Target portal IP, select the IP address of the first StarWind Node and Initiator IP address from the same subnet. Click OK twice to connect the target.advanced settings5. To connect the same target via another subnet, select it once again and click Connect.
6. Enable checkboxes like in the image below and click Advanced.connect to target7. Select Microsoft iSCSI Initiator in the Local adapter text field.
8. In the Target portal IP select another IP address of the first StarWind Node and Initiator IP address from the same subnet. Click OK twice to connect the target.Target portal IP9. Select the partner target discovered from the second StarWind node and click Connect.partner target10. Enable checkboxes like in the image below and click Advanced.connect to target11. Select Microsoft iSCSI Initiator in the Local adapter text field.
12. In Target portal IP, select the IP address of the second StarWind Node and Initiator IP address from the same subnet. Click OK twice to connect the target.Target portal IP13. To connect the same target via another subnet, select it once again and click Connect.
14. Enable checkboxes like in the screenshot below and click Advanced.target name15. In the Target portal IP select another IP address of the second StarWind Node and Initiator IP address from the same subnet. Click OK twice to connect the target.Target portal IP16. Repeat steps 1-15 for all HA device targets.
After that, repeat the steps 1-17 on the Cluster node 2, specifying corresponding IP addresses. The result should look like in the picture below.
iscsi initiator properties17. Initialize the disks and create partitions on them using the Disk Management snap-in. To create the cluster, the disk devices must be initialized and formatted on both nodes.
NOTE: it is recommended to initialize the disks as GPT.

Creating a Failover Cluster in Windows Server 2012 R2

NOTE: To avoid issues during the cluster validation configuration, it is recommended to install the latest Microsoft updates on each node.
1. Open Server Manager. Select the Failover Cluster Manager item from the Tools menu.
Server Manager2. Click the Create Cluster link in the Actions section of Failover Cluster Manager.
Failover Cluster Manager3. Specify the servers to be added to the cluster. Click Next to continue.select servers4. Validate the configuration by running the cluster validation tests: select Yes… and click Next to continue.
validation warning5. Specify Cluster Name.
NOTE: If the cluster servers get IP addresses over DHCP, the cluster also gets its IP address over DHCP. If the IP addresses are set statically, set the cluster IP address manually.cluster name6. In Confirmation, make sure that all settings are correct. Click Previous to make any changes or Next to proceed.
NOTE: If checkbox Add all eligible storage to the cluster is selected, the wizard will add all disks to the cluster automatically. The device with the smallest storage volume will be assigned as a Witness. It is recommended to uncheck this option before clicking Next and add cluster disks and the Witness drive manually.
7. The process of the cluster creation starts. Upon the completion, the system displays the summary with the detailed information. Click Finish to close the wizard.Create cluster wizard

Adding Storage to the Cluster
1. In Failover Cluster Manager, navigate to Cluster -> Storage -> Disks. Click Add Disk in the Actions panel, choose StarWind disks from the list and confirm the selection.
Networks section of the Failover Cluster Manager2. To configure the cluster witness disk, right-click on Cluster and proceed to More Actions -> Configure Cluster Quorum Settings.
Configure Cluster Quorum Settings3. Follow the wizard and select the Select the quorum witness option. Click Next.
select quorum witness4. Select Configure a disk witness. Click Next.
configure witness5. Select the Witness disk to be assigned as the cluster witness disk. Click Next and press Finish to complete the operation.
configure cluster quorum6. In Failover Cluster Manager, right-click the disk and select Add to Cluster Shared Volumes.
Add to Cluster Shared Volumes7. If renaming of the cluster shared volume is required, right-click on the disk and select Properties. Type the new name for the disk and click Apply followed by OK.
csv properties8. Perform the steps 6-7 for any other disk in Failover Cluster Manager. The resulting list of disks will look similar to the screenshot below.
Failover Cluster Manager
Configuring Cluster Network Preferences
1. In the Networks section of the Failover Cluster Manager, right-click on the network from the list.  If required, set its new name 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.Cluster network properties2. Rename other networks as described above, if required.Rename network3. 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.
Networks properties

 
Save your time finding all the answers to your questions in one place!
Have a question? Doubt something? Or just want to know an independent opinion?
StarWind Forum exists for you to “trust and verify” any issue already discussed and solved