Cycle Logo

Introduction to External Volumes

Cycle's external volume management enables you to connect and manage external storage systems such as SAN arrays and Ceph RBD clusters in a standardized way. Once configured, volumes on these storage systems can be used as block devices for containers and virtual machines, or mounted as filesystems within containers. This allows workloads to take advantage of persistent, high-performance storage while maintaining full visibility and control.

Connecting Storage Backends to Cycle

In order to utilize external volumes, you must first set up an external storage hub integration. Details for each integration varies based on the storage backend, but generally will require some form of authentication, and network details for connecting to the storage array.

Currently there are two supported integrations for storage backends, with more in the works:

  1. SAN
  2. Ceph RBD
  3. AWS EBS [COMING SOON]

Once the integration is configured, Cycle will manage the lifecycle of volumes in a standardized way no matter what the underlying backend is.

External Volumes

External volumes are a primitive on Cycle. An external volume is a provisioned block of persistent storage carved from the larger storage pool (the backend integration) and exposed as a virtual disk.

Attaching an External Volume

An external volume can be attached as a block device or filesystem, depending on the target host.

Attachment TypeContainersVirtual Machines
Block Device☑️☑️
Filesystem Mount☑️

When attached as a block device, the external volume will appear as a raw storage device (like an unformatted USB) and can be formatted with any desired filesystem. For virtual machines, it will be up to the host operating system how these devices are exposed.

Containers have the additional option of mounting the external volume as a filesystem. The platform will format the volume using the ext4 filesystem and mount it into the selected path. This makes it quick and convenient to gain access to an external volume.

The attachment type cannot be changed after the volume has been created.

Attaching to Stateless Containers

It is important to note that when attaching external volumes as a block device to stateless containers, the external volume will not be wiped between container restarts. For filesystem external volumes, they will be wiped normally like local volumes are.

Attachment Modes

The attachment mode of a volume defines how and where it can be connected. It determines whether it attaches directly to a container/virtual machine, or to an entire node, whether multiple attachments are allowed, and whether the connection provides read-only or read-write access.

The attachment mode cannot be changed after the volume has been created.

ModeDescription
Single Instance WriterA single instance can attach to the volume with full read and write access.
Single Instance Read OnlyA single instance can attach to the volume in read-only mode.
Single Node WriterMultiple containers on the same node can attach and write to the volume.
Single Node Read OnlyMultiple containers on the same node can attach in read-only mode.
Multi Node WriterMultiple nodes can attach to the volume with write access.
Multi Node Read OnlyMultiple nodes can attach to the volume in read-only mode.

Location

External volumes are bound to a single location. The servers that have access to the volume are selected during create, but they must all be within that same location. This is to ensure top performance and reduce the risk of issues caused due to latency or network drops.

Automatic Provisioning Support

Some external volume integrations support creating volumes if needed, while others require the volume to already exist. For those that support it, when selected Cycle will create the volume automatically when configuring the external volume.

Storage SystemCreate Volumes On DemandPre-Provisioned Volumes Required
SAN☑️
Ceph RBD☑️

Managing External Volumes on Cycle

For details on how to view, attach, and manage external volumes through different interfaces, see the documentation for each workflow below:

    🍪 Help Us Improve Our Site

    We use first-party cookies to keep the site fast and secure, see which pages need improved, and remember little things to make your experience better. For more information, read our Privacy Policy.