4

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?

smeeb
  • 27,777
  • 57
  • 250
  • 447

1 Answers1

3

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.

Mark O'Connor
  • 76,015
  • 10
  • 139
  • 185
  • Thanks @Mark O'Connor (+1) - I appreciate the correction there, but by "Compute/Nova instances", what I really meant to say was "Nova-managed instances", which is more in alignment with what you're saying here. **More importantly**, I'm still looking to understand **why** we need Cinder and Neutron in the first place. Think about it: if Nova creates a VM, that VM should get its networking from a physical switch, and it will have its own file system for storing data. So why do we need Neutron and Cinder?!? That was my question :-) – smeeb Jan 22 '15 at 09:03
  • 1
    @smeeb Cinder is used to managing block storage volumes, you don't have to have them, but can be useful for persisting data. Similarly Neutron provides more advanced networking services beyond DHCP. I highly advise reading the docs for more information. – Mark O'Connor Jan 22 '15 at 20:25