Applies to: WAVE
Summary
Technical Support often uses virtualization to reproduce customer scenarios, since it is much easier to create multiple virtual machines on a single server, as opposed to needing several physical bare-metal servers for the same task.
We encourage any support agent or pre-sales engineer to get familiar with virtualization, as it makes life much easier when investigating various cases one may encounter.
This article provides instructions for using WAVE Client in a virtual environment.
Before getting started, please read this webpage about Virtual Machines (VMs).
IMPORTANT: Please be aware that we do not test each virtualization manager for
each WAVE release or patch as providing support for virtualization managers
and other 3rd party products is outside of Technical Support scope.
It is the responsibility of the user to verify the compatibility.
Environment
Due to the wide variety of host and guest operating systems, the number of cameras, rules, applications (e.g., 3rd party AI analytics), and the virtualization manager itself, recommended settings are not available. It may be worth considering a headless system to save resources.
The two most common VM operating systems for WAVE are Ubuntu and Windows.
To get a feel for the type of performance you can expect, please look at our test results below. We have set up the following system:
- Host OS – Ubuntu 20.04 LTS
Running applications:
VirtualBox 6.1
WAVE Client 4.2.0.32658
- Guest OS – Ubuntu 20.04 LTS
Running applications:
WAVE Server 4.2.0.32658
WAVE Test Camera 4.2.0.32658
The following resources were allocated for the VM:
- 2 Cores (i7-10510U)
- 8 GB RAM
- 50GB Storage
In our test environment, we had 24 Full HD streams actively recording at 25 fps filming a public road and had them open in the layout with an average CPU utilization of ~22% and 15% RAM load of VM running the server application.
The video files used in our testing:
It was a stable and smooth experience, although results may vary depending on your hardware. In general, the more resources you allocate to, the VM the better your results will be.
Cloning
In a virtualization manager, cloning allows you to make identical copies of a VM, making it quick and easy to deploy large environments on a single physical host machine.
NOTE: Cloning means an identical copy of the source VM and thus identical
Hardware IDs (HWID). If more than one VM uses an HWID, it will cause license
issues since licenses are bound to a unique HWID.
To prevent that, please take the following steps:
- Build a VM with the guest OS of choice.
- Install the WAVE Media Server application in the VM.
- Change the configuration settings:
For Windows:
a. Open Registry Editor (Windows key → regedit)
b. Navigate to HKEY_LOCAL_MACHINE\SOFTWARE\Hanwha\Hanwha Media Server
c. Find and delete the following attributes: serverGuid and guidIsHwid=yes
d. Close Registry Editor.
For Linux:
a. Open Terminal (Ctrl+Alt+T)
b. Change the directory: cd /opt/Hanwha/mediaserver/etc
c. Edit the configuration file: sudo nano mediaserver.conf
d. Find and delete the following attributes: serverGuid and guidIsHwid=yes
e. Save and close the configuration file.
- Shut down the VM and use it as a source for cloning.
WARNING: Do not start the VM before cloning, otherwise, you will have to
repeat step 3 before cloning. - When cloning the VM, please make sure you generate new MAC addresses for each clone. This way, each clone that is created will have a unique MAC address and a unique HWID associated with it, which should prevent license conflicts.
NOTE: Since it might be possible that identical MAC addresses are generated,
it is good practice to keep a list of MAC addresses and HWIDs for each VM
to check for duplicates that should be corrected, especially when you
deploy numerous VMs.
WAVE Client
In general, virtual machines do not run GUI-based tasks as well as they are able to host services/daemons due to additional load that is applied to the CPU software rendering.
The performance will vary depending on the virtualization manager, but in general, the experience is not as smooth as it would be on the host OS.
If you want to run WAVE Client in a VM anyway, make sure that the guest OS is compatible with OpenGL 2.1 or newer, and has 3D acceleration enabled in the VM settings.
Known Limitations
The WAVE Server application fails to start and displays log file entries similar to:
2017-06-09 15:12:06.945 704 ERROR: Can't save guid. Run once as administrator. The solution can be found in a Wisenet Wave - Media server terminates in virtual environment.
It might take a lot of time to initialize shared NAS devices. It happens because of delays in OS level calls. The WAVE team cannot do anything about it right now from the software side. As an option, it is better to set up a large local drive and use it for recording until the NAS has initialized.
There is a slight chance that the virtual machine will improperly report the hardware information that the server requires to generate the Hardware ID. If you encounter this issue, please report it to your authorized WAVE reseller, as it might cause your license keys to become deactivated.
Suitable Virtualization Managers
The following virtualization managers are confirmed to work with WAVE Server when installed on a supported Operating System:
The following virtualization manager is not recommended for use with WAVE: Citrix Hypervisor (formerly known as XenServer)
Questions
If you have any questions related to this topic, please reach out to your local reseller.