Revision history [back]

First, you need to know what kind of storage you want for your cloud. Cinder, Swift and Ceph have totally different purposes. Cinder provides volumes, comparable to disk array LUNs, which you can attach to instances. Swift is object storage; usually good for large, mostly read-only objects such as archives or videos, which can be accessed without instances. Ceph is not an OpenStack component but can be used as a backend of Nova, Glance and Cinder, and can be used as a standalone object store.

A Cinder storage node is only needed if you use LVM as backend. If your Cinder backends are disk arrays or Ceph, you don't need a separate Cinder storage node; instead, you run cinder-volume on the controllers.

You can run Swift on the controllers, but if you have big plans for your object storage, you will dedicate separate servers to the Swift cluster. Same for Ceph. In fact, you may already have a Ceph cluster and just use it as a backend for OpenStack services.