Storage

Note

Red Cloud 2 is currently in beta testing and not available to all users. If you are not a Red Cloud 2 beta tester, use the production Red Cloud instead. This Red Cloud 2 documentation is still under development.

Beta testers: Report all problems to CAC Help. Please specify Red Cloud 2 when reporting problems. Thank you!

Red Cloud provides three types of data storage: object store, volumes, and file systems(shares). Volumes can be attached to a cloud instance as a block device. Object stores (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 in the instance. You will need to format and mount the file system to store data on a block device.

Create a Volume:

Horizon | CLI

A new volume can be created either blank or from a snapshot. When you create a volume, 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 is unmounted in the instance to flush all cached data back onto the volume to prevent data loss.

Extend a Volume

Horizon | CLI

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

  1. Before the volume can be extended, it must be detached.
  2. After the volume is extended, attach the volume to an instance. Then resize the file system:
  3. For ext3/4 file system, use the sudo resize2fs /dev/<block device> command.
  4. For xfs file system sudo xfs_growfs /dev/<block device> command.
  5. Mount the extended file system using the sudo mount /dev/<block device> <mount point> command.

Take a Volume Snapshot:

Horizon | CLI

You can create a new volume or launch a new instance from a snapshot. Whenever possible, detach the volume before taking a snapshot.

Delete a Snapshot:

Horizon | CLI

List Snapshots

Horizon | CLI

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: Horizon | CLI

  2. Give the volume transfer request to a user of the destination project.

When logged into the destination project:

  1. Accept the volume transfer request: Horizon | CLI

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

Object Store

Red Cloud object storage can be accessed using

See the Access Object Store 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

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.

After a new share is created, add a share rule to generate a Ceph keyring for CephFS clients to access 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

Add a Share Rule

Horizon | CLI

A share rule in Red Cloud is a cephx key for accessing a CephFS share. A share rule consists of 2 values:

  • Access Type: This should always be cephx.
  • Acess To: This is the id field of the cephx key.
  • Access Key: This is the key field of the cephx key.

We recommend creating a cephx key (share rule) for each client so, in case of a possible key compromise, the compromised key can be revoked without disrupting other clients.

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.