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:
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:
List Volumes
Attach a Volume to an instance:
Detach a Volume from an instance:
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. Usedf
ormount -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
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.
- Before the volume can be extended, it must be detached.
- Extend the volume using Horizon web console or CLI client.
- After the volume is extended, re-attach the volume to the instance.
- Log into the instance, extend the file system:
- Linux: Run the
sudo resize2fs /dev/<block device>
(ext3/4) orsudo resize2fs /dev/<block device>
(xfs) command to extend the file system. mount the extended file system using thesudo mount /dev/<block device> <mount point>
command. - Windows: Use the Disk Management tool as described in Microsoft's documentation.
- Linux: Run the
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 using Horizon web console or CLI client
- 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:
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
Delete a Snapshot:
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
- Horizon web console,
- standard object storage protocols such as s3 and swift, and
- Globus.
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
Create a Share
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
You can change the size of a share. The new size takes effect immediately on all connected clients.
Delete a Share
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
Add a Share Rule
Remove a Share Rule
Mount CephFS Shares
See the Access Shares document for instructions on how to configure the clients to mount the shares.