Build Your Own Cloud with Eucalyptus
Virtualization Extensions—Make Sure They're Enabled!
Eucalyptus requires that the CPU on the node controllers have Virtualization Extensions (VT) enabled. Do yourself a favor and go into your BIOS and check that it is enabled. Simply grepping for “vmx” in /proc/cpuinfo isn't enough. The BIOS support must be enabled as well. When preparing to write this article, I burned up several days in testing to learn this fact. The virtual machine appeared to start, then terminated immediately with an obscure message in the nc.log file on the node controller like [EUCAERROR ] libvirt: Domain not found: no domain with matching name 'i-427C0881' (code=42). Simply flipping the BIOS switch that enabled Virtualization Extensions allowed the virtual machine to start properly. Verify your BIOS settings before installation!
What's the Walrus—CooCooCaChoo?
Eucalyptus includes a service known as the walrus. The walrus service is a storage service that emulates Amazon's S3 storage. This article covers the default installation of Eucalyptus that runs the walrus service on the same system as the cloud controller. If you have a server with a lot of disk space, it's entirely possible to split the walrus service out and export hunks of disk space as volumes to the virtual machines. In other words, it's a free implementation of a virtual SAN for your virtual machines. Unfortunately, getting into the specifics of the walrus goes beyond what can be covered here.
The Eucalyptus cloud controller does run a DHCP server that will respond to requests from cloud instances. However, if you have a DHCP server on your LAN, it may be possible that your instances could receive a DHCP address from your other DHCP server rather than the cloud controller's DHCP server. You may want to tell your main DHCP server to ignore requests sent from the MAC addresses of the cloud instances. All of the cloud instances have MAC addresses that begin in d0:0d. On my DHCP server running dnsmasq, all I had to do was add a line to the dnsmasq.conf file that said dhcp-host=d0:0d:*,ignore.
Ubuntu Enterprise Cloud Documentation: https://help.ubuntu.com/community/UEC
Ubuntu Server 9.10 Download: www.ubuntu.com/getubuntu/download-server
Eucalyptus Home Page: open.eucalyptus.com
Installing UEC Using the Installer CD: https://help.ubuntu.com/community/UEC/CDInstall
Installing UEC Using the Package-Based Install: https://help.ubuntu.com/community/UEC/PackageInstall
Bundling Your Own UEC Images: https://help.ubuntu.com/community/UEC/BundlingImages
Using the Walrus Storage Controller: https://help.ubuntu.com/community/UEC/StorageController
Bill Childers is an IT Manager in Silicon Valley, where he lives with his wife and two children. He enjoys Linux far too much, and he probably should get more sun from time to time. In his spare time, he does work with the Gilroy Garlic Festival, but he does not smell like garlic.
Bill Childers is the Virtual Editor for Linux Journal. No one really knows what that means.