OpenStack Multi-Node Installation | Control, Network & Compute

  • April 23, 2014

In a previous blog article, we discussed how to install and use a single-node in OpenStack. In this post, we will discuss how to install multi-nodes in OpenStack. Here we go.

OpenStack Multi-Node Installation

Prepare Node

We will install OpenStack in three nodes: control, network and compute. Let’s prepare all three nodes for OpenStack installation.

Networking:

Following is the NIC card requirement for multi-node installation of OpenStack:

Compute Node

Two Network Interfaces:

  1. External Network: Used for External Connectivity

  2. Management Network: Used for connectivity for OpenStack nodes.

Control Node

Two Network Interfaces:

  1. External Network: Used for External Connectivity

  2. Management Network: Used for connectivity for OpenStack nodes.

Network

Three Network Interfaces:

  1. External Network: Used for External Connectivity

  2. Management Network: Used for connectivity for OpenStack nodes

  3. Data Network: Used for connectivity between VM’s.

Note that each network Interface must have a static IP.

Preparation of Control Node:

Networking

The control node has two Network Interfaces: One with network connectivity (eth0), and another internal network for Management use.

# vi /etc/network/interfaces

 #External Network

auto eth0
 iface eth0 inet static
 address 192.168.100.10
 netmask 255.255.255.0

 gateway 192.168.100.1

#Management Network

auto eth1
 iface eth1 inet static
 address 10.0.0.10
 netmask 255.255.255.0

gateway 10.0.0.1

# service networking restart

 

And set the hostname.

# hostname controller.flux7.com

# echo controller.flux7.com > /etc/hostname

 

Add OpenStack Ubuntu Cloud Archive repository

To install OpenStack we will add the latest stable release (Codename:- Havana) repository.

# 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. We will use MySQL as a database back-end. OpenStack supports most of the popular database engines such as mongodb, PostGre, etc.

# apt-get install python-mysqldb mysql-server

 

The next step is optional for single node installation. If we need to add additional nodes, such as compute nodes or storage nodes, MySQL should start on all the interfaces, as the default is only for localhost.

# /etc/mysql/my.cnf

#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, however, it is recommended in production. By default, the guest user is created with the password guest.

# rabbitmqctl change_password guest <New_Pass>

 

Now, the node is ready for OpenStack Installation.

Preparation of Compute Node:

Networking

The compute node has two network interfaces. One with network connectivity (eth0), and another internal network for management use.

# vi /etc/network/interfaces

#Management Network

auto eth0
 iface eth0 inet static
 address 10.0.0.20
 netmask 255.255.255.0

gateway 10.0.0.1

#Data Network

auto eth1
 iface eth1 inet static
 address 11.0.0.20
 netmask 255.255.255.0

gateway 11.0.0.1

 

# service networking restart

And set the hostname.

# hostname compute.flux7.com

# echo compute.flux7.com > /etc/hostname

 

Add OpenStack Ubuntu Cloud Archive repository

To install OpenStack we will add the latest stable release (Codename:- Havana) repository.

# apt-get install python-software-properties

# add-apt-repository cloud-archive:havana

# apt-get update

# apt-get dist-upgrade (Optional)

 

Install MySQL python library

On compute nodes we only need to install MySQL client and MySQL Python library.

# apt-get install python-mysqldb

 

Now, Compute node is ready for Installing OpenStack Compute services.

Preparation of Network Node:

Networking

The network node has three network Interfaces. One with network connectivity (eth0), another internal network for management use, and the other data network for connectivity between VMs.

# vi /etc/network/interfaces

#External Network

auto eth0
 iface eth0 inet static
 address 192.168.100.30
 netmask 255.255.255.0

gateway 192.168.100.1

#Management Network

auto eth1
 iface eth1 inet static
 address 10.0.0.30
 netmask 255.255.255.0

gateway 10.0.0.1

#Data Network

auto eth2
 iface eth2 inet static
 address 11.0.0.10
 netmask 255.255.255.0

gateway 11.0.0.1

# service networking restart

 

And set the hostname.

# hostname network.flux7.com

# echo network.flux7.com > /etc/hostname

 

Add OpenStack Ubuntu Cloud Archive repository.

To install OpenStack we will add the latest stable release (Codename:- Havana) repository.

# apt-get install python-software-properties

# add-apt-repository cloud-archive:havana

# apt-get update

# apt-get dist-upgrade (Optional)

 

Install MySQL python library.

On network nodes we only need to install MySQL client and MySQL Python library.

# apt-get install python-mysqldb

 

Now, the network node is ready for Installing OpenStack Compute services.

OpenStack Components On Different Nodes

Table showing OpenStack components on different nodes

Get Started with AWS

Receive AWS tips, DevOps best practices, news analysis, commentary and more. Sign up for our IT Modernization blog here and set your topic and frequency preferences. Or, download our guide on getting started with AWS, establishing a secure AWS enterprise architecture with Flux7 Landing Zones.

 

Subscribe to our blog

ribbon-logo-dark

Related Blog Posts