Managing KVM virtual machines part II – the libvirt toolkit

In the previous post, we have seen how Vagrant can be used to define, create and destroy KVM virtual machines. Today, we will dig a bit deeper into the objects managed by the libvirt library and learn how to create virtual machines using the libvirt toolkit directly Creating a volume When creating a virtual machine, … Continue reading Managing KVM virtual machines part II – the libvirt toolkit

Managing KVM virtual machines part I – Vagrant and libvirt

When you first install and play with Vagrant, chances are that you will be using the VirtualBox VM provider initially, which is supported out-of-the-box by Vagrant and open source. However, in some situations, VirtualBox might not be your preferred hypervisor. Luckily, with the help of a plugin, Vagrant can also be used with KVM. In … Continue reading Managing KVM virtual machines part I – Vagrant and libvirt

A cloud in the cloud – running OpenStack on a public cloud platform

When you are playing with virtualization and cloud technology, you will sooner or later realize that the resources of an average lab PC are limited. Especially memory can easily become a bottleneck if you need to spin up more than just a few virtual machines on an average desktop computer. Public cloud platforms, however, offer … Continue reading A cloud in the cloud – running OpenStack on a public cloud platform

OpenStack Octavia – creating listeners, pools and monitors

After provisioning our first load balancer in the previous post using Octavia, we will now add listeners and a pool of members to our load balancer to capture and route actual traffic through it. Creating a listener The first thing which we will add is called a listener in the load balancer terminology. Essentially, a … Continue reading OpenStack Octavia – creating listeners, pools and monitors

OpenStack Octavia – creating and monitoring a load balancer

In the last post, we have seen how Octavia works at an architectural level and have gone through the process of installing and configuring Octavia. Today, we will see Octavia in action - we will create our first load balancer and inspect the resulting configuration to better understand what Octavia is doing. Creating a load … Continue reading OpenStack Octavia – creating and monitoring a load balancer

OpenStack Octavia – architecture and installation

Once you have a cloud platform with virtual machines, network and storage, you will sooner or later want to expose services running on your platform to the outside world. The natural way to do this is to use a load balancer, and in a cloud, you of course want to utilize a virtual load balancer. … Continue reading OpenStack Octavia – architecture and installation

OpenStack Cinder – creating and using volumes

In the previous post, we have installed Cinder and described its high level architecture. Today, we will look at a few uses cases (creating and attaching volumes) in detail, go through the code and see how Cinder interacts with external technologies like iSCSI and LVM. Creating a volume Let us first try to understand what … Continue reading OpenStack Cinder – creating and using volumes

OpenStack Cinder – architecture and installation

Having looked at the foundations of the storage technology that Cinder uses in the previous posts, we are now ready to explore the basic architecture of Cinder and install Cinder in our playground. Cinder architecture Essentially, Cinder consists of three main components which are running as independent processes and typically on different nodes. First, there … Continue reading OpenStack Cinder – architecture and installation

OpenStack Cinder foundations – building logical volumes and snapshots with LVM

When you want to build a volume service for a cloud platform, you need to find a way to quickly create and remove block devices on your compute nodes. We could of course use loopback devices for this, but this is slow, as every operation goes through the file system. A logical volume manager might … Continue reading OpenStack Cinder foundations – building logical volumes and snapshots with LVM