When to use network volumes
Consider using network volumes when you need:- Persistent data that outlives compute resources: Your data remains accessible even after Bnodes are terminated or Serverless workers stop.
- Shareable storage: Share data across multiple Bnodes or Serverless endpoints by attaching the same network volume.
- Portable storage: Move your working environment and data between different compute resources.
- Efficient data management: Store frequently used models or large datasets to avoid re-downloading them for each new Bnode or worker, saving time, bandwidth, and reducing cold start times.
Pricing
Network volumes are billed hourly at a rate of $0.07 per GB per month for the first 1TB, and $0.05 per GB per month for additional storage beyond that.Create a network volume
- Web console
- REST API
To create a new network volume:
- Navigate to the Storage page in the Brightnode console.
- Click New Network Volume.
- Select a datacenter for your volume. Datacenter location does not affect pricing, but determines which GPU types and endpoints your network volume can be used with.
- Provide a descriptive name for your volume (e.g., “project-alpha-data” or “shared-models”).
- Specify the desired size for the volume in gigabytes (GB).
- Click Create Network Volume.
Network volumes for Serverless
When attached to a Serverless endpoint, a network volume is mounted at/Brightnode-volume within the worker environment. This allows all workers on that endpoint to access shared data.
Attach to an endpoint
To enable workers on an endpoint to use a network volume:- Navigate to the Serverless section of the Brightnode console.
- Select an existing endpoint and click Manage, then select Edit Endpoint.
- In the endpoint configuration menu, scroll down and expand the Advanced section.
- Click Network Volume and select the network volume you want to attach to the endpoint.
- Configure any other fields as needed, then select Save Endpoint.
/Brightnode-volume directory. Use this path to read and write shared data in your handler function.
Benefits for Serverless
Using network volumes with Serverless provides several advantages:- Reduced cold starts: Store large models or datasets on a network volume so workers can access them quickly without downloading on each cold start.
- Cost efficiency: Network volume storage costs less than frequently re-downloading large files.
- Simplified data management: Centralize your datasets and models for easier updates and management across multiple workers and endpoints.
If you use network volumes with your Serverless endpoint, your deployments will be constrained to the datacenter where the volume is located. This may impact GPU availability and failover options.
Network volumes for Bnodes
When attached to a Bnode, a network volume replaces the Bnode’s default volume disk and is typically mounted at/workspace.
Network volumes are only available for Bnodes in the Secure Cloud. For more information, see Bnode types.
Attach to a Bnode
Network volumes must be attached during Bnode deployment. They cannot be attached to a previously-deployed Bnode, nor can they be detached later without deleting the Bnode. To deploy a Bnode with a network volume attached:- Navigate to the Bnodes section of the Brightnode console.
- Select Deploy.
- Select Network Volume and choose the network volume you want to attach from the dropdown list.
- Select a GPU type. The system will automatically show which Bnodes are available to use with the selected network volume.
- Select a Bnode Template.
- If you wish to change where the volume mounts, select Edit Template and adjust the Volume Mount Path.
- Configure any other fields as needed, then select Deploy On-Demand.
/workspace). Use this directory to upload, download, and manipulate data that you want to share with other Bnodes.
Share data between Bnodes
You can attach a network volume to multiple Bnodes, allowing them to share data seamlessly. Multiple Bnodes can read files from the same volume concurrently, but you should avoid writing to the same file simultaneously to prevent conflicts or data corruption.Network volumes for Instant Clusters
Network volumes for Instant Clusters work the same way as they do for Bnodes. They must be attached during cluster creation, and by default are mounted at/workspace within each bnode in the cluster.
Attach to an Instant Cluster
To enable workers on an Instant Cluster to use a network volume:- Navigate to the Instant Clusters section of the Brightnode console.
- Click Create Cluster.
- Click Network Volume and select the network volume you want to attach to the cluster.
- Configure any other fields as needed, then click Deploy Cluster.
S3-compatible API
Brightnode provides an S3-compatible API that allows you to access and manage files on your network volumes directly, without needing to launch a Bnode or run a Serverless worker for file management. This is particularly useful for:- Uploading large datasets or models before launching compute resources.
- Managing files remotely without maintaining an active connection.
- Automating data workflows using standard S3 tools and libraries.
- Reducing costs by avoiding the need to keep compute resources running for file management.
- Pre-populating volumes to reduce worker initialization time and improve cold start performance.
The S3-compatible API is currently available for network volumes in the following datacenters:
EUR-IS-1, EU-RO-1, EU-CZ-1, US-KS-2, US-CA-2.Migrate files
You can migrate files between network volumes (including between data centers) using the following methods:Using brightnodectl
The simplest way to migrate files between network volumes is to usebrightnodectl send and receive on two running Bnodes.
Before you begin, you’ll need:
- A source network volume containing the data you want to migrate.
- A destination network volume (which can be empty or contain existing data).
1
Deploy Bnodes with network volumes attached
Deploy two Bnodes using the default Brightnode PyTorch template. Each Bnode should have one network volume attached.
- Deploy the first Bnode in the source data center and attach the source network volume.
- Deploy the second Bnode in the target data center and attach the target network volume.
- Start the web terminal in both Bnodes.
2
Open the source volume
Using your source Bnode’s web terminal, navigate to the network volume directory (usually
/workspace):3
Start the transfer
Use You can also specify specific files or directories instead of
brightnodectl send to start the transfer. To transfer the entire volume:*.4
Copy the receive command
After running the send command, copy the
receive command from the output. It will look something like this:5
Open the destination volume
Using your destination Bnode’s web terminal, navigate to the network volume directory (usually
/workspace):6
Receive your files
Paste and run the The transfer will begin and show progress as it copies files from the source to the destination volume.
receive command you copied earlier:Using rsync over SSH
For faster migration speed and more reliability for large transfers, you can usersync over SSH on two running Bnodes.
Before you begin, you’ll need:
- A network volume in the source data center containing the data you want to migrate.
- A network volume in the target data center (which can be empty or contain existing data).
1
Deploy Bnodes with network volumes attached
Deploy two Bnodes using the default Brightnode PyTorch template. Each Bnode should have one network volume attached.
- Deploy the first Bnode in the source data center and attach the source network volume.
- Deploy the second Bnode in the target data center and attach the target network volume.
- Start the web terminal in both Bnodes.
2
Set up SSH keys on the source Bnode
On the source Bnode, install required packages and generate an SSH key pair:Copy the public key that appears in the terminal output.
3
Configure the destination Bnode
On the destination Bnode, install required packages and add the source Bnode’s public key to In the editor that opens, paste the public key you copied from the source Bnode, then save and exit (press
authorized_keys:Esc, type :wq, and press Enter).The command above also displays the rsync command you’ll need to run on the source Bnode. Copy this command for the next step.4
Run the rsync command
On the source Bnode, run the The
rsync command from the previous step. If you didn’t copy it, you can construct it manually using the destination Bnode’s IP address and port number.rsync command displays progress as it transfers files. Depending on the size of your data, this may take some time.5
Verify the transfer
After the The destination Bnode should show similar disk usage to the source Bnode if all files transferred successfully.
rsync command completes, verify the data transfer by checking disk usage on both Bnodes: