Reference15r1:Concept Innovaphone Virtual Appliance
Applies To
This information applies to:
- V14r1
- innovaphone Virtual Appliance
- Intel/AMD CPUs
- Virtualization platforms
- VMware
- Workstation
- Player
- vSphere 4.x-6.x
- ESXi 6.0
- Microsoft Hyper-V (Reference15r1:Concept IPVA On Hyper-V)
- Windows 8.1
- Windows 10
- Windows Server 2012 R2
- Windows Server 2016 CTP4
- Linux based Hypervisors with KVM and QEMU support
- Proxmox VE 8.0 / 8.1
- VMware
Disclaimer: Manufacturers/versions of VM platforms other than those specified here have not been tested, so use at your own risk.
More Information
The innovaphone Virtual Appliance (IPVA) is a virtual machine to be run on a virtualization platform.
The IPVA is a software-only solution. It appears and behaves like an innovaphone "hard-box" without physical resources such as hardware DSP or ISDN interface.
Package Overview
We supply an OVF (Open Virtualization Format) import or - depending on the virtualization platform - a suitable variant. OVF is an open standard that contains several files in one package. The .ovf file is therefore an archive that contains all the necessary files.
Sample VMware
- ipva-ovf.zip
The compressed archive ipva-ovf.zip contains the file ipva.ova. A deployment of ipva.ova will result in a set of 5 files - the file names may differ from the following list:
- ipva.vmx: The virtual machine configuration file
- hd-boot.vmdk: The virtual boot disk on IDE 0:0
- hd-cf.vmdk: The disk for emulation of a Compact Flash card on IDE 0:1
- hd-flash.vmdk: The disk for emulation of flash memory on IDE 1:0
- hd-dump.vmdk: The disk serving as a store for a crash dump on IDE 1:1
- ipva.bin
The file ipva.bin is the firmware file, which is only needed for update purposes.
Virtualization platforms
VMware Player / VMware Workstation
Import new Machine
- Copy the file ipva.ova to e.g. your desktop and Double-click on ipva.ova.
- Edit the file ipva.vmx according to What Can I Do In Case Of Boot-Problem: perf-counter not enabled!
VMware vSphere
Import new Machine
- Import ipva.ova by means of File/Deploy OVF-Template... (de: Datei/OFV-Vorlage bereitstellen...) and follow instructions.
- Edit the file ipva.vmx according to What Can I Do In Case Of Boot-Problem: perf-counter not enabled!
Microsoft Hyper-V
Import new Machine
- Use the UI Wizard to Import a new machine
- Browse to the directory where the downloaded package was extracted to. Browse to the subdirectory Virtual Machines and click Ok
- Select Copy the Virtual Machine as Import Type
Proxmox VE
Import new Machine
Proxmox does not offer a UI option to import existing machines via ovf. The machine must be imported via shell.
- Unzip ipva-qemu.zip and copy ipva-qemu.ova to a suitable disk location on Proxmox
- Navigate to your desired folder, extract and import the VM (think about the vm-id concept in Proxmox! - In this example, we use ID 503)
cd /mnt/pve/my-storage/images/ipva
tar -xvf ipva-qemu.ova
qm importovf 503 ipva-qemu.ovf local-lvm
- Before you start up the VM in the UI you have to configure the following:
- Hardware -> Add -> Network Device
- add a new network adapter with model VirtIO
- Hardware -> Processors
- adjust "Extra Cpu Flags" -> "aes" if required
- Hardware -> Add -> Network Device
Configuration
Network Configuration
The IPVA is preconfigured a DHCP client. You will see the current IP-Address in the console-screen of the VM. If there's in no case a DHCP server available for the 1st-time configuration, you can set your IP-Configuration in the console.
config change IP0 ETH0 /addr 192.168.0.10 /mask 255.255.255.0 config change IP0 RT0 /gateway 192.168.0.1 config change DHCP0 /mode off config write reset
MAC/serial number
Take care that you use a MAC address which is supported by my.innovaphone, see Reference:My_Innovaphone#IPVA_MAC_exists.
AES Hardware Acceleration
It may be beneficial to activate hardware acceleration for AES operations.
Whether hardware acceleration is activated can be checked with the command !mod cmd CPU cpu-info
.
- The "flags" attribute must contain "aesni"
- The "act-features" attribute must contain "has_aesni"
Example:
<info> <cpu vendor="GenuineIntel" signature="0x906e9" brand="Intel(R) Core(TM) i5-7400 CPU @ 3.00GHz" ... flags="sse3 pclmulqdq ssse3 sse4_1 sse4_2 aesni xsave xsaveopt osxsave avx f16c rdrand fpu mmx fxsr sse sse2 avx2" act-features="has_aesni has_avx has_vaesni has_vpclmulqdq" srtp-mips="5"/> </info>
Troubleshooting
Support procedures are commonly identical to the ones known from innovaphones' physical appliances. Except for:
- Post-Mortem Logs A post-mortem log must be retrieved by clicking on Maintenance/Diagnostics/Tracing/trace(crash-dump) (alternatively: http://a.b.c.d/crash_dump.txt).
Known Issues
Restored IPVA may not run
We have seen issues where an IPVA which had been backed up using one of the available backup tools for VMWare do not start up properly when they have been restored.
We strongly suggest to not rely on VMWare backup mechanism but instead to use the standard innovaphone backup scheme (that is, save the configuration on a regular basis).
How to run a restored backup that fails to start
Here is the procedure to run an IPVA from an IPVA if the restored virtual machine does not boot up properly:
- restore the backed up V10 IPVA
- create a new, empty V11r1 IPVA (you will need this merely to copy the boot disk from)
- replace the boot disk of the failing V10 IPVA by the boot disk of the fresh V11r1 IPVA (see How To Replace The Boot Disk On vSphere for details)
- start the restored and fixed V10 IPVA (it should run fine now)
- downgrade this V10 IPVA to desired V10 firmware
- remove the fresh V11r1 IPVA
Some Customer who are running Fw v12r1 (up to sr6) with ESXi 6.0 and VEEAM 9 reported that after a backup with VEEAM 9, the restored IPVA was not starting. At this point, there is no possibility to solve this problem. The only workaround in that case is to delete the machine, reinstall a new one, and restore a configuration saved before.
If you did not run into the problem yet, for prevention, we recommend to replace the Boot disk of your working IPVA.vmx with one of the IPVA.ova. Please follow the steps below (be aware that this will upgrade the firmware on the IPVA to 12r2, due to the fact that actually, IPVA.ova is only available from version 12r2):
1. Remove the Boot disk of the virtual machine (vmx)(is normaly the first one).
- Power off the VM
- Select the Virtual Machine > Settings.
- On the Hardware tab, select the virtual hard disk and click Remove.
- Click OK to save your changes.
2. Add the Boot disk of the ova virtual machine to the vmx one.
- Identify the size of the boot disk of the ova virtual machine (will be needed on the step when navigating to boot disk)
- On the powered off VM, Select the Virtual Machine > Settings.
- On the Hardware tab, select the virtual hard disk and click Add.
- Select Use “an existing virtual disk” then click Next.
- Navigate to the boot disk of the ova Virtual machine then click next.
- Click Finish.
Now the vmx virtual machine should have the Fw version 12r2.
The .ova version will be available also in V12r1 sr7
IPVA does not run on Citrix Cloud Platform
Reportedly, the Citrix cloud platform - although based on VMware - cannot run the IPVA. Amongst other issues, the platform does not allow 4 virtual disks, which are required for the IPVA.
IPVA does not run on VCloud Air
VCloud Air apparently does not support the timekeeping mechanism required by the IPVA.
ckl 15:50, 30 November 2016 (CET) We have seen the IPVA v12r2 running on vCloud Air. Use the ova import.
IPVA on ESX 6.5
We have reports that the IPVA does not run properly on ESX 6.5. The IPVA boots up properly but the clock does not run. Running the .ova based variation available in v12r2 fixed the issue or edit the file ipva.vmx according to What Can I Do In Case Of Boot-Problem: perf-counter not enabled!
Administration: Avoid 'reboot' Command. Use 'reset' Command
Alwas use the 'reset' command to restart an IPVA. The 'reboot' command makes sense only on physical applicances, where its purpose is to deploy a new bootcode by means of a forced watchdog trap. The resulting post-reboot state will be as if an unsolicited trap/crash had occurred.
No Fault Tolerance Support from VMWare vSphere 6.5
We have reports that VMWare vSphere 6.5 Fault Tolerance (FT) no longer works. For further information regarding this feature, please refer to the respective note in Implement PBX with zero downtime using IPVA and VMWare Fault_Tolerance.
Voice Quality Issues
When dealing with media streams (e.g. for announcements), the IPVA needs to fulfil real-time processing requirements, for example to process RTP packets in a timely fashion. To do so, the IPVA relies on the capabilities of the virtualization platform it runs on.
It is therefore important to configure the platform so that it supports real-time applications best. If you experience voice quality or latency issues, consider
- to make sure that all of the IPVAs memory is reserved to the IPVA (Latency Sensitivity set to High)
- to guarantee exclusive PCPU access
This helps to reduce CPU halt/wake-up states.
Additional vCPUs may cause problems
The Multi-Core functionality of version 13r2 is a beta functionality. Additional virtual CPUs(vCPUs) should not be utilized in production environments.
FAQ
Can The Emulated CompactFlash Be Increased In Size?
Yes, from within the Edit Virtual Machine dialog. Doing so just increases the size of the virtual harddisk. The emulated CompactFlash must be formatted afterwards and accordingly to benefit from the increased size. That step can be administrated from Administration/Compact Flash/Format. Note: A recommendation for an upper size limit is not given.
vSphere / vSphere Client
1. At first backup all of your files from CF card
2. Shutdown the corresponding IPVA
3. Choose "Properties" of the IPVA
4. Delete "Harddrive 2" (Hardrive file xxx/xxx_1.vmdk)
hd-boot.vmdk > xxx.vmdk hd-cf.vmdk > xxx_1.vmdk hd-flash.vmdk > xxx_2.vmdk hd-dump.vmdk > xxx_3.vmdk
5. Create new harddrive
6. Configure the required size
7. As "Node of virtual device" select "IDE(0:1)"
8. Start the IPVA.
9. "Format" the CF Card and "mount" it (General/Compact-Flash/General)
What Is The Size Of the emulated Flash Storage on the IPVA?
The virtual flash storage used to store configuration file of the IPVA and LDAP directory of the PBX is defined with 64 MB and can not be changed. This is two times more than on IP6010. The VMDK-File hd-flash.vmdk is allocated with 100 MB, because VMWare can not handle smaller virtual disks.
What Is The Size Of the Flash Directory on the IPVA?
As noted above, the virtual flash memory on the IPVA is fixed to a size of 64MB. Most of the flash is used by the flash directory (FLASHDIR0) which amongst other things provides storage for PBX objects.
The size of the flash directory depends on the available RAM. The maximum of 900 segments á 64KB, i.e. ~56MB, is available if 192MB or more RAM is available. If less RAM is available, the size of the flash directory is decreased accordingly. For this reason, it is unsafe to reduce RAM size in a given IPVA, as the flash directory size may be decreased so that objects from the flash directory get lost.
The easiest method to see how much flash directory space is available is to investigate the boot trace. For the standard configuration of 64MB the respective trace output is going to look as follows and informs about a size of 14MB:
0:0000:081:4 - start flashdir FLASHDIR0 0:0000:081:4 - fdir: segments=901->224(14.0MB)
Option to limit the size of the virtual flash disk
Available with 13r3sr17, 14r1sr6, 14r2final
The command
!config add CPU /smallflash
forces a limitation of the virtual flash regardless of the size of the flash disk
- to 512 segments for machines with 256 MB and smaller
- to 1024 segments for larger machines
To avoid data loss, the following 'migration path' is recommended:
- Apply the commands either via browserURL with leading <ipva-ipaddr> or at Maintenance/Diagnostics/Command
!config add CPU /smallflash !config write
- Download configuration
- Install respective firmware build as mentioned above
- Upload config
How Much RAM Is Required Per IPVA Instance?
Since 12r2sr27/13r1sr5 the downloadable virtual appliance comes preconfigured with 256MB RAM. This amount is seen as a good trade-off for the majority of all installations. The RAM-size can be administrated by VMware-means.
What Is The Maximum Amount Of RAM?
The maximum meaningful RAM setting is 3GB. Memory space beyond that limit will be left unused. Assigning more than 3GB to an IPVA instance doesn't provide any benefit.
Why Does General/Info/DRAM Show Less Than the Configured Memory?
Not all of the configured memory is available to the IPVA. E.g. a bit of memory is occupied by the VMM[1]. The indicator General/Info/DRAM displays the memory available to the IPVA and is truncated down to a whole number. A boot-trace reveals a bit more about IPVA-available memory as shown in the following excerpt:
... 0:0000:030:4 - Intel(R) Core(TM)2 Duo CPU E8400 @ 3.00GHz 0:0000:030:4 - mem(64946176)=61.93MB ...
What about Open VM Tools / VMware Tools?
Tools like this are not supported / integrated because it is not needed. The Virtual Appliance provides his own operating system, and we don't need any of the VM-Tools features in our guest.
What Can I Do In Case Of A Checksum Boot Error?
This paragraph applies, if you experience the following start-up problem.
Symptom
- the IPVA doesn't start properly
- the console displays
checksum wrong! Loading failed for image=IPVA BIN
Solution
- Power-off the IPVA
- Replace the boot harddisk by a fresh one. The boot harddisk is the 1st hd(originally named hd-boot.vmdk).
Remarks
This problem may occur on a system crash while a firmware update is taking place.
This paragraph applies, if you experience the following start-up problem.
Symptom
- the IPVA doesn't start properly
- the console displays
NIC unavailable!
Solution
- Power-off the IPVA
- Administrate by VMware means: Ensure the correct/expected type of network interface controller(NIC) is going to be offered by the hypervisor.
The IPVA offers driver support for:
- AMD NIC: Am79C970A PCnet-PCI II Single-Chip Full-Duplex Ethernet Controller
- a.k.a PCNet32
- a.k.a Vlance
The AMD-NIC is kind of default. However, the NIC type may be overriden manually and accordingly within the configuration file ipva.vmx as follows
ethernet0.virtualDev = "vlance"
Remarks
This problem may occur after a VMware re-configuration of the network settings.
What Can I Do In Case Of Boot-Problem: perf-counter not enabled!
This paragraph applies, if you experience the following start-up problem.
Symptom
- the IPVA doesn't start properly
- the console displays
perfcounter-not enabled!!!
Solution
This problem is likely caused by an OVA-import of the IPVA. The appliance's configuration file ipva.vmx requires a VMware proprietary configuration line that's not specifiable within an OVA-file.
The IPVA utilizes a VMware proprietary mechanism for its internal timekeeping[2]. That mechanism is only available after adding the following line to the configuration file ipva.vmx:
monitor_control.pseudo_perfctr = TRUE
If that line is not present, the hypervisor is going to throw a CPU exception. Hint: In vSphere a VMX-file can be edited under Edit Settings/Options/Advanced/General/Configuration Parameters[3]
Remarks
- The vmx file should be edited after the installation of the IPVA.
- The vmx file should NOT be edited with Text editor (use vSphere as shown above)
- To our knowledge, a converter is always necessary for the installation with vmx.
What Can I Do In Case Of Boot-Problem: Loading failed for image=IPVA BIN
This paragraph applies, if you experience the following start-up problem.
Symptom
- the IPVA doesn't start properly
- the console displays
Loading failed for image=IPVA BIN
Solution
This problem is likely caused by a calculation fault within the boot-code.
- The solution requires a replacement of the boot disk hd-boot.vmdk.
- Download an IPVA package from on 11r2 sr22.
- Replace the 1st disk with the one from the downloaded package
Are Additional vCPUs useful?
The Multi-Core functionality of version 13r2 is a beta functionality. Additional virtual CPUs(vCPUs) should not be utilized in production environments.
Notes
- ↑ Virtual Machine Monitor: A component belonging to the virtualization platform
- ↑ Timekeeping in Virtual Machines http://www.vmware.com/pdf/vmware_timekeeping.pdf
- ↑ vmware Labs - How to edit vmx file in ESXi vSphere: https://www.youtube.com/watch?v=ICICoq-maB0