OpenStack on Microsoft Windows

Cinder

In OpenStack, Cinder is the component that provides the VMs with persistent block storage. Again, this software was not capable of running on Windows before CloudBase. Cinder was given a graphical installer (Figure 3) and can be installed on Windows Server systems now, with the cinder-volume component doing most of the work.

Figure 3: The Cinder installer for Windows allows administrators to provide storage via I-SCSI on a Windows server in the cloud.

Now the administrator can mount the storage volume on the Cinder host directly on the active virtual machines without any problems in the form of block devices, regardless of whether the virtual machines run Linux or Windows. It simply users I-SCSI, which Windows servers can share natively.

CloudBase Init

Cloud computing commentators love to use the following animal metaphor: conventional IT setups consist of systems, which need to be cherished and maintained like kittens. Systems in an OpenStack cloud, however, are basically cattle, whose failure no longer fazes the owner emotionally. After all, the failed system can always be replaced with another, perhaps even automatically. The devil is in the details, however: Even if a virtual machine is arbitrarily replaceable, you need to know a few specific bits of data. This data includes the host name or the SSH key, which must be stored on the system for remote login to work. For Linux guests, a simple and reliable way to resolve this problem is in OpenStack clouds: cloud-init. The shell script that calls a Linux guest when starting uses a predefined URL http://169.254.169.254:80/.

In the background, OpenStack ensures that the request ends up with the Nova metadata server, where an appropriate reply is sent subsequently (Figures 4 and 5). The virtual machine thus discovers who it is. The whole principle seems to be shamelessly stolen from Amazon AWS, where the process basically works the same way.

Figure 4: The metadata service tells virtual machines all about themselves, for example, their hostnames.
Figure 5: When launched, most cloud images retrieve their information from the metadata server.

The only problem with this process is that cloud-init is Linux-specific; a port to Windows does not make sense technically for the open source community. CloudBase, however, has bitten the bullet and written a re-implementation for Windows, by the name of cloudbase-init (Figure 6) [7]. On a Windows system, it basically serves the same purpose as cloud-init on Linux systems. In the meantime cloudbase-init almost has more features than its Linux ancestor, and it has evolved into a reliable tool.

Figure 6: Cloudbase-init starts after the Windows VMs boot and implements on Windows the same features that cloud-init provides for Linux.

Big Announcements

Windows systems with Hyper-V can already be very neatly integrated into an OpenStack environment; only the network issue is still problematic. CloudBase, however, is not resting on its laurels: as a speaker at the OpenStack CEE Day 2013 in Budapest, CEO Alessandro Pilotti made a stir in June with an ambitious plan: CloudBase is working on making Open vSwitch run natively on Windows (Figure 7).

Figure 7: Network in OpenStack: Neutron with Open vSwitch is the standard; CloudBase is currently porting Open vSwitch to Windows.

A Windows port would certainly benefit all applications that rely on Open vSwitch, but in the OpenStack context, the benefits would be most evident. Once Open vSwitch works for Windows, it would be possible to completely and seamlessly integrate Hyper-V systems in existing clouds with OpenStack and manage them in the same interface using a browser.

Only live migration between individual servers remains a problem; live migration of KVM to Hyper-V or any other virtualization technology is currently not supported and unlikely to be in the foreseeable future. In OpenStack, however, this problem could possibly be mitigated by putting the Linux systems and the Hyper-V server in their own zones. OpenStack thus has the option of distinguishing between the servers.

Buy this article as PDF

Express-Checkout as PDF
Price $2.95
(incl. VAT)

Buy Linux Magazine

SINGLE ISSUES
 
SUBSCRIPTIONS
 
TABLET & SMARTPHONE APPS
Get it on Google Play

US / Canada

Get it on Google Play

UK / Australia

Related content

comments powered by Disqus
Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs
Subscribe to our ADMIN Newsletters

Support Our Work

Linux Magazine content is made possible with support from readers like you. Please consider contributing when you’ve found an article to be beneficial.

Learn More

News