# Volumes

Extra storage that outlives your machines: mounted at /mnt, billed on the data it holds, apart from the machine's own disk.

## Two kinds of storage

| | Machine disk | Volume |
|---|---|---|
| What it is | The machine's own disk, `/workspace` included | Extra storage, mounted at `/mnt` |
| What it costs | Part of the GPU price | $0.15 per GB-month of data it holds, charged daily |
| How long it's kept | Deleted with the machine | Until you delete it |
| Speed | Local disk, the fastest | Network storage: good for loading and saving, slower for many small reads |

## Make one and use it

1. In the **Rent** sheet, pick **New volume…** under **Volume** and name it, or make one first on **Volumes**.
2. The machine starts with the volume at `/mnt`. Keep datasets, weights and checkpoints there.
3. The machine keeps that volume until it's removed. One volume can be on several machines at once: they all see the same files, and the last write wins.

Machines marked **No volume** in **Find GPUs** can't mount one, and the sheet says so. A volume can't be deleted while a machine has it mounted.

## What it costs

- **$0.15 per GB-month** of data the volume holds. It's measured once a day and charged daily from your balance, so 100 GB kept for a month costs $15, and an empty volume costs nothing.
- **Reads are included** up to the data the volume holds, each month: a volume holding 100 GB includes 100 GB of reads. Writing to it is always included.
- Reads well beyond that may be charged at **$0.10 per GB**. We'll tell you before we do.
- The machine's own disk costs nothing extra: it's part of the GPU price.
- A volume's charge is owed even when the balance is short, and a new volume needs money in the account. Delete a volume you no longer need: it's charged until you do.

## Keep reads down

Every copy from `/mnt` counts as a read. Copy what a run reads over and over (a dataset, model weights) to the machine's disk once, and write results back to `/mnt` as they finish:

```sh
cp -r /mnt/datasets /workspace/
```

## From the CLI and API

```sh
arrakis volumes create --name datasets
arrakis instances create --node-id <node> --volume-id <volume id> --termination-hours 4
arrakis volumes list
```

`POST /v1/volumes` makes a volume, and `volume_id` on `POST /v1/instances` mounts it. `GET /v1/gpus?volumes=true` lists only machines that take one. `GET /v1/volumes` shows what each volume holds, what it costs a month at that, and the machines it's on.

More: [all docs](/docs.md) · [OpenAPI](/openapi.json) · [llms.txt](/llms.txt)
