Storage Management

Refer to Introductionto learn more about Shared Storage configuration on IDEA.

Apps and Data Storage (Required)

For the IDEA Cluster to function, shared storage configuration must include Apps and Data storage configurations. Both Apps and Data are cluster scoped file systems and are mounted automatically on all applicable infrastructure hosts, eVDI linux sessions and SOCA Compute Nodes.

Apps

  • Apps shared-storage is used to save critical cluster configuration scripts, files and logs.

  • For Scale-Out computing workloads, additional Applications (eg. OpenMPI or IntelMPI, Python, Solvers etc) can be installed on shared-storage, and can be leveraged by Compute Nodes.

  • Default Configuration:

    • Apps storage is mounted on /apps mount path, and is configurable.

    • Amazon EFS is used as the default storage provider for Apps storage.

    • A custom CloudWatch monitoring rules and Lambda function is deployed for EFS Apps storage volumes, which help monitor the throughput of the file system and dynamically adjust the throughput mode to provisioned or bursting.

Data

  • Data storage is primarily used to store User Home Directories.

  • Additional directories for project/group level file shares can be created on Data Storage.

  • Default Configuration:

    • Data storage is mounted on /data mount path, and is configurable.

    • Amazon EFS is used as default storage provider for Apps.

    • To save cost, EFS Lifecycle policy is set to move data to Infrequently Accessed storage class after 30 days.

Scope

A notion of scope is introduced in IDEA to enable cluster administrators manage multiple file systems and specify mount criteria based on access, use-case and workload needs. Shared Storage mounts can be scoped based on:

Cluster

Cluster scoped shared storage mounts are applied across all nodes in the cluster. These include applicable infrastructure nodes, SOCA Compute Nodes and eVDI Hosts.

Scale-Out Computing: Queue Profiles

Queue Profile scoped shared storage mounts are applicable for all Compute Nodes launched for Jobs submitted to the queues configured under a Queue Profile.

  • Project and Module scopes can be combined to create an AND condition.

  • Queue Profile and Project scopes can be combined to create an AND condition.

Add or Attach Shared Storage to Cluster

The idea-admin.sh shared-storage utility enables admins to generate configurations for:

  • Provisioning new file systems

  • Re-use existing file systems

Either of the use-cases can be executed prior to initial cluster deployment OR after cluster deployment.

If shared storage configurations are updated after an IDEA Cluster is deployed, depending upon the Scope, manual actions will be required to mount the file system on applicable existing cluster nodes. All new hosts launched after the configuration update will automatically mount the configured file systems. See below for example(s)

Provision new File System

Shared Storage config generation for provisioning new file systems is only supported for Amazon EFS at the moment.

To generate configurations for provisioning new file systems you can use the idea-admin.sh shared-storage add-file-system command as below:

Example

idea-admin.sh utility will automatically update your IDEA cluster environment if you select " Update Cluster Settings and Exit". You can also choose to automatically "Deploy" the cluster which will automatize the steps mentioned below. For this demo, we are just Updating Cluster Settings and will proceed to a manual deployment afterwards.

Once done, you can validate your new mount point in the web interface via "Cluster Management" > "Settings" > "Shared Storage"

IDEA is now configured with the new mount but EFS has not been created yet

At this point, the FileSystem ID is empty because you asked to provision a brand new EFS. To update the backend infrastructure and trigger the EFS creation, you must run deploy command (see this page for more details about deploy utility).

First, run the idea-admin.sh cdk diff to confirm the new EFS will be created:

This command confirmed the change and CDK will proceed to the EFS creation once you will run the actual deploy command:

Now that the deployment command is complete, go back to the web interface and validate the new EFS has been created and now has valid FileSystem ID assigned.

New mount now has a valid FileSystem ID

To further validate our new mount point, we can submit a test job which will output df command

qsub -- /bin/df -h

The job output should display the mount point (custom/path) for your new filesystem

Attach existing File System

To generate configurations for attaching an existing file system, you can use the idea-admin.sh shared-storage attach-file-system command as below. This utility will automatically search for existing backed storage (FSx for Lustre/NetApp/OpenZFS/Windows, EFS) running in your VPC.

Example

Remove a File System

Run ./idea-admin.sh config delete shared-storage.<filesystem_name> to remove a shared filesystem from IDEA.

Removing a file system from IDEA won't trigger a file system deletion. Make sure to re-deploy the shared-storage module if you want to remove a filesystem previously created by IDEA

Shared Storage Providers

Amazon EFS

New EFS Configuration

Existing EFS Configuration

Amazon FSx for Lustre

Existing FSx for Lustre Configuration

Amazon FSx for NetApp ONTAP

Existing FSx for NetApp ONTAP

Amazon FSx for OpenZFS

Existing FSx for OpenZFS

Amazon FSx for Windows File Server

Existing FSx for Windows File Server

Visualize Cluster Settings

Shared storage settings can be viewed via Web Portal and IDEA CLI.

Web Portal

Navigate to "Cluster Management" > "Settings" > "Shared Storage"

IDEA CLI

Last updated