• Resources
  • Blog
  • (Tutorial) How to install multi-nodes in OpenStack?

(Tutorial) How to install multi-nodes in OpenStack?

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:

a. External Network: Used for External Connectivity

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

Control Node

Two Network Interfaces:

a. External Network: Used for External Connectivity

b. Management Network: Used for connectivity for OpenStack nodes

Network

Three Network Interfaces:

a. External Network: Used for External Connectivity

b. Management Network: Used for connectivity for OpenStack nodes

c. 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 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

multi

 

 

 

 

 

 

 

 

 

To get more information on OpenStack usage, contact us at info@flux7.com or check our other blogs on Openstack here.

April 24, 2014 / Openstack

 

 

Share the Post

 

 

About the Author

Flux7 Labs

Subscribe to Email Updates

Connect With Us