Storage
EcoLink offers two kinds of persistent storage. Both attach to GPU instances at launch (and some kinds can attach to user inference instances too).
| Kind | Backing | Access pattern | Good for |
|---|---|---|---|
| Cloud Drive | Ceph RBD block storage | One instance at a time | Your personal dev environment — notebooks, checkpoints, datasets tied to one box |
| Shared Filesystem | CephFS (network filesystem) | Many instances simultaneously | Team datasets, shared model weights, files multiple instances need |
Both bill per GB per month, prorated daily. The per-GB rate is shown in the storage page of the console.
Cloud Drives
Create one
- Console → Storage → Cloud Drives → Create.
- Fill in:
- Name — friendly label, must be unique within your account
- Size (GB) — 1 GB minimum, no fixed max (practically capped by the region's storage quota)
- Region — must match the instance you'll attach it to
The drive is created in status pending, transitions to available within a minute or two (the PVC is being provisioned in the regional K8s cluster).
Attach at launch
In the GPU instance launch dialog, under Cloud Drives:
- Pick an existing available drive from the dropdown (must be same region as your instance), OR
- Create a new drive inline by filling in name + size
Then set a mount path — absolute Unix path where the drive will appear inside the container. Conventions:
/workspace— general-purpose dev area/mnt/data— datasets/home/user/notebooks— Jupyter-friendly
Up to 8 drives per instance.
Detach
Cloud drives auto-detach when the instance terminates. The drive stays in your account in available status — attach to a new instance anytime.
Delete
Console → Storage → Cloud Drives → click the drive → Delete. Only detached (available) drives can be deleted. Deletion is permanent — contents are lost.
Shared Filesystems
Create one
- Console → Storage → Shared File Systems → Create.
- Fill in name, size, region, and a default mount path (e.g.,
/shared).
Shared filesystems use CephFS under the hood — multiple pods in the same region can mount it read-write concurrently, with proper file locking.
Attach at launch
Same flow as cloud drives, but one shared filesystem can attach to many instances at once. The mount path set per-instance can override the default.
Example team workflow:
- Alice creates a
team-datasetsshared filesystem (100 GB) in one of the available regions, mount path/shared. - Alice launches an instance with
team-datasetsattached, downloadsimagenet.tarinto/shared/imagenet.tar. - Bob and Carol launch their own instances, each attaching the same
team-datasets. They all see/shared/imagenet.tarwithout needing to re-download.
Concurrency notes
- Reads: concurrent, no coordination needed.
- Writes to different files: concurrent, fine.
- Writes to the same file from multiple instances: file-lock semantics apply. Most POSIX patterns work; don't expect SQL-database-grade ACID.
Using drives from user inference instances
User inference instances can also attach shared filesystems (useful for loading model weights from a shared location rather than re-downloading per instance). See Launching an inference instance.
Cost control
- Delete drives you no longer need. Empty-but-allocated drives still bill.
- Right-size. A 100 GB drive costs $10/month whether it's 5% or 95% full — don't over-allocate.
- Shared filesystems are cheaper overall if many instances need the same data (one copy, one bill).
Billing details
Storage is charged daily at per-GB-month-rate ÷ 30, per GB. Partial days are charged at the full daily rate (you're billed at the UTC day boundary). If balance goes to $0, storage resources are suspended (the data is still there; it's just not attached to any running instance until your balance recovers).