When to use network volumes
Consider using network volumes when you need:- Persistent data that outlives compute resources: Your data remains accessible even after Pods are terminated or Serverless workers stop.
- Shareable storage: Share data across multiple Pods 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 Pod or worker, saving time, bandwidth, and reducing cold start times.
Pricing
Network volumes are billed at $0.07 per GB per month for the first 1TB, and $0.05 per GB per month after that.If your account lacks sufficient funds to cover storage costs, your network volume may be terminated. Once terminated, the disk space is immediately freed for other users, and Runpod cannot recover lost data. Ensure your account remains funded to prevent data loss.
Create a network volume
- Web console
- REST API
To create a new network volume:
- Navigate to the Storage page in the Runpod console.
- Select New Network Volume.
- Configure your 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).
Network volume size can be increased later, but cannot be decreased.
- Select Create Network Volume.
Network volumes for Serverless
When attached to a Serverless endpoint, a network volume is mounted at/runpod-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 Runpod 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.
/runpod-volume
directory. Use this path to read and write shared data in your handler function.
Writing to the same network volume from multiple endpoints or workers simultaneously may result in conflicts or data corruption. Ensure your application logic handles concurrent access appropriately for write operations.
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 Pods
When attached to a Pod, a network volume replaces the Pod’s default disk volume and is typically mounted at/workspace
.
Network volumes are only available for Pods in the Secure Cloud. For more information, see Pod types.
Attach to a Pod
Network volumes must be attached during Pod deployment. They cannot be attached to a previously-deployed Pod, nor can they be detached later without deleting the Pod. To deploy a Pod with a network volume attached:- Navigate to the Pods section of the Runpod 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 Pods are available to use with the selected network volume.
- Select a Pod 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 Pods.
Share data between Pods
You can attach a network volume to multiple Pods, allowing them to share data seamlessly. Multiple Pods can read files from the same volume concurrently, but you should avoid writing to the same file simultaneously to prevent conflicts or data corruption.Migrate files between volumes
You can migrate files from one network volume to another usingrunpodctl send
and receive
on two running Pods. Watch this video tutorial for a step-by-step walkthrough:
Network volumes for Instant Clusters
Network volumes for Instant Clusters work the same way as they do for Pods. They must be attached during cluster creation, and by default are mounted at/workspace
within each node 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 Runpod 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
Runpod provides an S3-compatible API that allows you to access and manage files on your network volumes directly, without needing to launch a Pod 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
.