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.
The proper Virtual Private Cloud (VPC) configuration is a key to successfully realize Microsoft Failover Cluster instances on AWS.
There are two possible ways to deploy StarWind instances in AWS:
- Two StarWind instances within the same VPC but in different Availability Zones using routing tables;
- Two StarWind instances in different VPCs using a peering connection to communicate.
Principal architecture diagram:
Windows Failover Clustering requires Active Directory (AD) as an orchestrator. AD DC (Active Directory Domain Controller) can be either configured as on-premises DC (Domain Controller) with VPN connections to AWS StarWind Instances or/and the virtual instance in AWS EC2 with optional replication to the on-premises domain controller using built-in active directory replication. AWS AD DC best practices can be found by following this link.
Configuring Networks in AWS EC2
1. Select a region for use in AWS EC2.
2. Open AWS Management Console and navigate to VPC option in Networking & Content Delivery section.
3. Click on the Create VPC button.
4. Go to VPC with Public and Private Subnets tab and click Select.
5. Specify IP configuration for VPC. Click on Create VPC button.
NOTE: All corresponding subnets must be located within the same Availability Zone.
6. Create one more VPC in the different region with subnets configured.
7. To create Peering Connections between VPC in different regions, Navigate to VPC dashboard and click on the Peering Connections tab.
8. In the Create Peering Connection window, specify Peering connection name tag, VPC (Requester), Region, VPC (Accepter).
9. Navigate to Peering Connection on the different region and accept the connection by clicking Accept Request.
10. To add an additional Route for VPC connection, navigate to the Route Tables tab and click Edit on each VPC.
11. Click Add another route and specify public and private subnets from partner peering connection. Repeat the same operation on other VPC in the Route Tables.
12. To allow RDP and iSCSI connections to the StarWind instances, all TCP or custom TCP rules must be configured in security groups. It is possible to either allow only 3389 (RDP port) and 3260 (iSCSI port) for security groups or allow all inbound/outbound TCP. To customize the settings according to the company’s security policy, click Edit in the Security Group tab.
The configuration is ready for the deployment of StarWind instances and configuring HA devices with Failover Clustering.
To configure 2 StarWind instances in one VPC, please follow the sane process.
NOTE: StarWind virtual instances should be configured between 2 different Availability Zones and communication is allowed by routing tables.
Selecting the StarWind Virtual SAN Instance Deployment Option
StarWind Virtual SAN Instance can be created in one of the following ways: by creating a new Instance in AWS EC2 or by installing StarWind VSAN for Hyper-V on the existing Windows-based EC2 Instance. Please select the required option.
Deploying StarWind VSAN for Hyper-V in a new AWS EC2 Instance
1. Open StarWind Virtual SAN page on Amazon Marketplace by following this link.
2. Select the Instance type: BYOL (Bring Your Own License) or StarWind Virtual SAN with fees per hour.
3. Click on the Continue to Subscribe button.
4. Read and accept StarWind EULA. Click the Continue to Configuration button.
5. Select Region and click on the Continue to Launch button.
6. In the Choose Action section, select Launch through EC2 option from the drop-down list. Click Launch to proceed.
7. Select an Instance Type. StarWind highly recommends using the m4.xlarge type. Click Next: Configure Instance Details to continue.
8. Select the preconfigured VPC. Review the settings and assign an IP for the Instance. Then click Next: Add Storage.
9. Add a new volume for StarWind Instance according to the requirements. Click Next: Add Tags.
10. Assign Tags if needed. Otherwise, this step can be ignored. Click Next: Configure Security Group.
11. Select the preconfigured security groups. Click Review and Launch.
12. Review the settings once again and click Launch.
13. Repeat steps 1-12 on a different VPC or Availability Zone depending on the scenario.
Deploying StarWind VSAN for Hyper-V in an existing AWS EC2 Instance
StarWind Virtual SAN can be installed on existing Windows-based EC2 Instances via setup wizard.
1. Download StarWind setup executable file from StarWind website by following this link: 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 existing EC2 Instance.
3. Read and accept the License Agreement.
4. Carefully read the information about new features and improvements. Read the text that indicates warnings for users who update existing software installations.
5. Click Browse to modify the installation path if necessary.
6. 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 virtual machine on the network. Alternatively, the service can be managed from StarWind Web Console which is deployed separately.
- StarWind Management Console
StarWind 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).
7. Specify the Start Menu folder.
8. Select the Create a desktop icon checkbox to create a desktop icon.
9. When the license prompt appears, choose one of the following options: request either a time-limited fully functional evaluation key, request a free version key or use the commercial license key obtained along with the purchase of StarWind Virtual SAN for Hyper-V by selecting the corresponding option.
10. Click Browse to locate the license file. Then click Next to continue.
11. Verify the installation settings. Click Back to make any changes or Install to continue.
12. Select the corresponding checkbox to launch the StarWind Management Console right after the setup wizard is closed. Click Finish.
13. Repeat the installation steps on the partner EC2 Instance.
Configuring StarWind EC2 Instances
NOTE: Make sure that a domain controller is set up and that configured servers are joined to the domain.
1. Install Failover Clustering, Multipath I/O features on both servers. That can be done through Server Manager (the Add Roles and Features menu item).
2. Configure network interfaces on each node making sure that Synchronization and iSCSI/StarWind Heartbeat interfaces are in different subnets. In this document, 192.168.10.x/192.168.12.x subnet is used for iSCSI/StarWind Heartbeat traffic, while 192.168.11.x/192.168.13.x subnet is used for the Synchronization traffic.
NOTE: In order to allow iSCSI Initiators to discover all StarWind Virtual SAN interfaces, StarWind configuration file (StarWind.cfg) should be changed after stopping StarWind Service on the node where it will be edited.
Locate 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, StarWind service can be started.
3. On cluster nodes, open MPIO manager: Start->Administrative Tools->MPIO.
4. Navigate to the Discover Multi-Paths tab.
5. Select the Add support for iSCSI devices checkbox and click Add.
6. Optionally, click Yes to restart the server.
7. Repeat the procedure on the second server.
Creating a Failover Cluster in Hyper-V Server 2016
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.
2. Click the Create Cluster link in the Actions section.
3. Specify the servers which should be added to the cluster.
4. Validate the configuration by running the cluster validation tests: select Yes and click Next to continue.
5. Specify the 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.
6. Make sure that all the settings are correct. If necessary, click Previous to change the settings.
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.
Configuring the Witness Device
1. Open Failover Cluster Manager.
2. Navigate to Cluster->Storage -> Disks.
3. Click Add Disk in the Actions panel and select StarWind disks from the list. Then click OK.
4. To configure the Witness drive, right-click Cluster->More Actions->Configure Cluster Quorum Settings, follow the wizard, and use the default quorum configuration.