Atom feed of this document
 

 Storage Concepts

Storage is found in many parts of the OpenStack stack, and the differing types can cause confusion to even experienced cloud engineers. Here's a simple chart to kick-start your understanding:

Table 1.1. Types of Storage
On-instance / ephemeral Volumes block storage (Cinder) Object Storage (Swift)
Used for running Operating System and scratch space Used for adding additional persistent storage to a virtual machine (VM) Used for storing virtual machine images and data
Persists until VM is terminated Persists until deleted Persists until deleted
Access associated with a VM Access associated with a VM Available from anywhere
Implemented as a filesystem underlying OpenStack Compute Mounted via OpenStack Block-Storage controlled protocol (for example, iSCSI) REST API
Administrator configures size setting, based on flavors Sizings based on need Easily scalable for future growth
Example: 10GB first disk, 30GB/core second disk Example: 1TB "extra hard drive" Example: 10s of TBs of dataset storage

Other points of note include:

  • OpenStack Object Storage is not used like a traditional hard drive. Object storage is all about relaxing some of the constraints of a POSIX-style file system. The access to it is API-based (and the API uses http). This is a good idea as if you don't have to provide atomic operations (that is, you can rely on eventual consistency), you can much more easily scale a storage system and avoid a central point of failure.

  • The OpenStack Image Service is used to manage the virtual machine images in an OpenStack cluster, not store them. Instead, it provides an abstraction to different methods for storage - a bridge to the storage, not the storage itself.

  • OpenStack Object Storage can function on its own. The Object Storage (swift) product can be used independently of the Compute (nova) product.

Log a bug against this page


loading table of contents...