Eucalyptus clouds utilizes three types of storage: virtual machine ephemeral storage, cloud bucket-based storage, and Eucalyptus Volumes. Furthermore, Eucalyptus provides the ability to create volume snapshots.
When a virtual machine instantiates, all of its default virtual disks that are created on the node controller are temporary, or ephemeral. This means that if a virtual machine reboots, any data stored on that virtual machine's disks will not survive.
For cloud-designed, loosely-coupled, dynamic applications, this presents no problem. Data that requires permanence is stored somewhere outside the instance, or else on a Eucalyptus Volume.
Eucalyptus provides bucket-based storage through a component called Walrus. Bucket-based storage is permanent storage that is shared across the entire cloud infrastructure, and potentially used by users outside of the cloud as well. A bucket holds an object, which is composed of a file and a metadata file that describes the object.
It may help some readers to think of buckets as analagous to folders or directories in typical operating systems.
In Eucalyptus, bucket-based storage primarily stores Eucalyptus Machine Images (EMIs) and Eucalyptus Volume snapshots. It can also be used for almost any type of data file when Walrus is deployed as a Storage as a Service solution.
Eucalyptus volumes are synonymous with Elastic Block Storage (EBS) volumes in Amazon Web Services. They are permanent storage that can be mounted as devices by Eucalyptus instances. These storage volumes behave like raw, unformatted block devices - or just like hard drives. You can create a file system on top of a Eucalyptus volume, or use them in any other way you would use a block device.
Eucalyptus volumes are configured in an Availability Zone, and can be attached to instances in that same Availability Zone. Multiple volumes can be mounted to the same Eucalyptus instance. Eucalyptus Volumes can also be attached to new instances via an administrative interface.
Eucalyptus provides the ability to create point-in-time snapshots of volumes, which are moved, or persisted, to bucket-based storage (Walrus) for long-term storage. By default, these volume snapshots are crash consistent, meaning that any data marked as written to the disk that still resides in a buffer will not be part of the snapshot.
It is important to note that snapshots in the context of a Eucalyptus cloud are for Eucalyptus Volumes only. The virtual machine instance itself is not backed up during the snapshot process. The instance is assumed to be disposable and easily replaceable, so to behave any differently would be to waste storage resources.
In our next post, we'll look at security concepts in Eucalyptus.