4
votes

OpenStack has 3 types of core nodes:

  • Compute (Nova)
  • Storage (Cinder)
  • Network (Neutron)

But to me, all Compute/Nova instances are VMs. VMs with file systems. VMs that need to be networked, and ultimately receive their network connections from a physical switch in an actual data center somewhere.

So to have "Storage" and "Network" nodes that provide file system storage and network connections, at first blush, seems unnecessary. Couldn't all nodes be Compute/Nova nodes?

  • Why do I need Cinder/Storage nodes for file system space? Each Nova node will have its own file system, yes?
  • Why do I need Neutron/Network nodes for networking connections? Won't my Nova nodes receive their network connection from the physical switch in our data center?

Obviously I'm missing a major piece of the puzzle here, so I ask: what is it that I'm missing?

1

1 Answers

3
votes

But to me, all Compute/Nova instances are VMs.

Strictly speaking, this is incorrect. Nova has a number of component parts. Simply put there is a API component which exposes the service interface and one or more compute components that talk to VM hypervisors. So, a single nova compute node can support multiple VMs. The idea is that you scale up Openstack by running more servers capable of hosting virtual machines.

For more details on how Nova works, I suggest reading the developer documentation:

http://docs.openstack.org/developer/nova/devref/architecture.html

I also recommend first learning the interaction between Keystone, Glance and Nova. Hopefully you'll begin to understand how each additional component adds more services to your cloud.