Introduction to StarWind Virtual SAN CVM
StarWind Virtual SAN® Controller Virtual Machine (CVM) comes as a prepackaged Linux Virtual Machine (VM) to be deployed on any industry-standard hypervisor. It creates a VM-centric and high-performing storage pool for a VM cluster.
This guide describes the deployment and configuration process of the StarWind Virtual SAN CVM.
StarWind VSAN System Requirements
Prior to installing StarWind Virtual SAN, please make sure that the system meets the requirements, which are available via the following link: https://www.starwindsoftware.com/system-requirements
Recommended RAID settings for HDD and SSD disks:
https://knowledgebase.starwindsoftware.com/guidance/recommended-raid-settings-for-hdd-and-ssd-disks/
Please read StarWind Virtual SAN Best Practices document for additional information: https://www.starwindsoftware.com/resource-library/starwind-virtual-san-best-practices
Pre-configuring the KVM Hosts
The diagram below illustrates the network and storage configuration of the solution:
1. Make sure that a oVirt engine is installed on a separate host.
2. Deploy oVirt on each server and add them to oVirt engine.
3. Define at least 2x network interfaces on each node that will be used for the Synchronization and iSCSI/StarWind heartbeat traffic. Do not use ISCSI/Heartbeat and Synchronization channels over the same physical link. Synchronization and iSCSI/Heartbeat links can be connected either via redundant switches or directly between the nodes (see diagram above).
4. Separate Logical Networks should be created for iSCSI and Synchronization traffic based on the selected before iSCSI and Synchronization interfaces. Using oVirt engine Netowrking page create two Logical Networks: one for the iSCSI/StarWind Heartbeat channel (iSCSI) and another one for the Synchronization channel (Sync).
5. Add physical NIC to Logical network on each host and configure static IP addresses. In this document, the 172.16.10.x subnet is used for iSCSI/StarWind heartbeat traffic, while 172.16.20.x subnet is used for the Synchronization traffic.
NOTE: In case NIC supports SR-IOV, enable it for the best performance. Contact support for additional details.
Enabling Multipath Support
8. Connect to server via ssh.
9. Create file /etc/multipath/conf.d/starwind.conf with the following content:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
devices{ device{ vendor "STARWIND" product "STARWIND*" path_grouping_policy multibus path_checker "tur" failback immediate path_selector "round-robin 0" rr_min_io 3 rr_weight uniform hardware_handler "1 alua" } } |
10. Restart multipathd service.
1 |
systemctl restart multipathd |
11. Repeat the same procedure on the other server.
Creating NFS share
1. Make sure that each host has free storage to create NFS share.
2. Enable nfs server and rpcbind services.
1 |
systemctl enable --now nfs-server rpcbind |
3. Create directory for NFS share.
1 |
mkdir -p /mnt/nfs |
4. Change rights and owner of the share to KVM
1 2 |
chmod 0775 /mnt/nfs/ chown -R nobody:users /mnt/nfs/ |
5. Add NFS share to /etc/exports file.
1 2 |
vi /etc/exports /mnt/nfs/ *(rw,anonuid=36,anongid=36) |
6. Restart NFS server service.
1 |
systemctl restart nfs-server |
7. Check that share has been exported.
1 |
exportfs -rvv |
8. Add firewall rules for NFS.
1 2 |
firewall-cmd --add-service={nfs,nfs3,rpc-bind} --permanent firewall-cmd --reload |
Deploying Starwind Virtual SAN CVM
1. Download StarWind VSAN CVM KVM: VSAN by StarWind: Overview
2. Extract the VM StarWindCVM.ova file from the downloaded archive.
3. Upload StarWindCVM.ova file to the oVirt Host via any SFTP client.
4. Change owner of the StarWindCVM.ova.
1 |
chown -R nobody:users /mnt/nfs/ |
5. Login to oVirt and open Compute -> Virtual Machines page. Choose Import.
6. Specify path to .ova file and choose VM to import. Click Next.
7. Verify VM settings and configure networks. Click OK.
8. Repeat all the steps from this section on other oVirt hosts.
Initial Configuration Wizard
1. Start StarWind Virtual SAN CVM.
2. Launch VM console to see the VM boot process and get the IPv4 address of the Management network interface.
Note: in case VM has no IPv4 address obtained from a DHCP server, use the Text-based User Interface (TUI) to set up a Management network.
3. Using the web browser, open a new tab and enter the VM IPv4 address to open StarWind vSAN Web Interface. Click “Advanced” and then “Continue to…”
4. StarWind vSAN web UI welcomes you, and the “Initial Configuration” wizard will guide you through the deployment process.
5. In the following step, upload the license file.
6. Read and accept the End User License Agreement to proceed.
7. Review or edit the Network settings and click Next.
Note: Static network settings are recommended for the configuration.
8. Specify the hostname for the virtual machine and click Next.
9. Create an administrator account. Click Next.
10. Review your settings selection before setting up StarWind vSAN.
11. Please standby until the Initial Configuration Wizard configures StarWind vSAN for you.
12. The appliance is set and ready. Click on the Done button to install the StarWind vCenter Plugin right now or uncheck the checkbox to skip this step and proceed to the Login page.
13. Repeat the initial configuration on other StarWind CVMs that will be used to create 2-node or 3-node HA shared storage.
Add Appliance
To create 2-way or 3-way synchronously replicated highly available storage, add partner appliances that use the same license key.
1. Add StarWind appliance(s) in the web console, on the Appliances page
NOTE: The newly added appliance will be linked to already connected partners.
2. Provide credentials of partner appliance.
3. Wait for connection and validation of settings.
4. Review the summary and click “Add appliance”.
Configure HA networking
1. Launch the “Configure HA Networking” wizard.
2. Select appliances for network configuration.
NOTE: the number of appliances to select is limited by your license, so can be either two or three appliances at a time.
3. Configure the “Data” network. Select interfaces to carry storage traffic, configure them with static IP addresses in unique networks, and specify subnet masks.
- Assign and configure at least one interface on each node
- For redundant configuration, select two interfaces on each node
- Ensure interfaces are connected to client hosts directly or through redundant switches
4. Assign MTU value to all selected network adapters, e.g. 1500 or 9000. Ensure the switches have the same MTU value set.
5. Click Next to validate Data network settings.
6. Configure the “Replication” network. Select interfaces to carry storage traffic, configure them with static IP addresses in unique networks, and specify subnet masks.
- Assign and configure at least one interface on each node
- For redundant configuration, select two interfaces on each node
- Ensure interfaces are connected to client hosts directly or through redundant switches
7. Assign MTU value to all selected network adapters, e.g. 1500 or 9000. Ensure the switches have the same MTU value set.
8. Click Next to validate the Replication network settings completion.
9. Review the summary and click Configure.
Add physical disks
Attach storage to StarWind Virtual SAN Controller VM.
- The physical hosts have all the drives connected through an HBA or RAID controller.
- HBA or RAID controller will be added via a DirectPath I/O passthrough device to a StarWind CVM. Follow the instructions from the VMware on how to add a RAID controller as a PCI device to StarWind VM:
https://docs.vmware.com/en/VMware-vSphere/8.0/vsphere-esxi-host-client/GUID-2B6D43A6-9598-47C4-A2E7-5924E3367BB6.html - StarWind CVM is installed on each server that is used to configure highly available storage.
- It is recommended to install StarWind CVM on a separate storage device available to the hypervisor host (e.g. SSD, HDD, etc.).
- For VMware vSphere environments, the disks can be added to StarWind VM as RDM. The link to VMware documentation is below:
https://docs.vmware.com/en/VMware-vSphere/7.0/com.vmware.vsphere.vm_admin.doc/GUID-4236E44E-E11F-4EDD-8CC0-12BA664BB811.html
NOTE: In order to make RDM disks available for StarWind devices in StarWind CVM Version 20231016 (build 15260), please follow the steps below.
-
Stop service:
1sudo systemctl stop starwind-san-and-nas-console
-
Get VMDK/RDM/ device letter using lsblk command:
1lsblk |grep -v sda # sda - is excluded system drive.
-
Edit config file
1sudo nano /opt/starwind/starwind-san-and-nas-console/appsettings.json
-
Add lines to the file, previously setting the disk letters to config (e.g. sdb, sdc) :
1"HardwareRaidImulation": {"PhysicalDisks": [ "sdb", "sdc" ] }, -
Start service:
1sudo systemctl start starwind-san-and-nas-console
Create Storage Pool
1. Click the “Add” button to create a storage pool.
2. Select two storage nodes to create a storage pool on them simultaneously.
3. Select physical disks to include in the storage pool name and click the “Next” button.
NOTE: Select identical type and number of disks on each storage node to create identical storage pools.
4. Select one of the preconfigured storage profiles or create a redundancy layout for the new storage pool manually according to your redundancy, capacity, and performance requirements.
Hardware RAID, Linux Software RAID, and ZFS storage pools are supported and integrated into the StarWind CVM web interface. To make easier the storage pool configuration, the preconfigured storage profiles are provided to configure the recommended pool type and layout according to the direct-attached storage:
- Hardware RAID – configures Hardware RAID’s virtual disk as a storage pool. It is available only if a hardware RAID controller is passed through to the CVM.
- High performance – creates Linux Software RAID-10 to maximize storage performance while maintaining redundancy
- High capacity – creates Linux Software RAID-5 to maximize storage capacity while maintaining
redundancy - Better redundancy – creates ZFS Stripped RAID-Z2 (RAID 60)) to maximize redundancy while maintaining high storage capacity
- Manual – allows users to configure any storage pool type and layout with attached storage.
5. Review “Summary” and click the “Create” button to create the pools on storage servers simultaneously.
Create Volume
1. To create volumes, click the “Add” button.
2. Select two identical storage pools to create a volume simultaneously.
3. Specify volume name and capacity.
4. Select the Standard volume type.
5. Review “Summary” and click the “Create” button to create the pool.
Create HA LUN
The LUN availability for StarWind LUN can be Standalone and High availability (2-way or 3-way replication) and is narrowed by your license.
1. To create a virtual disk, click the Add button.
2. Select the protocol.
3. Choose the “High availability” LUN availability type.
4. Select the appliances that will host the LUN. Partner appliances must have identical hardware configurations, including CPU, RAM, storage, and networking.
5. Select a volume to store the LUN data. Selected volumes must have identical storage configurations.
6. Select the “Heartbeat” failover strategy.
NOTE: To use the Node witness or the File share witness failover strategies, the appliances should have these features licensed.
7. Specify the HA LUN settings, e.g. name, size, and block size. Click Next.
8. Review “Summary” and click the “Create” button to create the LUN.
Provisioning StarWind HA Storage to oVirt Hosts
1. Login to oVirt engine and open Storage -> Domain. Clock New Domain.
2. Choose Storage Type – iSCSI, Host and Name of Storage Domain. Discover targets via iSCSI links, which were previously configured. Click Login All.
3. Add LUN from each iSCSI target. Click OK.
4. Storage Domain will be added to the list of Domain and can be used as a storage for VMs.
5. Login to each host and verify that multipathing policy has been applied using the following command.
1 |
multipath -ll |