Storage

Red Cloud provides three types of data storage: object storarge, block storage (volumes), and file storage (shares / CephFS). Volumes can be attached to a cloud instance as a block device. Object storage (S3 or swift) and shares (CephFS) can be accessed by clients running on cloud instances or external hosts.

Volumes

Volumes are created and attached to instances to provide storage. Attached volumes appear as block devices (disks) in the instance. You will need to format and mount the file system (Linux | Windows) to store data on a volume.

Create a Volume:

Horizon | CLI

You can

  • create a blank volume,
  • clone another existing volume, or
  • create a new volume from a snapshot.

Storage charges will incurr (per the volume's size) on your project (after the first 50 free GB/project) until it is deleted, regardless how much data is stored in the volume or whether the volume is attached to an instance.

Delete a Volume:

Horizon | CLI

List Volumes

Horizon | CLI

Attach a Volume to an instance:

Horizon | CLI

Detach a Volume from an instance:

Horizon | CLI

Before detaching a volume from an instance. Make sure the file system hosted on the volume is unmounted in the instance to flush all cached data back onto the volume to prevent data loss.

  • Linux: Run the umount /mount_point command, where /mount_point is the absolute path the file system is mounted on. Use df or mount -l to discover the mount point for your attached volumes.
  • Windows: Start the Disk Management Tool, right click on the drive that is to be detached, and select "Offline".

Extend a Volume

Horizon | CLI

Increase an existing volume's capacity by extending it. You can increase but not decrease the size of a volume.

Note

Because the root volume of an instance cannot be detached, use the procedures in the Extend a Root Volume page to extend a root volume.

  1. Before the volume can be extended, it must be detached.
  2. Extend the volume using Horizon web console or CLI client.
  3. After the volume is extended, re-attach the volume to the instance.
  4. Log into the instance, extend the file system:
    • Linux: Run the sudo resize2fs /dev/<block device> (ext3/4) or sudo resize2fs /dev/<block device> (xfs) command to extend the file system. mount the extended file system using the sudo mount /dev/<block device> <mount point> command.
    • Windows: Use the Disk Management tool as described in Microsoft's documentation.

Transfer a Volume to a Different Project

To transfer a volume to a different project:

  1. Log into the project that owns the volume. Create a volume transfer request using Horizon web console or CLI client
  2. Give the volume transfer request to a user of the destination project.

When logged into the destination project, accept the volume transfer request using Horizon web console or CLI client.

The volume will now appear in the destination project instead of the source project.

Snapshots

A snapshot is a static copy of a volume at the time of the snapshot's creation.

Take a Volume Snapshot:

Horizon | CLI

After a snapshot is created, you can clone a new volume or launch a new instance from a snapshot. Whenever possible, detach the volume before taking a snapshot.

List Snapshots

Horizon | CLI

Delete a Snapshot:

Horizon | CLI

Note

You must first delete all snapshots of a volume before the volume can be deleted. If you are having trouble deleting volumes or snapshots, please contact CAC Help. Include the UUIDs of all the volumes and snapshots you'd like to delete.

Object Storage

Red Cloud object storage can be accessed using

See the Access Object Storage document for more details.

Shares

Red Cloud implements shares using the CephFS file system, a high performance and durable distributed file system.

Whereas a volume can only be attached to a single instance, a share in Red Cloud can be mounted by multiple clients simultaneously. The client can be a Red Cloud instance or any host connected to the Cornell campus network. See the Access Shares document on how to install and configure a CephFS client to access your share.

List Existing Shares

Horizon | CLI

Create a Share

Horizon | CLI

After a new share is created, add a share rule to generate a cephx keyring for CephFS clients to access the share.

Note

Like volumes, when you create a new share, storage charges will incurr (per the share's size) on your project (after the first 50 free GB/project) until it is deleted, regardless how much data is stored in the share.

Resize a Share

Horizon | CLI

You can change the size of a share. The new size takes effect immediately on all connected clients.

Delete a Share

Horizon | CLI

Share Rules

A share rule (Cephx keyring) defines access permissions to the share. A share rule consists of 4 parts:

  • Access Type: always cephx
  • Access To: Name of the share rule (cephx keyring) name
  • Access Level: read-write (rw) or read-only (ro)
  • Access Key: Key value

We recommend creating a share rule per client host that mounts the share and name the share rule (i.e. Access To) after the client host. When the client host no longer needs to mount the share, simply delete the share rule to revoke access.

List Existing Share Rules

Horizon | CLI

Add a Share Rule

Horizon | CLI

Remove a Share Rule

Horizon | CLI

Mount CephFS Shares

See the Access Shares document for instructions on how to configure the clients to mount the shares.