Storage
The two kinds of persistent volumes on Meshive — local and network — how they're billed, how Connect works, and where encryption fits in.
Pods are disposable; volumes are not. A persistent volume keeps your data across pod stops, restarts, and re-creations. Meshive has two kinds:
| Local volume | Network volume | |
|---|---|---|
| Lives on | The pod’s own host machine (fast, direct disk) | A dedicated storage node (NFS) |
| Created | Together with a pod, in the create flow | Standalone, from Resources › Storage |
| Tied to | That one machine — the pod must stay there | Any pod in the workspace can mount it |
| Pod types | Demand pods only | Demand and spot |
| Encryption | Opt-in at creation (details) | Opt-in at creation (details) |
| Pod outputs to Assets | Harvested from watched folders | Not harvested — you manage the files yourself |
Sizes start at 10 GiB per volume, up to what the host has free. Rates are per GiB·month — see Pricing & Instances.
Connect — access without a pod
Section titled “Connect — access without a pod”A volume doesn’t need a running pod to be reachable. Connect on the volume card opens a small access channel with SSH credentials (terminal and web) so you can upload or pull data directly. Preparing the channel usually takes about a minute.
For encrypted volumes, Connect is also what unlocks the volume — and an idle countdown locks it again automatically.
What the channel is for
Section titled “What the channel is for”| Good for | Use a pod instead |
|---|---|
| Uploading and downloading files | Training and inference |
Fetching models and datasets — wget, curl, aria2c, hf download, git clone | Builds and compiling |
| Unpacking archives | Installing large packages |
| Limit | |
|---|---|
| CPU | 0.5 vCPU |
| Memory | 2 GiB |
| GPU | None |
| Space outside the volume | 1 GiB — your home folder (/root), /tmp, and anything you install with apt or pip |
The volume is mounted at /mnt/<volume-name>, and SSH sessions start there. The Connect modal shows the exact path — if you rename a volume, a channel that’s already running keeps the old path until it’s recreated.
Download straight into the volume
Section titled “Download straight into the volume”wget -P /mnt/<volume-name> <url>aria2c -x 16 -d /mnt/<volume-name> <url>hf download <repo> --local-dir /mnt/<volume-name>/<name>git clone <repo-url> /mnt/<volume-name>/<name>Caches and temporary files (Hugging Face, pip) go to /mnt/<volume-name>/.meshive-connect instead of the space outside the volume. The folder is created when you log in, counts toward the volume’s size, and is safe to delete. Pods that mount the volume see it too, but nothing in a pod uses it.
| You might see | It means | Do |
|---|---|---|
| Connection restarted — out of memory | Something in the channel used more than 2 GiB of memory | Run fewer downloads at once; do heavy processing in a pod |
| Connection restarted — more than 1 GiB written outside the volume | A download or install filled the space outside /mnt/<volume-name> — often a download into the home folder | Download into the volume, as above |
| Your SSH session dropped and installed tools are gone | The channel restarted | Reconnect and reinstall the tools — they live outside the volume |
Choosing between the two
Section titled “Choosing between the two”- Local — training scratch space, model weights next to the GPU, anything latency-sensitive. Remember it pins the pod to that machine: to move GPUs, copy the data out first (why).
- Network — datasets shared across pods, data that must outlive any single machine, spot workloads (local volumes aren’t offered on spot — they’d be lost on reclaim).