Ask Your Question

What are the minimum hardware requirements of OpenStack?

asked 2013-09-19 00:17:05 -0500

KayoticSully gravatar image

updated 2013-09-19 10:49:05 -0500

sgordon gravatar image

In short, I would like to know what is the minimum number of systems needed to setup OpenStack in a production capacity. It is for personal use, non enterprise, so I don't need to support a large load. It will primary be used by me and a few friends.

I currently run ESXi and FreeNAS on two boxes and it works out fairly well, but we keep running into roadblocks and I feel setting up an OpenStack system will just make things so much easier.

So, Is it possible to setup OpenStack on two boxes? If not how many more systems will I need?

I would still like to keep the ability to add in extra nodes if I do need more capacity, but in general we won't need a whole lot of processing power. I just have not been able to find out what the minimum requirements are, and how to go about setting it up.

I apologize if this question has been asked before, but I would really like a straight answer and a push in the right direction.

Any help is greatly appreciated!

edit retag flag offensive close merge delete

3 answers

Sort by ยป oldest newest most voted

answered 2013-09-19 10:33:59 -0500

sgordon gravatar image

updated 2017-01-04 07:00:27 -0500

There are many ways to split out an OpenStack deployment but two box deployments typically consist of:

  1. A controller node.
  2. A compute node.

For learning purposes it's actually possible to deploy an entire OpenStack installation on a single system if necessary, utilities like Red Hat's PackStack make this extremely easy.

This diagram from the OpenStack documentation actually illustrates a simple deployment but the networking components running on the controller node could easily be moved to a dedicated networking node and so on:

image description

In summary the controller node will typically host:

  • Keystone (for authentication).
  • Glance (for image storage).
  • Cinder (for block storage).
  • Neutron (for networking - the nova-network service may be used instead.
  • Nova API, conductor, and scheduling services.
  • Supporting services like the message broker (Rabbit MQ or Qpid) and database (MySQL or PostgreSQL).

The compute node will typically host:

  • Nova compute.
  • A networking agent, if using Neutron.

To provide additional block storage in a small environment you may also choose to deploy cinder-volume on the compute node or completely separate block storage nodes. As I said in the introduction there are many ways to split this up. You may also choose to run nova-compute on the controller itself to allow you to run virtual machines on both hosts in a small environment (otherwise virtual machines will only actually run on the compute node).

To expand such an environment you would add additional compute nodes, a separate networking node, and eventually a second and third controller for high availability. You might also split out storage to dedicated nodes.

The OpenStack Basic Installation guides provide some guidance on getting a basic 2-3 node deployment installed and running:

For RHEL/Fedora installation you could also use PackStack and the --install-hosts argument to streamline this type of deployment.

edit flag offensive delete link more


Thank you very much. You helped clear up some areas I was confused about. I also have a much better understanding of what OpenStack is. Your explanation was the extra clarification I needed to have it all "click" for me. Thanks again!

KayoticSully gravatar imageKayoticSully ( 2013-09-19 15:10:17 -0500 )edit

Hi, what are minimal requirements for each of two nodes? Can I have a controller node on my RPI with 256RAM? Or I need some gigant PC with at least 32GB RAM and 8 cores?

BiG_NoBoDy gravatar imageBiG_NoBoDy ( 2017-09-27 15:30:12 -0500 )edit

answered 2017-12-27 18:36:01 -0500

I've currently setup OpenStack Pike as a VM on my laptop for the controller and found that the installation crashed with a "could not assign memory" error with just 4G of RAM however I've got a compute node running physically on an RPi3 where it seems to be using just 512M so there's room for a few CirrOS images perhaps. So realistically a minimum is 8G for the controller and 1G for a compute node to check you can spin up an instance or three for testing. You might at a real squeeze and with some effort to trim stuff down fit it in 6G and 768M but it really won't be pretty and may just explode randomly.

edit flag offensive delete link more

Get to know Ask OpenStack

Resources for moderators

Question Tools



Asked: 2013-09-19 00:17:05 -0500

Seen: 47,004 times

Last updated: Jan 04 '17