Reference15r1:Concept Innovaphone Virtual Appliance

From innovaphone wiki
Jump to navigation Jump to search
There are also other versions of this article available: Reference9 | Reference10 | Reference12r1 | Reference13r2 | Reference14r1 | Reference15r1 (this version)

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

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

VMware vSphere

Import new Machine

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

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
Console displays CRC boot error


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.

What Can I Do In Case Of Boot-Problem: NIC unavailable!

This paragraph applies, if you experience the following start-up problem.

Symptom

  • the IPVA doesn't start properly
  • the console displays
NIC unavailable!
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!!!
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
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

  1. Virtual Machine Monitor: A component belonging to the virtualization platform
  2. Timekeeping in Virtual Machines http://www.vmware.com/pdf/vmware_timekeeping.pdf
  3. vmware Labs - How to edit vmx file in ESXi vSphere: https://www.youtube.com/watch?v=ICICoq-maB0

Related Articles

Reference15r1:Licenses

Howto:A_rough_estimate_of_IPVA_Performance