10.3. Oracle VDI Desktop Provider

10.3.1. Why Are My Windows 7 Audio Drivers Not Automatically Installed?
10.3.2. Oracle VM VirtualBox Install Is Failing With "Postinstall Script Did Not Complete Successfully" Errors
10.3.3. There Is an Error When I Add an Oracle VM VirtualBox Host to a Desktop Provider
10.3.4. The Oracle VM VirtualBox Web Service Cannot Be Contacted
10.3.5. Are all Oracle VM VirtualBox Releases Compatible With Oracle VDI?
10.3.6. How do I Change the Password on my Oracle VM VirtualBox Host?
10.3.7. I Can See My Oracle VM VirtualBox Hosted Desktop, But It Will Not Start
10.3.8. The Time in My Oracle VDI Hypervisor Desktop Is Too Slow
10.3.9. Can I Run More Than 100 Virtual Machines on a Single Oracle VM VirtualBox Server?
10.3.10. What Are the Requirements for High Availability for Oracle VM VirtualBox?
10.3.11. How Do I Change the Password of the Oracle VM VirtualBox Service?

10.3.1. Why Are My Windows 7 Audio Drivers Not Automatically Installed?

32-bit Windows 7 does not ship with drivers for the Oracle VM VirtualBox emulated audio hardware (AC'97). However, running Windows Update should solve the problem by getting an appropriate driver for it automatically. After that update, followed by a reboot, you should have working audio.

For the 64-bit versions of Windows 7 you have to download the Realtek AC'97 drivers to enable audio.

See http://www.realtek.com.tw/downloads for download instructions.

10.3.2. Oracle VM VirtualBox Install Is Failing With "Postinstall Script Did Not Complete Successfully" Errors

If you are installing Oracle VM VirtualBox, you may get the following error in the console:

## Executing postinstall script.
Configuring VirtualBox kernel modules...
VirtualBox Host kernel module unloaded.
devfsadm: driver failed to attach: vboxdrv
Warning: Driver (vboxdrv) successfully added to system but failed to attach
can't load module: No such device or address
## Aborting due to attach failure.
## Configuration failed. Aborting installation.
pkgadd: ERROR: postinstall script did not complete successfully

Installation of <SUNWvbox> partially failed.

This error is typically seen when previous releases of Oracle VM VirtualBox are still installed. Try removing Oracle VM VirtualBox (./vb-install -u). Then verify that the following packages have been removed:

  • SUNWvbox

  • SUNWvboxkern

Reboot, then try the installation again.

10.3.3. There Is an Error When I Add an Oracle VM VirtualBox Host to a Desktop Provider

Several errors can occur when adding an Oracle VM VirtualBox host and will result in possible error alerts on either the 'Specify Host' or 'Verify Certificate' wizard steps.

Specify Host Step

After entering the host details and clicking, the next two actions happen:

  • Resolve hostname (if used)

  • Fetch the SSL and SSH certificates

An error on this page can be related to DNS problems resolving the hostname or issues contacting the host.

  1. Verify that all information entered is correct including SSH and SSL ports. The SSL port refers to the port Apache 2 is listening on.

  2. Verify that the Oracle VDI host can resolve the host by using 'nslookup <hostname>' from a shell on the Oracle VDI host.

  3. If the name can be resolved, verify that the host is running, and SSH and Apache 2 have started successfully. This can be checked as follows:

    # svcs svc:/network/http:apache2
    # svcs svc:/network/ssh:default

Both commands should indicate that the service is 'Online'. If a service is marked as 'maintenance', try resetting it using:

# svcadm clear <service_frmi>

Verify Certificate Step

After reviewing the certificates and clicking Finish/Next, an error here indicates that the Oracle VM VirtualBox web service cannot be contacted or may not be running.

Verify that the service is online:

# svcs svc:/application/virtualbox/webservice:default

If the service is in maintenance mode, clear the service and check the status again:

# svcadm clear svc:/application/virtualbox/webservice:default

If the service is off line, enable it using:

# svcadm enable svc:/application/virtualbox/webservice:default

10.3.4. The Oracle VM VirtualBox Web Service Cannot Be Contacted

The Oracle VDI Hypervisor installer (vb-install)runs a check to be sure that the Apache 2 packages are installed on the host. If the Apache 2 packages are not installed, and the check does not notify you, the Oracle VM VirtualBox web service cannot be contacted, and you will not be able to continue with installation. In this case, you should install the Apache 2 packages and try the Oracle VM VirtualBox installation again.

10.3.5. Are all Oracle VM VirtualBox Releases Compatible With Oracle VDI?

No. See Section 5.1.2, “System Requirements for the Oracle VDI Hypervisor” for details of what is supported.

If you want to create virtual machine templates locally, for example on a laptop, make sure to use the same release as you have installed on your Oracle VDI desktop provider host. This ensures that you install the correct version of the guest additions, and avoids incompatibility problems with the XML configuration files for your virtual machines, which can prevent them from being imported into Oracle VDI.

10.3.6. How do I Change the Password on my Oracle VM VirtualBox Host?

When an Oracle VM VirtualBox host is added to a desktop provider, Oracle VDI uses the specified username for access via SSH and the Oracle VM VirtualBox web service.

To change the password for this user on an Oracle VM VirtualBox host, you must update two passwords, one for the UNIX user and one for the Apache2 password file.

  1. To update the UNIX user's password, log in as the target user, run the command, and enter the new password.

    # /usr/bin/passwd
    passwd: Changing password for root
    New Password:
    Re-enter new Password:
    passwd: password successfully changed for root
  2. To update the Apache2 user's password, run the command.

    # /usr/apache2/bin/htpasswd -b /etc/apache2/vbox_passwd <user> <new_password>

10.3.7. I Can See My Oracle VM VirtualBox Hosted Desktop, But It Will Not Start

In some rare circumstances a desktop maybe left registered and powered off on an Oracle VM VirtualBox host. Desktops in this state for more than a couple of minutes can safely be deleted from the Oracle VM VirtualBox host if necessary as the configuration is stored in the Oracle VDI database and all data on a storage host. When manually unregistering a desktop from Oracle VM VirtualBox ensure that you also unregister the desktop's disk image.

Steps to resolve:

  1. Login as the user you specified during the installation of Oracle VM VirtualBox (typically 'root').

  2. Determine the UUID of the virtual machine:

    • Execute VBoxManage list vms.

    • Or, use the Oracle VDI Manager to obtain the ZFS volume name listed in the Desktop Summary tab. The UUID is the string after the forward slash (example: f3ced2bb-d072-4efc-83c9-5a487872919d).

  3. To unregister the virtual machine on the Oracle VM VirtualBox host (this action does not delete the Oracle VDI desktop), execute:

    VBoxManage unregistervm <uuid> -delete
  4. To unregister the virtual disk on the Oracle VM VirtualBox host (this action does not delete the Oracle VDI desktop), execute:

    VBoxManage unregisterimage disk <uuid>

10.3.8. The Time in My Oracle VDI Hypervisor Desktop Is Too Slow

Windows allows random applications to change the timer frequency from the default of 100Hz (which gives very good VM performance on Oracle Solaris hosts) to an arbitrary higher value, usually 1kHz.

In general, looking at VBox.log (~/.VirtualBox/Machines/VDA/<VMNAME>/Logs/VBox.log) reliably gives the current timer resolution if one searches for the last line containing PIT: mode=... (ch=0). This works for any guest OS, as long as the number of CPUs assigned to a VM is left at the default (1). This should cover the majority of configurations used with Oracle VDI.

The typical lines are PIT: mode=2 count=0x2ead (11949) - 99.85Hz (ch=0) and PIT: mode=2 count=0x4ad (1197) - 996.81Hz (ch=0).

Assuming there is only one application which requests the high timer resolution, it can be found by terminating all running applications one by one, and watching whether the log file shows the drop in timer resolution. This shows up instantaneously.

Also, looking at the output of prstat often allows to detect which VM processes use substantially more CPU time than others. This allows reducing the number of candidates if only some VMs use 1kHz timer resolution.

Performance issues caused by the timer resolution are often dormant until the number of VMs on an Oracle VM VirtualBox host exceeds the number of (true) CPU cores in the server. The reason is that Oracle VM VirtualBox tries its best to deal with the situation, which usually keeps a full CPU core busy. When there are more such VMs they block each other, triggering a symptom which is easy to observe - time in the VM runs much slower than it should.

10.3.9. Can I Run More Than 100 Virtual Machines on a Single Oracle VM VirtualBox Server?

If you want to run more than 100 virtual machines on a single Oracle VM VirtualBox host, the semaphores on the Oracle VM VirtualBox host need to be increased. You need to set the number of available semaphores to the number of virtual machines you intend to run, including a security margin for other processes.

The maximum number of virtual machines on a single Oracle VM VirtualBox host is 1023.

Oracle Solaris Steps

To set the semaphores for 1000 virtual machines, run the following commands as root:

# prctl -r -n project.max-sem-ids -v 1024 -i project user.root 
# projmod -s -K 'project.max-sem-ids=(priv,1024,deny)' user.root

The first command changes the available semaphores for the current process, and the second command makes this number a permanent system setting for the root user. If the VBoxSVC process is run by a non-root user, add a user.myuser line to the /etc/project file and change the second command.

To check if the setting was applied correctly, run the following command as root:

# prctl -i project -n project.max-sem-ids user.root

If Oracle VM VirtualBox host is run by a non-root user, you must restart all Oracle VM VirtualBox processes. The easiest way to do this is to reboot the host.

Oracle Linux Steps

To set the semaphores for 1000 virtual machines, run the following commands as root:

# echo "kernel.sem = 250 32000 32 1024" >> /etc/sysctl.conf 
# /sbin/sysctl -p

The first command changes the available semaphores and makes the change persistent, and the second command activates the change. On Oracle Linux platforms, semaphore configuration is a kernel global setting and so it takes effect immediately.

10.3.10. What Are the Requirements for High Availability for Oracle VM VirtualBox?

High Availability for an Oracle VM VirtualBox virtualization platform would require at least two Oracle VM VirtualBox hosts. In the event that one Oracle VM VirtualBox server goes down, all existing desktop sessions would be terminated. Then the terminated sessions would be restarted on the remaining Oracle VM VirtualBox servers as they are requested by users, as long as there is sufficient memory available.

High Availability for Oracle VDI, Sun Ray Software, and MySQL requires two Oracle VDI hosts. See Section 3.1, “About Oracle VDI Centers and Hosts”for detailed information about the hardware configurations that support this type of redundancy.

10.3.11. How Do I Change the Password of the Oracle VM VirtualBox Service?

In order to change the password for the Oracle VM VirtualBox Webservice User (default: root), you must enter the following command in your UNIX shell.

# /usr/apache2/bin/htpasswd -b /etc/apache2/vbox_passwd root <new_passwd>

Next, change the updated password in Oracle VDI Manager.

  1. Select the provider that is linked to the host in the Desktop Providers category.

  2. Click on the Host Tab, select the host and click Edit.

  3. Insert the new password into the pop-up window and click Next.