-
Notifications
You must be signed in to change notification settings - Fork 26
Adds new documentation for the Boreas object storage system. #351
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
mrinalbiswas
wants to merge
10
commits into
NCAR:main
Choose a base branch
from
mrinalbiswas:boreasdocs
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
Show all changes
10 commits
Select commit
Hold shift + click to select a range
20f7525
Adding documentation for Boreas
mrinalbiswas 9ba549f
Updated the docs
mrinalbiswas 9660fa2
Updated the docs
mrinalbiswas d9e5933
Updated the docs
mrinalbiswas 8e8343d
Updated docs
mrinalbiswas 0db1eac
Updated docs
mrinalbiswas 8874646
Updated docs
mrinalbiswas c0158fd
Updated docs
mrinalbiswas 554f958
Updating the docs
mrinalbiswas 1921760
Removed images and added info
mrinalbiswas File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,106 @@ | ||
| # Boreas object storage system | ||
|
|
||
| !!!info "About this page" This document describes the Boreas S3-compatible object storage platform, including its underlying architecture, performance capabilities, networking, and access control models. It explains supported access methods using S3 APIs and Globus, as well as operational policies and account provisioning. Boreas is operated by CISL and restricted to approved use cases. | ||
|
|
||
| ## System overview | ||
|
|
||
| Boreas is an S3-compatible object storage service backed by IBM Storage Scale (GPFS). It provides scalable, high-throughput access to long-term data and integrates with NCAR’s HPC environment. Boreas is operated by CISL and is not available for university projects. | ||
|
|
||
|
|
||
| ### Architecture | ||
|
|
||
| Boreas uses IBM Cluster Export Services (CES) to provide a Storage Scale (GPFS) filesystem through an S3-compatible interface. NooBaa provides the S3 service layer and handles API request processing. | ||
|
|
||
| ### Core Components | ||
|
|
||
| Cluster Export Services (CES) | ||
| - CES provides the S3 protocol interface and connects directly to the underlying GPFS storage system. | ||
|
|
||
| NooBaa S3 Services | ||
| - NooBaa services run on the CES nodes and process all S3 API requests. | ||
|
|
||
| Clients and Applications | ||
| - Users and applications access Boreas using standard S3 APIs. Client requests are distributed across CES nodes using DNS round-robin. | ||
|
|
||
| ### Performance and capacity | ||
|
|
||
| - Single-client throughput: ~1–4 GB/s, depending on workload. | ||
|
|
||
| - Total usable capacity: ~6.9 PB. | ||
|
|
||
| - Maximum objects per bucket: Up to 100 million. | ||
|
|
||
| - Request distribution: DNS round-robin across CES nodes. | ||
|
|
||
| - Hardware platform: Uses the same as Campaign Storage. | ||
|
|
||
| ### Network Connectivity | ||
|
|
||
| - Protocol (CES) nodes are connected to other HPC resources via 100 Gb/s networking over Bifrost, enabling high-throughput data transfers between compute systems and storage. | ||
|
|
||
|
|
||
| ## Data Sharing and Access Controls | ||
| Boreas supports multiple access models based on security and collaboration requirements. All access is restricted to the UCAR VPN unless explicitly approved. | ||
|
|
||
| Anonymous Object Access (Signed URLs) | ||
|
|
||
| - Allow users to grant temporary access to individual objects without requiring authentication. | ||
| - URLs may include an expiration time. | ||
| - No S3 account or Access/Secret key credentials are required. | ||
| - Intended for short-term or ad hoc sharing. | ||
|
|
||
| Identity-Based Bucket Policies | ||
|
|
||
| - Identity-based policies allow controlled sharing of buckets with authenticated users. | ||
| - Requires S3 accounts and Access/Secret key credentials. | ||
| - Users may grant read and/or write access to specific S3 users or to all authenticated users. | ||
| - Recommended for collaborative project workflows. | ||
|
|
||
| Resource-Based Bucket Policies (Anonymous Bucket Access) | ||
|
|
||
| - Resource-based policies allow anonymous access to entire buckets when approved. | ||
| - Users may request that anonymous access be enabled for a bucket. | ||
| - No S3 account is required to access an anonymous bucket. | ||
| - Intended for controlled public distribution or broad internal sharing of datasets. | ||
|
|
||
| ## Choosing an Access Model | ||
|
|
||
| | Access Model | Authentication Required | Scope of Access | Typical Use | Not Recommended For | | ||
| |--------------|---------------------------|------------------|--------------|----------------------| | ||
| | Signed URLs (Anonymous Object Access) | No | Individual objects only | Temporary sharing of single files with external collaborators or automated workflows | Long-term sharing, large datasets, ongoing collaboration | | ||
| | Identity-Based Bucket Policies | Yes (S3 account + access/secret keys) | Bucket-level read/write access | Team-based collaboration with persistent authenticated access | External users without S3 accounts, public distribution | | ||
| | Resource-Based Bucket Policies (Anonymous Bucket Access) | No | Entire bucket (read/list) | Controlled public or broad internal dataset distribution | Sensitive data, write access, fine-grained access control | | ||
|
|
||
|
|
||
| ## Access Methods | ||
|
|
||
| - Programmatic access using standard S3 libraries and tools. | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. @mrinalbiswas including Boreas endpoint information with some examples for users that accessing via boto3 and S3 tools would be useful. |
||
| - Web-based access and transfers via the “NCAR Boreas S3” Globus collection. | ||
|
|
||
| ## Logging into Globus | ||
|
|
||
| Boreas is available through the Globus collection “NCAR Boreas S3.” | ||
| Users authenticate using their S3 credentials and NCAR identity. | ||
| For users logging into Boreas using Globus, you need to follow the prompts to enter the Secret and Access Keys and authenticate with your CIT username and password. Below are the screenshots and steps to log into Boreas on Globus. | ||
|
|
||
|  | ||
|  | ||
|
|
||
| Refer to the NSF NCAR [Globus documentation](https://ncar-hpc-docs.readthedocs.io/en/latest/storage-systems/data-transfer/globus/) for data transfer instructions. | ||
|
|
||
| ## Policies | ||
|
|
||
| - The system is not backed up. | ||
| - Support will be provided during business hours on business days. | ||
| - CISL will create only one admin account per lab. The admin will be | ||
| able to create accounts for other users. Because the secret key-based | ||
| logins do not expire, the admin will also delete accounts as | ||
| appropriate – for example, when a user leaves NSF NCAR. | ||
|
|
||
| ## Requesting account | ||
|
|
||
| Contact CISL to request an account. You will be asked to: | ||
| - Specify how much disk space you need. | ||
| - Give a brief description (one sentence) of your intended use case. | ||
| - Acknowledge that you will be the admin and will manage buckets and | ||
| users. | ||
Binary file added
BIN
+311 KB
docs/storage-systems/boreas/log_using_globus/media/boreas_globus_step123.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added
BIN
+124 KB
docs/storage-systems/boreas/log_using_globus/media/boreas_globus_step45.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We maybe need to make Boreas accessible via Derecho and Casper soon but this looks good so far.