VM Scale Booster
The HyWorks VM Scale Booster is used by the HyWorks Desktop Agent to send status updates and events. The latest releases of the HyWorks VM Scale Booster also support pushing the HyWorks Session Host Server and the Monitoring Service status/system load information. This helps in getting faster updates and reduces polling overhead on the controller.
Installation of the HyWorks VM Scale Booster
Prerequisites
The HyWorks VM Scale Booster can be installed either on the controller server or any other Windows machine that fulfills below mentioned prerequisites:
-
.NET Framework 4.7.2
-
Erlang (otp_win64_22.0.exe)
-
RabbitMQ
.Net Framework 4.7.2 Installation
Dot net 4.7.2 comes pre-installed in the latest Windows servers, but for the older versions of Windows servers, it needs to be downloaded through the Microsoft website and installed.
Erlang (OTP) Installation
-
Download Erlang (OTP) v22.0 from http://erlang.org/download/
-
Connect to the server that needs to be configured as the VM Scale Booster with user credentials that have local administrator privileges, double click otp_win64_22.0.exe and proceed with the the installation process with all the default options.
-
Once the installation process is complete, click on Finish to close the Installation wizard of Erlang.
-
Reboot, if required, to complete the Erlang installation process.
RabbitMQ (v3.7.17) Installation
-
Download the Rabbit MQ server module v3.7.17 from https://github.com/rabbitmq/rabbitmq-server/releases/tag/v3.7.17
-
Connect to the server that needs to be configured as the VM Scale Booster with user credentials that has local administrator privileges, double click on rabbitmq-server-3.7.17.exe.
-
Once the installation process is complete, confirm whether the RabbitMQ service is installed and running.
HyWorks VM Scale Booster Installation
Download the latest HyWorks VM Scale Booster for Windows and follow the steps listed below to install:
-
Double click on the HyWorks VM Scale Booster Installer [HyWorksVMScaleBooster_Net472.exe].
-
In the Accops HyWorks VM Scale Booster wizard, click Next to proceed.
-
Select the components to be installed and click Next.
-
Installing for the first time: Select both the components - Accops HyWorks VM Scale Booster and Configure RabbitMQ
-
Upgrade: Select the Accops HyWorks VM Scale Booster
-
-
Accept the License Agreement by clicking I Agree option to proceed.
-
This will start the installation process. Once complete, click Finish to close the Installation wizard
-
Check the services section to verify whether the Accops HyWorks VM Scale Booster Service is installed and running.
HyWorks VM Scale Booster Configuration
After a successful installation, the following configurations should be done to enable communication between the HyWorks VM Scale Booster and the HyWorks Controller:
-
Locate the appsettings.json file in the Directory where the HyWorks VM Scale Booster is installed - C:\Program Files (x86)\Accops\HyWorks VM Scale Booster\appsettings.json.
-
Update the following tags (refer to the screenshot)
-
Servers
-
IP1: IP address of the Primary HyWorks Controller
-
IP2: IP address of the Secondary HyWorks Controller
-
-
RabbitMQ
-
Host: IP address of the RabbitMQ server
-
Port: If the RabbitMQ is running on a different port other than the default 5672 port
-
-
Syslog
- Host IP address of the syslog server
-
-
Save appsettings.json
-
Restart the Accops HyWorks VM Scale Booster service
Enable VM Scale Booster on the Controller
Configuration on the HyWorks Controller
Once the HyWorks VM Scale Booster is configured and the services are running, follow the steps given below to enable the VM Scale Booster from the HyWorks Controller:
-
Open the HyWorks Management Console > System > Advance config
-
Search for the tag DVM push and make the following changes:
-
DVM Agent Queue Username: accopsmqadmin
-
Desktop Poll Mode: 2
-
DVM Agent Queue Hostname: IP of the RabbitMQ (in case of HA, VIP of RabbitMQ)
-
-
Save the configurations and click Update to push the changes
Configuration on the SHD
-
Install the latest Session Host Installer setup that has the in-built DVM Tools-Lite. The Session Host Server and the Monitoring Services will use the DVM Tools to push the service and the load status.
-
On the Session Host Server, verify that the registry entry EnableShdMode flag is set as true at HKLM\Software\Accops\DesktopAgent.
Limitations of the VM Scale Booster
-
The VM Scale Booster feature works only for Managed SHD Pools.
-
The VM Scale Booster feature works only for Windows Managed SHDs. Linux SHD does not support the SHD push Feature.
-
The HyWorks VM Scale Booster [v3.3.0.20] requires 3.3 GA or above Controller & SHD and vice versa.
Important (VM Scale Booster)
-
During the installation of this new Session Host, it installs a DVMTools-Lite automatically and sets the EnableShdMode registry of the Desktop Agent as True. So, if the manual is set as false, then the SHD Push will not work.
-
The manual installation arguments for the SHD Mode enabled DVMTools with regular release:
- Argument: HyWorksDVMTools.exe /S /desktopagent=1 /hyprint=0 /usbcleaner=0 /usbredirection=0 /EnableShdMode=1
-
DVM push agent refresh timeout: After this timeout, only the controller-driven manual poll will be executed to each of the SessionHosts/MonitoringServers/DVMAgents.
Azure-specific configurations on the Controller
Add the following inbound firewall rules for ports:
-
5672: RabbitMQ Message Queue [Must]
-
15672: RabbitMQ Management Console [Optional]
Troubleshooting
-
In case of Azure, the rule needs to be added on the Network Interface via the Azure portal for port number 5672 and 15672
-
Check the IP address of the Controllers in appsetting.json file
-
Check the Username and Hostname for the RabbitMq in the Advance config section on the Management Console
Appendix
Change the default port of RabbitMQ
-
Controller: Update the port into MMC > Advance Config with Key[DVM Agent Queue Port]
-
HyWorks VM Scale Booster: Update the port[key: RabbitMQ-> Port] in the config file at
-
Filename: appsettings.json
-
Path: C:\Program Files (x86)\Accops\HyWorks VM Scale Booster
-
-
Update the RabbitMQ port at the config file:
-
Path: C:\Users\Administrator\AppData\Roaming\RabbitMQ
-
File name: rabbitmq.config.example
-
Changes:
-
Existing string: %% {tcp_listeners, [5672]},
-
Updated string: {tcp_listeners, [5673]}
-
Please note that the comma is removed from the end
-
Save the file and rename it to rabbitmq.config
-
-
RabbitMQ Service reinstall steps:
-
cd C:\Program Files\RabbitMQ Server\rabbitmq_server-3.7.17\sbin
-
rabbitmqctl.bat stop
-
rabbitmq-service.bat remove
-
rabbitmq-service.bat install
-
rabbitmq-service.bat start
-
-
VM Scale Booster HA Configuration
-
After a successful installation of the Accops HyWorks VM Scale Booster, log in to both the VMs with AD Admin (both VMs should be joined to the same domain)
-
Copy the PowerShell script FC_Configure.ps1 locally to both the VMs
-
Update the configurations into the scripts [viz. Failover Cluster old/new names, hostnames & VIPs]
-
Run the PowerShell ISE with Admin privilege
-
Execute set-executionpolicy remotesigned to enable the PowerShell script execution
-
Open or load the script FC_Configure.ps1
-
Update the following tags (refer to the screenshot)
-
: new_FC_Name: Name of the Failover Cluster
-
: new_FC_RabbitMq_Name: Name of the Failover Cluster role for RabbitMq
-
: new_FC_DVMConsumer_Name: Name of the Failover Cluster role for the HyWorks VM Scale Booster
-
: HostName_1: Hostname of the first VM of the HA configuration
-
: HostName_1: Hostname of the Second VM of the HA configuration
-
: VIP_FC: Provide an available IP address for the Failover Cluster
-
: VIP_FCRabbitMq: Provide an available IP address for the RabbitMq role in the Failover Cluster
-
: VIP_FC_DVMConsumer: Provide an available IP address for the HyWorks VM Scale Booster role in the Failover Cluster
-
Note
The name given to the Failover cluster and roles should not be greater than 15 characters
-
This will enable the Failover Clustering Feature for the machine and will prompt for the Failover clustering configuration
-
On one VM, click No for a clean-up, if any previous Cluster Group or Role has been added
-
On another VM, click Yes to configure the Failover cluster [it will first cleanup the local Failover cluster, followed by configuration of the the new one]
-
-
The Failover cluster should now be configured and ready to use. Confirm that the configured Roles are visible and are running.
-
Update the VIP used for FC_RabbitMq in the appsettings.json file on both the machines and restart the Accops HyWorks VM Scale Booster service.
-
In the Failover Cluster Manager, right click FC_AccopsDvmConsumer role > Move > Select Node > (Select another node) Ok
-
For the FC_RabbitMq role, the same steps as the ones mentioned above should be executed.
The system should now be ready to use, and will automatically switch the VIP in case of service failure, allowing the DVMs to push to only one RabbitMQ server using the VIP.