OpenStack is highly configurable meeting different needs by providing numerous storage and networking options. The first step to design your own architecture is to choose whether to use a single node or multi-node configuration.
Multi Node installation runs different OpenStack services on different nodes. A basic installation requires nodes:
Controller Node runs control services, such as database, message queue and API services for the Identity Service, Image Service and Compute.
Network Node runs networking services and is responsible for virtual networking needed for people to create public or private networks, and uplink their virtual machines into external networks.
Compute nodes run the virtual machine instances in OpenStack.
Additional Nodes can be added as per requirements which may include a Storage node, an additional Network, compute or nodes.
Single Node Installation runs all OpenStack services in one node including Control, Network, Compute, Storage services.
This week, we’ll discuss how to install a single node in Openstack.
[Tweet “Single Node #Openstack Installation Process”]
Prepare fresh Ubuntu 12.04 (64bit) server for the single node installation
It is recommended to have 2 NIC cards (eth0 and eth1) to install OpenStack. However, for this tutorial we will use a single interface eth0 with a static IP (192.168.100.10). We can use same IP (as eth0) as gateway of external subnet or add virtual interface (eth0:1) with different subnet.
# vi /etc/network/interfaces
auto eth0 iface eth0 inet static address 192.168.100.10 netmask 255.255.255.0
# service networking restart → if required
Now, set the hostname.
# hostname <hostname>
# echo <hostname> > /etc/hostname
# echo ‘192.168.100.10 <hostname>’ >> /etc/hosts
Add OpenStack Ubuntu Cloud Archive repository.
Now install the latest stable release of Openstack (Havana) from Ubuntu’s cloud archive:
# apt-get install python-software-properties
# add-apt-repository cloud-archive:havana
# apt-get update
# apt-get dist-upgrade (Optional)
Install MySQL server.
OpenStack services require a database to store information and supports many popular database engines including MongoDB and PostGre. In this tutorial, we will use MySQL as database backend.
# apt-get install python-mysqldb mysql-server
The following step is optional for single node installation. If additional nodes are required (ex. compute node or storage nodes) run MySQL on all interfaces as by default it runs only on localhost
#bind-address 192.168.100.10 (Comment out this line or change 192.168.100.10 to 0.0.0.0)
Install Messaging server.
OpenStack requires a Messaging / Broker service to communicate between its services. We will use RabbitMQ but Qpid and ZeroMQ (0MQ) are also supported.
# apt-get install rabbitmq-server
It is optional to change the password in the dev environment but is recommended in production. By default guest user is created with password guest.
# rabbitmqctl change_password guest <New_Pass>
Enable IP Forwarding
We need to enable Packet Forwarding for networking to work, we can opt. this to configure during Network installation.
# vi /etc/sysctl.conf
net.ipv4.ip_forward=1 (Uncomment this line)
Now, the single node has been successfully installed.
Watch out for tutorial on multi-node Openstack installation next Thursday!