Quantcast
Channel: Cloudbase Solutions
Viewing all articles
Browse latest Browse all 83

OpenStack – KVM vs Hyper-V – Part 1

$
0
0

OpenStack Newton has been recently released. During this cycle we did quite some work on increasing the performance and overall reliability of our Windows and Hyper-V OpenStack compute drivers.

 

This is the first post in a series where we are going to share some of our Hyper-V vs KVM benchmarking results for this OpenStack release, get ready to be surprised!

 

To begin with, here’s our setup:

  • Controller node, Ubuntu 16.04.1 LTS (default kernel version 4.4.0-45-generic)
  • KVM Compute node, Ubuntu 16.04.1 LTS (default kernel version 4.4.0-45-generic)
  • Hyper-V Compute node, Windows Server 2012 R2
  • Hyper-V Compute node, Windows Server 2016

 

Hardware Specs (all nodes are identical)
Processor Intel(R) Xeon(R) CPU E5-2650 @ 2.00GHz
Installed memory (RAM) 128 GB
Network cards Chelsio Communications Inc T420-CR 10 Gigabit Ethernet
Storage Intel SSDSC2BA200G3T 200GB SATA Solid State Drive

 

All the nodes have plain vanilla OS installs with the latest updates.

The Linux hosts have been deployed using DevStack. Here you can find more details about the deployment and configuration.

The Hyper-V compute nodes include the Hyper-V Compute driver.

 

Configuration

A set of basic steps have been taken to improve performance on both types of hypervisors.

For the KVM Compute node, we followed the official documentation:

In /etc/nova/nova.conf the “cpu_mode” was modified to “host-passthrough”, as follows:

[libvirt]

cpu_mode = host-passthrough

 

The VHostNet kernel module improves network performance:

modprobe vhost_net

 

For the Hyper-V Compute nodes, the active power option scheme has been set to “High Performance“:

powercfg.exe /setactive 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c

Note: in our results, changing the power option scheme brought roughly a 10-15% performance boost.

 

Rally

We used Rally as a benchmarking tool for the OpenStack deployment, installed on the Controller node.

Our Rally scenarios can be found here. To begin with, just download and run this script, it will install Rally in the “~/rally” virtualenv:

./install_rally.sh –url https://github.com/cloudbase/rally –branch blogpost

 

If everything ends successfully, a short green message should appear saying how to activate the Rally virtual environment:

source ~/rally/bin/activate

 

First, you have to provide the details about the OpenStack deployment that you are going to benchmark. A simple way to register an existing deployment in Rally is through the deployment configuration files.

Put your cloud access data into a JSON configuration file (for existing OpenStack deployments we can use “existing.json”) and run the following command to register the deployment in Rally:

rally deployment create –file=existing.json –name=existing

 

Rally should now be able to list all the images/flavors/networks etc. from the OpenStack deployment:

rally show images

rally show flavors

rally show networks

 

To run a benchmark test, you need a task configuration file. You can find here the JSON files that we are going to use. Here’s how to start the execution of a task:

rally task start –task boot_and_delete.json –task-args '{"image": "cirros-vhdx", "flavor_name": "m1.tiny"}'

 

Thanks for reading this first post in our KVM vs Hyper-V series! To add some suspense, benchmarking results will be published in the next entries, starting with part 2!

The post OpenStack – KVM vs Hyper-V – Part 1 appeared first on Cloudbase Solutions.


Viewing all articles
Browse latest Browse all 83

Trending Articles