We're Hiring!
Take the next step in your career and work on diverse technology projects with cross-functional teams.
LEARN MORE
Mountain West Farm Bureau Insurance
office workers empowered by business technology solutions
BLOG
1
6
2015
1.28.2022

Set Up and Optimize Ubuntu in VMware Environments

Last updated:
10.19.2020
1.28.2022

So you want to jump into virtualization and take the open source route on your guest virtual machine operating system? Several of our customers have recently spun up Ubuntu VMs on top of VMware. Here are our tips for setting up and optimizing performance in a virtualized Ubuntu environment. These tips may also apply to other Linux distributions on top of VMware hypervisors.

Linux guest operating systems often have trouble with the BusLogic virtual SCSI adapter. VMware recommends using the LSI Logic virtual SCSI adapter instead.

To install Ubuntu, obtain a disc or download an ISO of your version of choice. Power on the virtual machine, insert the disc or locate the image, and follow through the prompts. Once completed and you have logged into the Ubuntu VM, set the HTTP proxy by going to Network settings.

Installing the Ubuntu Server kernel can improve performance as it sets the system clock to 100Hz by default. Otherwise you may have to recompile the kernel.
 

VMware Tools

Installing VMware Tools will improve performance in your virtualized Ubuntu instance. It also includes various utilities for administration of VMs. Open VM Tools is a version of VMware Tools built for open source use.

To install Open VM Tools, run $ sudo apt-get update followed by $ sudo apt-get install open-vm-tools.

If you plan on duplicating the machine, using it as a master image, or using VMware Site Recovery Manager backup tools with it, you must install the deployPkg Tools plugin.

Download the Public Packaging Public Key Files and install them using $ sudo apt-key add /DIRECTORY/NAME, where directory/name is the path where each key is saved. Then create a file called /etc/apt/sources.list.d/vmware-tools.list and include this content: deb http://packages.vmware.com/packages/ubuntu trusty main.

To install the package, use the commands $ sudo apt-get update  followed by  $ sudo apt-get install open-vm-tools-deploypkg.
 

General Ubuntu Guest VM Tips

You may have better performance setting your VMDK files to static instead of dynamic. With dynamic VMDK, your virtual disks take up only enough space to store what is currently in use. With static they are set to a fixed size from the beginning. This can negate some of the scalability benefits of the cloud and increase your initial bills, but the performance may be worth it.

Ubuntu and other Linux distributions have been found to suffer from “clock drift” or inaccurate timekeeping, as both VMware Tools and NTP attempt to synchronize the system clock. It is recommended you either disable NTP or disable the time synchronization setting in VMware Tools (under Options). Occasionally disabling through the VMware Tools software is ineffective and you must open the virtual machine configuration file and set these options to FALSE:

tools.syncTime
tools.synchronize.restore
time.synchronize.resume.disk
time.synchronize.continue
time.synchronize.shrink

Let the hypervisor handle disk I/O scheduling. Linux has a few options for scheduling disk I/O, but rather than having them interfere with the disk scheduling built into VMware, just set the system to the No Op scheduler (No Optimization) by editing /etc/grub.conf to include elevator-noop.
 

Improving Your Ubuntu VM Desktop Experience

Using the desktop interface of your Ubuntu virtual machine? Depending on the distribution and version number, Linux images can have very different user experiences. If you have the latest Ubuntu, it might be missing some desktop functionality. One alternative is Mint, which is a descendent of Ubuntu. You can snag a Mint image that comes with VMware Tools preinstalled. Both Mint and Lubuntu might offer performance advantages.

If you are sticking with default Ubuntu, you could install CompizConfig to disable animations and other nifty window effects to improve your VM performance. To install this utility, visit the Ubuntu Software Center, download and install the package, and open from the Launcher by tapping the Super key and typing Compiz.

 

There are other guides out there for optimizing desktop and server configurations of Ubuntu and general Linux, but these tips should get you started on the path to a smooth, virtual, open-source environment. Other best practices for virtual machines apply as well. For example, it's better to underprovision and hot update resources as needed rather than overprovision. And if you want to branch out from Ubuntu, Green House Data can offer CentOS or Red Hat guests preinstalled...or you can always bring your own image.

Recent Blog Posts

lunavi logo alternate white and yellow
11.22.2022
11
.
18
.
2022
Business Intelligence: The Present and Future with Director of Data Analytics, Jeff Thomas

Join us as we dive into the world of data analytics with our very own, Jeff Thomas. With 18 years of experience in this field, Jeff shared valuable knowledge and insight on the current trends of data analytics and where he believes the field is headed. We also discussed the challenges and barriers that enterprises face when implementing data analytics practices, Jeff explains how to rise above these challenges and use data to your competitive advantage.

Learn more
lunavi logo alternate white and yellow
2.15.2022
02
.
15
.
2022
Service Changes Coming to Microsoft 365 & Office 365

The NCE offers new subscription terms including 12-month and 36-month plans priced lower than monthly contracts. In addition, it is easier to add seats, cancellation policies are more consistent, and there are two promotional options to lock in a better rate for your current renewal. However, the mandatory new plans do include price adjustments.

Learn more
lunavi logo alternate white and yellow
1.28.2022
01
.
21
.
2022
Automate Your Cloud with Azure Bicep

Azure Bicep is a great way to implement Infrastructure as a Code to automate the provisioning of Azure resources. In this post, I’ll get you started by describing how Bicep language works as well as key differences and similarities between Bicep and ARM Templates.

Learn more