OpenStack provides two classes of block storage: ephemeral storage and persistent volumes. Volumes are persistent virtualized block devices independent of any particular instance.
Ephemeral storage is associated with a single unique instance, and it exists only for the life of that instance. The amount of ephemeral storage is defined by the flavor of the instance. Generally, the root file system for an instance will be stored on ephemeral storage. It persists across reboots of the guest operating system, but when the instance is deleted, the ephemeral storage is also removed.
In addition to the ephemeral root volume, all flavors
except the smallest, m1.tiny
, also
provide an additional ephemeral block device of between 20
and 160 GB. These sizes can be configured to suit your
environment. This is presented as a raw block device with
no partition table or file system. Cloud-aware operating
system images can discover, format, and mount these
storage devices. For example, the cloud-init
package
included in Ubuntu's stock cloud images format this space
as an ext3
file system and mount it
on /mnt
. This is a feature of the
guest operating system you are using, and is not an
OpenStack mechanism. OpenStack only provisions the raw
storage.
Persistent volumes are created by users and their size is limited only by the user's quota and availability limits. Upon initial creation, volumes are raw block devices without a partition table or a file system. To partition or format volumes, you must attach them to an instance. Once they are attached to an instance, you can use persistent volumes in much the same way as you would use external hard disk drive. You can attach volumes to only one instance at a time, although you can detach and reattach volumes to as many different instances as you like.
You can configure persistent volumes as bootable and use them to provide a persistent virtual instance similar to traditional non-cloud-based virtualization systems. Typically, the resulting instance can also still have ephemeral storage depending on the flavor selected, but the root file system can be on the persistent volume and its state maintained even if the instance is shut down. For more information about this type of configuration, see the OpenStack Configuration Reference.
Note | |
---|---|
Persistent volumes do not provide concurrent access from multiple instances. That type of configuration requires a traditional network file system like NFS or CIFS, or a cluster file system such as GlusterFS. These systems can be built within an OpenStack cluster or provisioned outside of it, but OpenStack software does not provide these features. |