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:
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:
List Volumes
Attach a Volume to an instance:
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
Increase an existing volume's capacity by extending it. Note: You can increase but not decrease the size of an existing volume.
- Before the volume can be extended, it must be detached.
- After the volume is extended, attach the volume to an instance. Then resize the file system:
- For Linux ext3/4 file system, use the
sudo resize2fs /dev/<block device>
command. - For Linux xfs file system
sudo xfs_growfs /dev/<block device>
command. - For Windows, use the Disk Management tool as described in Microsoft's documentation.
- For Linux, mount the extended file system using the
sudo mount /dev/<block device> <mount point>
command.
Take a Volume Snapshot:
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:
Note
If you are having trouble deleting volumes or snapshots, please contact CAC Help.
List Snapshots
Transfer a Volume to a Different Project
To transfer a volume to a different project:
-
Log into the project that owns the volume. Create a volume transfer request: Horizon | CLI
-
Give the volume transfer request to a user of the destination project.
When logged into the destination project:
The volume will now appear in the destination project instead of the source project.
Object Store
Red Cloud object storage can be accessed using
- Horizon web console,
- standard object store protocols such as s3 and swift, and
- Globus.
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
Create a 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.
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
You can change the size of a share. The new size takes effect immediately on all connected clients.
Delete a Share
Add a Share Rule
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
Mount CephFS Shares
See the Access Shares document for instructions on how to configure the clients to mount the shares.